{"id":14290,"url":"\/distributions\/14290\/click?bit=1&hash=bece6ae8cf715298895ba844b6416416882fe02c5d18dab2837319deacd2c478","title":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u043a \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u043d\u044c\u0448\u0435 \u0445\u043e\u0442\u044f\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u0447\u0430\u0442\u044c \u0441 \u043c\u0430\u043b\u044b\u043c \u0431\u0438\u0437\u043d\u0435\u0441\u043e\u043c","buttonText":"","imageUuid":""}

«Вместо того чтобы выращивать профессионалов, они ноют в подкастах»: мнение разработчика о найме в компаниях Статьи редакции

Они доверяют сортировку резюме алгоритмам, не верят, что соискатели способны учиться, и мало платят. Пересказ колонки фулстек-разработчика Тэйлора Куна.

В апреле 2021 года разработчик Тэйлор Кун заметил в профессиональных кругах тенденцию: технологические компании готовы активно нанимать программистов, но не могут их найти. Они считают, что причина в дефиците квалифицированных кадров.

Сам разработчик полагает, что дело не в соискателях, а в том, как работодатели их ищут — и выделяет четыре наиболее острые проблемы.

1. Компании автоматически фильтруют резюме

При сортировке резюме компании используют фильтры, чтобы отсеять профили, в которых нет нужных им ключевых слов. Но полагаясь на автоматизацию, они сужают пул потенциальных сотрудников, считает Кун. По его словам, алгоритмы не совершенны — даже самые передовые системы для обработки естественного языка по-прежнему нуждаются в доработках.

Работодателям стоит отбирать больше резюме вручную, беседовать с разработчиками лично, а также поверить в то, что кандидаты с небольшим опытом способны учиться. Последние, по словам Куна, могут откликнуться на 5000 вакансий, но получить при этом менее десяти ответов.

2. Поверхностно оценивают соискателей

Работодатель не верит, что соискатель может учиться и адаптироваться

На протяжении долгих лет Кун программировал на разных языках, среди которых Rust, Typescript, Ruby, Haskell, Assembly и C#, и пробовал себя в различных сферах: разрабатывал сайты, игры, облачные системы и алгоритмы, а также занимался машинным обучением.

Разработчики в принципе редко работают с одним языком, заключает Кун, и в силах быстро освоить любой другой, поскольку большинство из них похожи друг на друга или поддерживают широко известные парадигмы — например, функционального программирования.

Несмотря на это, все они (как и сам Кун) по-прежнему получают отказы: компании требует от разработчиков десятилетнего опыта работы с определённым языком программирования. Подобный подход автор сравнивает с экономической теорией «погони за рентой»: они отсеивают часть потенциальных кандидатов, полагая, что те не способны учиться и адаптироваться, а значит, и приносить прибыль, пишет он.

По мнению разработчика, если такой подход и не потопит компанию, то точно заставит других надеяться, что она потонет.

Работодатель задаёт вопросы, а должен — давать задачи

На собеседованиях руководители просят соискателей объяснить узкие термины, однако ответ на вопрос или его отсутствие мало что расскажут о навыках кандидата, считает Кун.

Вместо этого работодатели должны давать соискателям практические задачи и все доступные инструменты для их решения — в том числе возможность обратиться за помощью к ним самим.

Например, предложить создать компьютерную версию настольной японской игры «Го» и использовать алгоритм заливки. Так работодатель сможет оценить навыки и перспективность кандидата, который, возможно, задачу и не решит, но зарекомендует себя в процессе.

Так выглядит игра «Го». Её цель — захватить как можно больше камней противника и территории Ирина Смирнова

Работодатели скептически относятся к младшим специалистам

Кун отмечает, что старшие сотрудники нередко плохо отзываются о младших из-за невежества и неуверенности в собственных силах. То, что некоторые разработчики пользуются чужими скриптами и приложениями, чтобы быстрее достичь результата, не значит, что они неопытные и не умеют «по-настоящему программировать», как полагают руководители.

Можно нанять даже младшего разработчика с двухлетним опытом в JavaScript и уже через пару месяцев получить от него пользу, верит Кун.

3. Компании не инвестируют в образование

Образование дорожает и становится менее доступным среднестатистическому жителю. А те, кто может себе его позволить, видят в нём всё меньше практической пользы, отмечает разработчик.

Раньше фирма могла нанять сотрудника без образования и покрыть полную стоимость его бакалавриата. Благодаря этому приятель Куна выучился, а позже изобрёл и запатентовал несколько гироскопов, а также получил докторскую степень в Массачусетском технологическом институте.

Сейчас же лидеры рынка выделяют на образование сотрудника максимум $10 тысяч. Например, сеть Starbucks однажды предложила Куну лишь $8000 в год.

Образование — привлекательная отрасль для инвестиций, однако вкладываться в неё технологические компании не спешат, пишет Кун.

По его словам, они много говорят об инновациях, но в сфере образования их не предлагают: «Вместо того чтобы рассказать, какие новаторские подходы компании использовали, чтобы взрастить профессионалов, они ноют в подкастах и удивляются упадку в других областях, владея при этом существенной долей мирового богатства».

4. Компании мало платят

Работодатели щедро платят кадровым агентствам, но при этом предлагают низкие зарплаты сотрудникам, пишет Кун. Соискатель вряд ли переедет в Сан-Франциско, чтобы работать ведущим разработчиком за $70 тысяч в год, не владея при этом долей в компании.

Стремиться платить людям как можно меньше — значит воспринимать сотрудника исключительно как наёмную рабочую силу, приносящую прибыль, а не порядочно вести бизнес.

Тэйлор Кун

Кун приводит в пример одного из своих бывших технических руководителей: у того не было десяти лет опыта, однако это не мешало ему «нести на себе весь проект» и решать любые, даже ранее не встречавшиеся ему задачи, вспоминает разработчик. При этом долю он получил лишь после года работы, хотя руководству следовало сделать это в первый же день, считает он.

Программисты с десятилетним же опытом работы должны получать около $300 тысяч в год, что, по его словам, не много для технологических гигантов. Впрочем, стимулировать стоит и младших сотрудников, говорит Кун: их годовая зарплата в среднем составляет $50–70 тысяч в год, но должна повышаться соразмерно пользе, которую они приносят.

0
506 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Bulat Ziganshin
лучше попросить кандидата решить конкретную задачу, а не просить вспомнить математическую формулу

внезапно фаанги именно так и делают :))

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
СлавалС

