Тэги: tl;dr, жж, баттхерт, ярость быдла
Друг пошел на какие-то курсы по Java, позвал меня. Друг когда-то был моим менеджером. Я два года тоже уже не кодил, в описании курсов значится некий «продвинутый уровень j2ee», думаю нехай мозги проветрю. Ведет крупная (по местным меркам) компания.
В переписке с организаторами курса выяснилось, что им не хочется тратить время на кого попало, поэтому сказали «перед записью нужно пройти тест, состоящий из математических задачек. НИКАКОЙ ПОДГОТОВКИ НЕ ТРЕБУЕТСЯ. после теста поговоришь с менеджером проекта».
было несколько непонятно, зачем такое собеседование, к которому не надо готовиться. И как это сочетается с «математичиескими задачками», к которым очевидно готовиться надо, может не один месяц.
фраза «математические задачки» вызвала взрыв пукана, потому что лет 10 не решал никаких задачек сложнее «если одна булка хлеба стоит 20 рублей, то сколько стоит 2 булки хлеба?». Я как на яву уже видел жуткие задачки про сочетания простых чисел или что-то такое. Трачу неделю на выкуривание учебника по дискретке, сайтики с олимпиадными алгоритмами и повторение всякого треша типа сортировок. Понимаю что это диагональное чтение ничего полезного не принесло, и теперь я могу решить задачки чуть сложнее - про 3 буханки хлеба вместо двух. Печаль, фрустрация.
И наконец час Ч.
Трачу 2 часа чтобы съездить на другой конец города в их офис. В офисе меня садят за компьютер с Убунтой, и заставляют решить две задачки.
Задачки открыты в БРАУЗЕРЕ. Ну капец теперь, зачем было ехать через полгода чтобы решить то, что и так можно открыть через интернет?
Дальше следует два требования:
а) задачи нужно решать без использования гугла. Причем организовано это на редкость убого: если открыть любой таб в браузере, или окно браузера теряет фокус, то тестирование прекращается. Девочка менеджер так сурово и сказала: ЧТОБЫ НЕ ГУГЛИЛИ!
б) задачи нужно решать без компилятора, и писать решение в текстовое поле прямо на страничке.
Сами задачки никакого отношения к математике, как оказалось, не имеют. Первая - написать робота, который выполняет команды L и R записанные внутри строки (перемещение вдоль числовой прямой). Вторая - два массива, в первом головы отрезков, во втором - хвосты отрезков (координаты на числовой прямой), найти пересечения.
После сдачи теста веб-страничка сказала, что они будут 2 недели его проверять и потом сообщат решение.
Я связался с эйчарами по мобильнику и попытался объяснить, что тест был слишком легкий и можно сразу переходить к делу, но мне снова рассказали тупняк про две недели проверки.
===
Теперь куча вопросов.
Начерта нужно запрещать гугл? Гугл - первейшее рабочее средство для программиста! 80% кода берется из библиотек, опенсорсных и не очень. Оставшаяся 80% кода ищется на Stackoverflow и ЛОРе. И только жалкие останки нужно писать самому. Причем тот код что пишешь сам обычно представляет собой адаптации каких-то алгоритмов из книжек, которые лежат в интернете.
Тут можно сказать, что «а если интернета нет». Думаю, если исчезнет интернет и гугл, будет множество гораздо более важных проблем, чем неспособность написать код. Для начала, как так жить, и зачем вообще так жить. Возможно, при исчезновении интернета, проще сразу сделать повдоль.
Если нужен кодер, я бы в первую очередь смотрел, как он может гуглить. И может ли, например, за пару дней выучить новую библиотеку / язык, и (с помощью гугла, конечно) написать на них реальный код.
Во-вторых, зачем писать код на листочке? Что доказывает такое умение кроме как то, что кандидат умеет писать код на листочке? Умение по бесполезности затмевающее даже «кодинг без использования гугла».
В реальности все пишут на Java в Eclipse или IDEA. И такое использование образует устойчивые навыки, которые совершенно не совпадают с бумажкой. IDE живая, IDE говорит с тобой. Мне всё равно дали компьютер с Убунтой - почему бы не поставить туда хорошо настроенную Эклипсу?
Зачем нужно было врать про математические задачи и ОДНОВРЕМЕННО про отсутствие подготовки? Западло было сказать: «это будет тупой тест на безукоризненное знание синтаксиса Java, заботань его на зубок, $username!»
И вообще, если человек безукоризненно знает синтаксис настолько, что может писать текст из головы на бумажке, может он до этого хачил на джаве несколько лет? Тогда начерта ему идти на курсы по Java, если он и так уже знает Java?
Почему в системе тестирования не предусмотрена автоматическая проверка кода, как на олимпиадах? И поэтому несчастные живые люди должны проверять куски кода по две недели? Это такая пытка для провинившихся кодеров - вручную всё проверять?
Почему, черт возьми, вместо того, чтобы тратить 2 часа моего времени, и сопоставимое количество у кадровиков, не поговорить 15 минут по скайпу и всё перетереть?
Не могу понять, то ли я неадекватен, то ли они там все поехавшие. Если они поехавшие, то может с ними не стоит связываться, а то покусают... Как думаете, товарищи?