Как определить молодых программистов с высоким потенциалом?

SE Factory - это интенсивный учебный курс по веб-разработке, который работает с февраля 2016 года в Бейруте, Ливан. В отличие от других учебных курсов для начинающих, наша миссия - не только обучать методам веб-разработки. Фактически, мы приняли режим работы, ориентированный на экосистему Ливана, чтобы решить очень специфическую проблему на нашем рынке.

Ливанские университеты выпускают до 4000 студентов, изучающих информатику каждый год. Учитывая, что по состоянию на 2013 год в цифровом секторе Ливана ежегодно открывалось 5000 рабочих мест, можно было бы ожидать, что уровень безработицы будет ближе всего к 0%. Однако это не так! После более тщательного наблюдения и получения отзывов от местных компаний мы поняли, что большинство выпускников не обладают техническими навыками высокого уровня и навыками общения, которые требуются работодателям. В результате сотни выпускников трудоустраиваются на посторонние должности, а другие уезжают из страны.

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

Программа бесплатна для студентов. Они платят символическую плату в размере 100 долларов за все 3 месяца. SE Factory финансируется за счет спонсорства и грантов и является частью некоммерческой инициативы. Взимание студентами высоких затрат на обучение противоречит нашей миссии по повышению доступности технического образования в стране.

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

Как выглядит наш процесс найма?

Шаг № 1 - Онлайн-заявка

Мы начинаем с длинного онлайн-заявления, которое должны заполнить все потенциальные студенты. Вопросы самые разные, от личных до технических. Цель этого приложения - собрать данные по 3 показателям:

  1. Понимание миссии программы: кандидатам важно иметь хотя бы общее представление о цели программы. Мы поделились всей необходимой информацией о SE Factory по 3 основным каналам: на нашем веб-сайте, на нашей странице в Facebook и в сторонних онлайн-публикациях. Мы должны убедиться, что кандидат провел определенное исследование перед подачей заявки.
  2. Базовые письменные коммуникативные навыки и знание английского языка: наша учебная программа преподается на английском языке, языке мира высоких технологий. В наших ливанских школах он преподается как второй язык, в то время как большинство университетов принимают его в качестве основного.
  3. Энтузиазм: Кандидаты должны проявить некоторый энтузиазм при подаче заявки на участие в нашей программе. Этот энтузиазм, обычно проистекающий из определенного стремления, является изначальным для студентов, чтобы они могли прожить все 3 месяца, не ломаясь, не бросая и не перегорая.

Мы проверяем каждое приложение, изучаем все мельчайшие подробности. Грамматические и синтаксические ошибки смертельны и, как правило, приводят к немедленной дисквалификации.

Шаг # 2 - Личное интервью

