В 1980-х годах самая ранняя работа в области компьютерного программного обеспечения была довольно простой. Со временем число разработчиков программного обеспечения значительно выросло, но очень немногие признаны выдающимися навыками. Подбор инженеров-программистов может быть очень сложным, потому что компаниям нужны лучшие. Компании придерживаются строгих стандартов собеседования посредством требовательных тестов кода и строгих процессов для достижения успеха. Эти методы подходят для бизнес-целей, хотя некоторые кандидаты утверждают, что не хотят, чтобы собеседования были такими сложными. Я один из тех людей.

Типичный процесс собеседования с разработчиком программного обеспечения

Все начинается с рекрутера. Они протягивают руку, и вам даже не нужно подавать заявку. Это единственная часть, которая мне действительно нравится. Все остальное довольно ужасно.

Чтобы рекрутер нашел вас, у вас должна быть оптимизированная страница LinkedIn. Именно здесь рекрутеры в основном ищут разработчиков. Что, если вы цените свою конфиденциальность? Им на это наплевать. К счастью, есть промежуточный период, когда LinkedIn позволяет сделать ваш профиль закрытым и видимым только для рекрутеров.

Как только вы поймете, как оптимизировать свой профиль в LinkedIn, и сделаете себя доступным, рекрутеры свяжутся с вами для поиска вакансий. Скрининг довольно прост, поскольку большинство рекрутеров не очень хорошо знакомы с тем, что вы будете делать. У них просто есть пара вопросов, которые компания могла бы задать вам, и все. Если вы сможете ответить на них, вас, скорее всего, представят. Они больше заботятся о вашей внешности, чем о ваших навыках, если вы дошли до этой точки процесса.

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

На следующем этапе стили интервью начинают различаться. Пригласят ли они вас или сделают еще один звонок в Zoom, зависит от компании. Здесь они пойдут на техническое собеседование. У меня было интервью с компанией, где я мог вспомнить 45 вопросов, которые компания задавала мне. Это были 45 технических вопросов интервью. Я провел с компанией 2 часа, прежде чем перейти к следующему этапу.

Вот где компании начинают действительно различаться. Некоторые дадут домашнее задание, а другие могут пригласить вас на третье собеседование. Домашние задания обычно занимают от 90 минут до 6 часов. Они рассчитаны по времени.

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

это чрезмерно

Вы должны потратить добрых 8+ часов своего времени на собеседование. Я даже пытался настаивать на изменении процесса собеседования, заявляя: «Смотрите, у меня есть более 50 проектов, которые мы можем рассмотреть, и я могу рассказать о своих причинах этого. Все это связано с типом работы, на которую меня пытаются нанять».

Ответ обычно примерно такой: «Нет, давайте пойдем на codewars.com и решим там [глупую] проблему». Они не говорят тупой, но обычно так оно и есть.

с меня довольно

В конце концов, я начал отказываться продолжать процесс собеседования, когда компания начала проверять вас на алгоритмы и головоломки. Мне смешно это говорить, учитывая, что я написал книгу по алгоритмам. Кстати, я даже пытался показать им, что «можно просто дать вам книгу, которую я написал по алгоритмам?» Ответ… «кодовые войны…»

Итак, что случилось? Что ж, процесс интервью остановится. И скатертью дорога. У них достаточно кандидатов и, по-видимому, достаточно терпения, чтобы продолжать работу.

А потом случается, что компания говорит: «Мы согласны. Мы ознакомились с вашим портфолио и хотим продолжить работу над чем-то немного другим. Давайте пройдемся по одному из ваших проектов». Или: «Звучит хорошо. Вот дизайн UI/UX. Как бы вы построили это? Расскажите нам о своем образе мыслей».

Младшие и старшие разработчики

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

В чем проблема?

Проблема в том, что эти интервью носят технический характер. HR или ваша команда по найму обычно не могут понять, какие вопросы задавать. Поэтому они идут к разработчикам. Чем старше разработчик, тем больше он может оценить способности человека, просто поговорив с ним. Я говорю о разработчиках с опытом разработки программного обеспечения не менее 10 лет.

Те, у кого 5–8 лет опыта, еще достаточно свежи, чтобы загадывать загадки. Они все еще находятся на этапе испытаний, где должны показать всем, насколько они умны.

Возможное решение

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

Чем больше у них опыта в этом, тем проще становится процесс. Эти кадровые агентства должны иметь специализированный персонал, который может оценивать пошаговые проекты. Затем рекрутеры могут задавать разумные вопросы и оценивать реакцию человека.

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

Другой вариант — попросить разработчика подробно рассказать вам, как он будет создавать приложение на основе дизайна UI/UX. Вы сможете увидеть, насколько они красноречивы, насколько хорошо они задают вопросы, насколько хорошо они разбираются в конкретном языке программирования и даже в развертывании.

Заключение

Если вы нанимаете на руководящую должность, можем ли мы уважать этих людей настолько, чтобы задавать им вопросы высшего уровня? Эти люди работают каждый день, а не изучают алгоритмы колледжа ради развлечения. Давайте вернём некоторые оценки реальных сценариев в процесс собеседования с разработчиком.

Дино Кайич в настоящее время является руководителем отдела информационных технологий в компаниях LSBio (LifeSpan BioSciences, Inc.), Absolute Antibody, Kerafast, Everest BioTech, Nordic MUbio и Exalpha. Он также является генеральным директором MyAutoSystem. Он имеет более чем десятилетний опыт разработки программного обеспечения. У него есть B.S. в области компьютерных наук и несовершеннолетнего в области биологии. Его опыт включает в себя создание приложений для электронной коммерции на уровне предприятия, разработку программного обеспечения на основе исследований и содействие распространению знаний посредством письма.

Вы можете связаться с ним в LinkedIn, подписаться на него в Instagram или подписаться на его публикацию в Medium.

Прочитайте все истории Дино Каджика (и тысяч других авторов на Medium). Ваш членский взнос напрямую поддерживает Дино Кайича и других писателей, которых вы читаете. Вы также получите полный доступ ко всем историям на Medium.