Как же задолбали эти алгоритмисты, с АВЛ деревьями графами и прочей дичью.
Большинство проектов, это какие-то бизнес-level приложения, где никакие алгоритмы особо и не нужны кроме понимания различий O(1) O(logN) O(N) O(N^2) .
Но 100500 раз я сталкивался с кодом, когда предельно ясно что делает код, но вообще непонятно для чего делают это действие в этом месте. Когда в приложении нет компонетизации, когда не разделены интерфейсы взаимодествия, когда отсуствуют хоть какие-то слои с разделением логики.
И на поддержку такого кода уходит ВАГОН времени и если бы вот этот простой код был написан хорошо, за свободное время можно эти алгоритмы выдрочить вдоль и поперек.
Алгоритмы действительно нужны если человеку предстоит их писать и с ними работать: видео наблюдение, AI, ML какие-то кастомные поисковики.
А если уж разработчик более менее с головой, то освоить алгоритмы по графам и деревьям не так уж и сложно.

Ответить
Развернуть ветку
Alexander Belousov

Так и есть, друг рассказал историю как бывший разработчик в его компании оставил наследство в виде неподдерживаемого приложения, но это не помешало этому разработчику устроиться в Фейсбук :)

Ответить
Развернуть ветку
Bulat Ziganshin

алгоритмические задачи позволяют проверить насколько хорошо человек умеет думать, фактически это тест IQ. не зря раньше вообще про гномиков спрашивали

просто надо понимать что у фаангов совсем другие критерии приёма, чем у мелких компаний

Ответить
Развернуть ветку
СлавалС

А есть доказательство, что умение писать алгоритмы эквивалентно IQ? Я вот более чем уверен, что любой относительный олимпиадник по программированию быстрее меня решит задачу и про гномиков и про всякие обходы графов и прочее.
Но я совсем не уверен, что данный гражданин оптимальным способом решит конкретную проблему. Более того я видел людей "тугодумов", которым надо некоторое время, чтобы обмозговать задачу/процесс в фоне, чтобы получить оптимальное решение. И алгоритмические интервью скорее всего отсеит такого гражданина, хотя на проекте он будет показывать весьма хорошие результаты.
И потом как отличить человека, у которого есть опыт в алгоритмах, то того у кого высокий IQ? Кроме того я знаю людей, у которых IQ тест покажет 90 -100 баллов, но открытый вопрос будет решен куда оптимальнее с точки зрения людей и ресурсов, чем у какого-нить гражданина с IQ 140.
Более того, IQ тесты это как правило вопросы с ограниченной областью: т.е. надо найти зависимость,  а например в программировании часто бывает так, что надо создать что-то с пустого места, при этом умело обходить всевозможные препядствия и трансформировать ошибочные решения.

PS а это вы автор архиватора FreeArc? Если да, то скорее всего тема алгосов вам близка, т.к. специфика  архиваторов все таки сопряжена с оптимальностью именно в алгосах, а зависимостей на внешние компоненты невелик, если сравнивать с энтерпрайз системами.
И конечно если брать гражданина на софт который что-то жмет, то без алгосов там вообще никуда, ибо специфика. Но в 95% ынтерпрайзного софта знание алгоритмов вообще нафиг не надо.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
СлавалС

Мне кажется есть некий карго культ алгосов, когда гугл нанимал по ебнутым задачам, как про люки или про шары в автобусе, потому что граждане писали поисковик и там естественно без этого просто никуда, ибо специфика такая.
А все остальные следуют по принципу, это же сам великий гугл так нанимает, значит мы должны нанимать также и никого не ебет, что контора занимается какой-нить автоматизацией или пилит какой-то сервис/проект где основная сложность это понять что надо клиентам, сделать это оптимально, быстро, а главное поддерживаемо для будущих изменений.
И максимум что надо знать это как работают ассоциативные коллекции. Но при этом разработчик должен понимать чем плохой дизайн отличается от хорошего. Кто его софтом/компонентом пользуется, как пользуется, какие проблемы возникают у клиентов. Какие проблемы возникают с дизайном, какие проблемы были решены. Как гражданин взаимодействует с командой и другими командами, как хорошо умеет разбираться в чужом коде и понимать нахера все так написано.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
503 комментария
Раскрывать всегда