Каждое собеседование длится около 30 минут, во время которого рассматриваются и выставляются оценки поведенческие, технические и личные вопросы. Во время этих собеседований мы выставляем субъективную оценку каждому кандидату по 7 основным направлениям:

  1. Устное общение. Может ли кандидат с легкостью правильно донести свои идеи? Может ли она говорить по-английски со знанием дела? Понимает ли она наши вопросы и правильно ли на них отвечает? Ставится оценка от 0 до 5.
  2. Технические навыки: мы встречаем много кандидатов, у которых нет портфолио побочных проектов (что считается плюсом для нашей цели), поэтому мы спрашиваем их об их проектах на последний год и / или конкретных курсовых проектов, и мы углубляемся в детали. Чем дальше мы углубимся в вопросе соискателя, тем выше будет оценка.
  3. Базовые / теоретические знания: Мы не можем не подчеркнуть важность наличия глубокого понимания основных тем компьютерных наук. Нет, знание синтаксиса 5 языков программирования не так важно, как понимание анализа сложности, проектирования языков программирования и парадигм , Структуры данных, Теория баз данных, некоторый уровень дискретного Математика, логика, операционные системы и т. Д. Каждому кандидату предлагается до 3 или 4 вопроса по любой из вышеперечисленных тем, которые оцениваются на основе их ответов.
  4. Энтузиазм: мы снова измеряем уровень энтузиазма во время личного собеседования. Взволнован ли кандидат возможностью? Насколько сильно они хотят присоединиться к нашей программе? Мы обнаружили, что этот фактор настолько важен (наряду с некоторыми другими чертами характера), что мы иногда придаем ему большее значение, чем технические и / или фундаментальные знания при принятии решений.
  5. Соответствие: дает ли кандидат конкретные ответы на наши вопросы? Соответствуют ли они нашим правилам проведения собеседований? Часто ли они расходятся и отвлекают тему, чтобы не отвечать? Они прибыли вовремя? Наша программа очень строгая и требует высокого уровня личной дисциплины, а ее соблюдение является хорошим показателем способности соискателя адаптироваться к нашей интенсивной среде.
  6. Осведомленность: Лучшими кандидатами, добившимися значительного прогресса на протяжении всей нашей программы, являются те, кто на раннем этапе осознал пробелы в своих знаниях и определили с приличным уровнем точности свою текущую ситуацию. Это критически важно для нас и для них, чтобы развить свой путь прогресса. Не понимая своих недостатков, невозможно их исправить.
  7. Критическое мышление. Это, вероятно, самая сложная категория для количественной оценки. Тем не менее, мы задаем некоторые хитрые вопросы и даем кандидату рекомендации относительно некоторых наших ожиданий от ее ответа. Мы не ищем точного ответа, нас больше интересует сам процесс.
  8. Субъективная оценка. Наконец, каждый кандидат получает субъективную оценку интервьюера с таким же весом, как и все вышеперечисленные области. Цель этой оценки - позволить интервьюеру учесть свои чувства и нюансы, не поддающиеся количественной оценке, по поводу интервью.

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

Шаг № 3 - Техническая задача

Это последний этап нашего собеседования. Технический тест - это практическое задание с тремя важными характеристиками:

  1. Задание должно быть выполнено на языке программирования, который кандидат должен выучить (мы выбираем язык, который, как мы уверены, кандидат не знает) в течение срока, который мы выделить для задачи.
  2. Решение должно быть скомпилировано, должно быть написано в меру возможностей кандидата и отправлено даже если оно неполное.
  3. Кандидат должен рассматривать решение как приоритет номер 1 в течение срока, отведенного для оспаривания.

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

Как только мы получаем заявки, каждое решение тщательно проверяется и оценивается по следующим критериям:

  1. Базовый стиль кодирования: правильный отступ, описательные комментарии / переменная / функция / класс и именование файлов, использование CamelCase или snake_case в именах переменных и функций, но определенно не гибрид.
  2. Дизайн решения и его элегантность. Насколько эффективен код? Можно ли его оптимизировать? Это работает? Решает ли это данную проблему?
  3. Соблюдение рекомендаций и правил. Соблюдал ли кандидат наши правила?

Шаг № 4 - Принятие решения

На основе шагов №1, №2 и №3 принимается решение либо принять, либо отложить заявку до следующего раунда. Мы не отклоняем ни одного кандидата.

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

Некоторые цифры на сегодняшний день

  • Всего мы отобрали 173 кандидата в течение 3 циклов.
  • 35 человек были допущены к нашей программе, что привело к показателю принятия ~ 20%
  • 3 из 24 претендентов (из циклов №1 и №2) выбыли.
  • 18 из 21 получили предложения о работе на полную ставку в качестве инженеров-программистов, инженеров по автоматизации, мобильных разработчиков и внутренних разработчиков от местных компаний в течение 2 месяцев с даты выпуска. до уровня трудоустройства 85%
  • Во время цикла № 2 из 16 принятых претендентов 6 были молодыми и очень способными девушками.
  • Мы принимали кандидатов из 10 различных ливанских университетов, включая, помимо прочего: Ливанский университет, Ливанский международный университет LIU, Американский университет науки и технологии AUST, Американский университет Бейрута AUB, Ливанский американский университет LAU, Университет Нотр-Дам NDU, Бейрут Арабский университет BAU, Арабский открытый университет AOU, Университет искусств, наук и технологий в Ливане, AUL.

Цикл № 3 начался 23 января 2017 года, и мы с нетерпением ждем возможности научиться у этих удивительных дам и джентльменов столько же, сколько они учатся у нас!

Спасибо, Константин Николау, за то, что прочитали черновик этой статьи.