Естественный отбор:
как из 100 таксистов
получить 2 программистов
2015-2016
Абак-Пресс, highload web
+ fintech, p2p lending
2011-2015
Eastwind, R&D, highload telecom
2006-2011
Eastwind, программист c#/sql, PM
CTO, PMP
Школа разработки,
предыстория..
Тяжелый случай:
● Ruby on Rails
● hh.ru пустой
● Культура “спецназа”
● Хотим вырасти x2
Поехали! Как это было...
1.Материал EDX на 3-4 мес.
○ SQL-оптимизация
○ паттерны, алгоритмы…
1.Разместили вакансию
○ 2 нед = 100 резюме
○ 30 читали, 10 позвали
Что мы предлагали людям?
Этап 1 Этап 2 Junior
в начале
2 мес.
следующие
1.5 мес.
следующие
6-12 мес.
Изучаем:
● Инструменты tester
● http
● sql
● ruby (c#, py)
● git
● linux
● algo/struct
Изучаем
● ruby on rails
● postgres
Боевая задача:
● развертывние
проекта
● отчет
Изучаем
● Redis
● Sphinx
Приехали...
Итог: 3 группы
x 4 студента = 12 студентов
○ 1-3 мес: учеба
○ 4-6 мес: боевой отчет
(Rails MVC, SQL, Resque)
○ в конце - решение
через полгода: junior = 750K
Экономика
Что влияет на стоимость?
отсев 60% - % отсева студентов
t-курса 6м - длительность курса
t-отсева 4,8м - среднее время
принятия решения
junior 750K - стоимость Junior
4,8 мес. x 25K стипендия = 120K
+180K ушедшим т.к. отсев 60%
+450K постояные накладые x 2.5
= 750K
3 шага оптимизации экономики
отсев 60% - хотим 40%
t-курса 6м - хотим 3-4м
t-отсева 4,8м - хотим 1.5-2м
Как сократить отсев?
Поднять входную планку!
Как мы отбираем кандидатов?
отбор лучших заявок 100->20
вакансия e1/hh.ru, google-анкета + задачка
портрет: максимум опыта, максимум свободного времени
очное тестирование 10->4
английский, интеллект,
своя игра: http, linux, git, SQL, Ruby/ООП, Algo/struct
skype screening интервью 20->10
знакомство, мотивация, взаимный интерес
Успешный портрет - человек ракета
Мужчина 34 года
УПИ, радиофак, ВКМСС
2 года, Complex-S.
Программист Delphi, Python
6 лет, Targem Games.
Скриптование игровой логики,
уровней
Прошел школу за 1.5 мес!
Какие приходят кандидаты
По какой специальности вы получили образование
Какие приходят кандидаты
Какую операционную систему вы используете дома
Какие приходят кандидаты
Есть ли у вас опыт участия в завершенных
коммерческих проекта в роли разработчика?
Что дает снижение отсева на 20%
4,8 мес. x 25K. + отсев 60% x 2.5 накладные = 750K
4,8 мес. x 25K + отсев 40% x 2.5 накладные = 500K /-33%
Как сократить время курса?
Убрать курс спецназа (оптимизация SQL, patterns, алгоритмы)
4 темы на самоподготовку 1 мес.(http, git, linux, sql)
Сначала давать баги
Что дает сокращение курса?
4,8 мес. x 25K + 60% отсев x 2.5 накладные = 750K
4,8 мес. x 25K + 40% отсев x 2.5 накладные = 500K / -33%
3,5 мес. x 25K + 40% отсев x 2.5 накладные = 292K / -42%
Как раньше принять решение?
Опираться на сроки
Быстрее давать задачи
Оценивать средние 80%
Система оценок для средних 80%
1 нед 2 нед 3 нед 4 нед
ФИО
Домашняя
подготовка
git http linux SQL В команду зачеты ruby1 ruby2
настройка
проекта
синт.
задача
Оценка ПМ
Удачин
Иван
01.04.2016 4 4 5 4 12.05.2016 OK 5 4 5 5 5
Быстров
Артем
01.04.2016 5 5 4 4 12.05.2016 OK 4 3 4 - fired
5 нед 6 нед 7 нед 8 нед 9 нед 10 нед 11 нед 12 нед
ФИО
Стартовые
задачи
Стартовые задачи
Оценка ПМ
+наставник
Стартовые задачи
Тест по
проекту
Аттестация В отдел
Удачин
Иван
10.06.2016 11.07.2016 10.08.2016 10.06.2016
Быстров
Артем
- - - - - - - - - - - - -
Что дает принятое раньше решение?
4,8 мес. x 25K + 60% отсев x 2.5 накладные = 750K
4,8 мес. x 25K + 40% отсев x 2.5 накладные = 500K /-33%
3,5 мес. x 25K + 40% отсев x 2.5 накладные = 292K /-42%
1,75 мес. x 25K + 40% отсев x 2.5 накладные = 182K /-38%
снижение
стоимости
4,1 раза!
Почему 182K нам нормально
● Цикл работы больше
● Первый год ЗП ниже
● Фокус фактор выше
Почему 182K нам нормально
● Очные интервью после резюме
● Нет критериев для средних 80%
● Принятие решения в конце
● Домашнее обучение < 1 мес
● Академическая программа
● Культура команды
Вымученные уроки
Итог 2015
Принято: 29
Не прошло: 15
Выпущено в проект: 14
Разработчиков: 9 (против 13 с рынка) / 40%
Тестеров 5: (против 6 с рынка) / 45%
Ruby, ObjectiveC, front-end, test, PM
@akarabasov
www.facebook.com/akarabasov

Естественный отбор: как из 100 таксистов получить 2-х программистов и не остаться без штанов? Александр Карабасов, Абак Пресс

  • 1.
    Естественный отбор: как из100 таксистов получить 2 программистов
  • 2.
    2015-2016 Абак-Пресс, highload web +fintech, p2p lending 2011-2015 Eastwind, R&D, highload telecom 2006-2011 Eastwind, программист c#/sql, PM CTO, PMP
  • 3.
    Школа разработки, предыстория.. Тяжелый случай: ●Ruby on Rails ● hh.ru пустой ● Культура “спецназа” ● Хотим вырасти x2
  • 4.
    Поехали! Как этобыло... 1.Материал EDX на 3-4 мес. ○ SQL-оптимизация ○ паттерны, алгоритмы… 1.Разместили вакансию ○ 2 нед = 100 резюме ○ 30 читали, 10 позвали
  • 5.
    Что мы предлагалилюдям? Этап 1 Этап 2 Junior в начале 2 мес. следующие 1.5 мес. следующие 6-12 мес. Изучаем: ● Инструменты tester ● http ● sql ● ruby (c#, py) ● git ● linux ● algo/struct Изучаем ● ruby on rails ● postgres Боевая задача: ● развертывние проекта ● отчет Изучаем ● Redis ● Sphinx
  • 6.
    Приехали... Итог: 3 группы x4 студента = 12 студентов ○ 1-3 мес: учеба ○ 4-6 мес: боевой отчет (Rails MVC, SQL, Resque) ○ в конце - решение через полгода: junior = 750K
  • 7.
  • 8.
    Что влияет настоимость? отсев 60% - % отсева студентов t-курса 6м - длительность курса t-отсева 4,8м - среднее время принятия решения junior 750K - стоимость Junior 4,8 мес. x 25K стипендия = 120K +180K ушедшим т.к. отсев 60% +450K постояные накладые x 2.5 = 750K
  • 9.
    3 шага оптимизацииэкономики отсев 60% - хотим 40% t-курса 6м - хотим 3-4м t-отсева 4,8м - хотим 1.5-2м
  • 10.
  • 11.
    Как мы отбираемкандидатов? отбор лучших заявок 100->20 вакансия e1/hh.ru, google-анкета + задачка портрет: максимум опыта, максимум свободного времени очное тестирование 10->4 английский, интеллект, своя игра: http, linux, git, SQL, Ruby/ООП, Algo/struct skype screening интервью 20->10 знакомство, мотивация, взаимный интерес
  • 12.
    Успешный портрет -человек ракета Мужчина 34 года УПИ, радиофак, ВКМСС 2 года, Complex-S. Программист Delphi, Python 6 лет, Targem Games. Скриптование игровой логики, уровней Прошел школу за 1.5 мес!
  • 13.
    Какие приходят кандидаты Покакой специальности вы получили образование
  • 14.
    Какие приходят кандидаты Какуюоперационную систему вы используете дома
  • 15.
    Какие приходят кандидаты Естьли у вас опыт участия в завершенных коммерческих проекта в роли разработчика?
  • 16.
    Что дает снижениеотсева на 20% 4,8 мес. x 25K. + отсев 60% x 2.5 накладные = 750K 4,8 мес. x 25K + отсев 40% x 2.5 накладные = 500K /-33%
  • 17.
    Как сократить времякурса? Убрать курс спецназа (оптимизация SQL, patterns, алгоритмы) 4 темы на самоподготовку 1 мес.(http, git, linux, sql) Сначала давать баги
  • 18.
    Что дает сокращениекурса? 4,8 мес. x 25K + 60% отсев x 2.5 накладные = 750K 4,8 мес. x 25K + 40% отсев x 2.5 накладные = 500K / -33% 3,5 мес. x 25K + 40% отсев x 2.5 накладные = 292K / -42%
  • 19.
    Как раньше принятьрешение? Опираться на сроки Быстрее давать задачи Оценивать средние 80%
  • 20.
    Система оценок длясредних 80% 1 нед 2 нед 3 нед 4 нед ФИО Домашняя подготовка git http linux SQL В команду зачеты ruby1 ruby2 настройка проекта синт. задача Оценка ПМ Удачин Иван 01.04.2016 4 4 5 4 12.05.2016 OK 5 4 5 5 5 Быстров Артем 01.04.2016 5 5 4 4 12.05.2016 OK 4 3 4 - fired 5 нед 6 нед 7 нед 8 нед 9 нед 10 нед 11 нед 12 нед ФИО Стартовые задачи Стартовые задачи Оценка ПМ +наставник Стартовые задачи Тест по проекту Аттестация В отдел Удачин Иван 10.06.2016 11.07.2016 10.08.2016 10.06.2016 Быстров Артем - - - - - - - - - - - - -
  • 21.
    Что дает принятоераньше решение? 4,8 мес. x 25K + 60% отсев x 2.5 накладные = 750K 4,8 мес. x 25K + 40% отсев x 2.5 накладные = 500K /-33% 3,5 мес. x 25K + 40% отсев x 2.5 накладные = 292K /-42% 1,75 мес. x 25K + 40% отсев x 2.5 накладные = 182K /-38% снижение стоимости 4,1 раза!
  • 22.
    Почему 182K намнормально ● Цикл работы больше ● Первый год ЗП ниже ● Фокус фактор выше
  • 23.
    Почему 182K намнормально
  • 24.
    ● Очные интервьюпосле резюме ● Нет критериев для средних 80% ● Принятие решения в конце ● Домашнее обучение < 1 мес ● Академическая программа ● Культура команды Вымученные уроки
  • 25.
    Итог 2015 Принято: 29 Непрошло: 15 Выпущено в проект: 14 Разработчиков: 9 (против 13 с рынка) / 40% Тестеров 5: (против 6 с рынка) / 45% Ruby, ObjectiveC, front-end, test, PM
  • 26.

Editor's Notes

  • #2 О чем будет доклад… Несмотря на шуточное название, в этих слова есть смысл. Во-первых он про экономику. Поэтому нам нужно будет на входе создать достаточный поток кандидатов, пусть это будет 100 заявок в месяц. Во-вторых он про людей, точнее про успешный портрет - неважно кем человек был в прошлой жизни, до программирования: барменом, физиком ядерщиком, таксистом. На успешность прохождения школы это мало влияет. Зная успешный портрет можно найти 2% - которые в конечном итоге взлетят.
  • #3 Теперь давайте познакомимся. Меня зовут Карабасов Александр, 9 лет я работал в телекоме и делал биллинг, и вот уже год я руковожу отделом web разработки в abak press. Кроме этого я с партнерами развиваю международный проект про p2p кредитованию, это технология которая через несколько лет заменит банки Ну вот это про меня, и мне бы хотелось познакомиться с вами. Поднимите руки пож-та есть в зале тимлиды? есть в зале проджект менеджеры? Есть TOPы, владельцы бизнесов?
  • #4 Практически все IT компании испытывают дефицит разработчиков, но у нас особенно тяжелый случай. Шарперов на рынке например много, даже после того как СКБ-Контур пропылесосил рынок кто-то остается. Что касается руби разработчиков, то в Екатеринбурге и ближайших городах не рельсах вообще почти никто не пишет. Как выразился один знакомый из Nuamen мы на скале пишем, но есть кажется рубевая группа, но это же маргиналы Devvela - почти прикрыла рельсовую разработку. Mashtab - перешел на Python тк нет людей. Основной и единственный стэк - это только в Абаке. Плюс удаленщики - FunBox, Редкий стэк Ruby On Rails Культура спецназа Задача вырасти в 2 раза Культура спецназа сложилась исторически. Когда я пришел понятия junior практически не существовало. В этом были плюсы - это была сильная команда преимущественно уровня senior, которая не впускает к себе начинающих. Это была, 100% самая сильная команда на Урале. Но люди долго не зареживались, уезжали в Amazon, уходили на уделнку. В результате отток начал превышать прием. Для абака причина для открытия школы была такая: нужны люди, на HH пусто и ты там всех поименно знаешь, IT-People не спасает, хантить в городе просто не у кого, у тебя уже несколько HR-фрилансеров, а планы найма все-равно регулярно не выполняются.
  • #7 Рассказать как устроен поцесс Кандидат устраивается в штат В конкретную команду Учеба разбита по темам За каждой темой закреплены кураторы
  • #9 среднее время учебы - все студенты учаться пока не отсеятся в среднем 4,8 оплачиваем всех, даже тех кто отсеялся умножаем на некий фикс среднюю стипндию 25K ее трогать не будем
  • #10 Отсев - это сколько лишних денег мы заплатили
  • #12 Отбор заявок: тут самое главное что мы ищем не нулевых людей. Мы ищем полуготовых.
  • #13 Отбор заявок: тут самое главное что мы ищем не нулевых людей. Мы ищем полуготовых.
  • #15 Отбор заявок: тут самое главное что мы ищем не нулевых людей. Мы ищем полуготовых.
  • #16 Отбор заявок: тут самое главное что мы ищем не нулевых людей. Мы ищем полуготовых.
  • #18 У нас есть такая образовательная инициатива (система подготовки специалистов). Называется бережное развитие интеллекта (БРИ). Это наша внутренняя школа. Зачем она нужна - ну понятно, рубистов (программистов, тестеров, верстаков, аналитиков, админов) готовых мало на рынке - мы их учим под себя. Мы каждый месяц набираем группу состоящую из 4-х человек. Меньше половины доходит до конца, тк это такой вызов/конкурс: темп высокий, материала и задач заведомо больше чем средний человек может осилить, поэтому для успеха всего важней две вещи: Опыт и самообразование (мы ищем на самом деле не нулевых, а полуготовых и чем более ты уже готов, тем больше шансов что все получится). И тут еще один важный момент, так мы понимаем что у тебя серьезные намерения и ты уже определился. Наличие свободного времени и мотивация. Те если параллельно есть активная учеба, преподавание или еще какие-то вещи которые занимаю все свободное время, то конечно шансы снижаются тк объем материала такой, что придется и по вечерам и возможно по выходным еще учиться урс. Нужно понимать, что школа сложная, материала очень много и будет сложно. Мы задаем определенный темп и контролируем понедельно выполнение плана. Если ты не будешь успевать выполнять план, то мы можем попрощаться в любой момент, пока ты не стал junior. Нужно будет не только хорошо учится, но также качественно выполнять работу - тестирование. И более того, нужно будет при этом вписаться в команду и найти взаимопонимание с коллегами и своим руководителем. Критерия будет три: хорошая учеба, четкое выполнение сроков по работе в проекте и умение вписаться в команду и найти взаимопонимание. Последнее для нас не менее важно чем первые два. Сейчас мы от тебя хотим услышать, что ты думаешь о нашем предложении. Согласен, не согласен, возможно надо подумать. Далее, если согласен Я согласен У нас в этом месяце есть такие позиции + обрисовать перспективу этих направлений: ПЦ/RubyOnRails -1 МОПС/OSX - 1 Верстак/ПЦ - 1 Аналитик/ЯП/DK - 1 Тестер/ЯП/DK - 1 Админ?
  • #20 Стартовые задачи 1. Ошибки алгоритмические 2. Ошибки уровня представления 3. Вывод имеющихся данных в шаблоны 4. Изменение в формировании существующих рельсовых писем 5. Ошибки в отчетах * не более 0,5 дней разработки У нас есть такая образовательная инициатива (система подготовки специалистов). Называется бережное развитие интеллекта (БРИ). Это наша внутренняя школа. Зачем она нужна - ну понятно, рубистов (программистов, тестеров, верстаков, аналитиков, админов) готовых мало на рынке - мы их учим под себя. Мы каждый месяц набираем группу состоящую из 4-х человек. Меньше половины доходит до конца, тк это такой вызов/конкурс: темп высокий, материала и задач заведомо больше чем средний человек может осилить, поэтому для успеха всего важней две вещи: Опыт и самообразование (мы ищем на самом деле не нулевых, а полуготовых и чем более ты уже готов, тем больше шансов что все получится). И тут еще один важный момент, так мы понимаем что у тебя серьезные намерения и ты уже определился. Наличие свободного времени и мотивация. Те если параллельно есть активная учеба, преподавание или еще какие-то вещи которые занимаю все свободное время, то конечно шансы снижаются тк объем материала такой, что придется и по вечерам и возможно по выходным еще учиться урс. Нужно понимать, что школа сложная, материала очень много и будет сложно. Мы задаем определенный темп и контролируем понедельно выполнение плана. Если ты не будешь успевать выполнять план, то мы можем попрощаться в любой момент, пока ты не стал junior. Нужно будет не только хорошо учится, но также качественно выполнять работу - тестирование. И более того, нужно будет при этом вписаться в команду и найти взаимопонимание с коллегами и своим руководителем. Критерия будет три: хорошая учеба, четкое выполнение сроков по работе в проекте и умение вписаться в команду и найти взаимопонимание. Последнее для нас не менее важно чем первые два. Сейчас мы от тебя хотим услышать, что ты думаешь о нашем предложении. Согласен, не согласен, возможно надо подумать. Далее, если согласен Я согласен У нас в этом месяце есть такие позиции + обрисовать перспективу этих направлений: ПЦ/RubyOnRails -1 МОПС/OSX - 1 Верстак/ПЦ - 1 Аналитик/ЯП/DK - 1 Тестер/ЯП/DK - 1 Админ?
  • #21 Как мы решаем кого оставить понедельные планы, задачи с 5 недели выхода,успевают не все...
  • #23 Замена middle = годовая ЗП Когда мы берем кого-то в школу, мы с самого начала даем специализацию на определенном сервисе. Человек с рынка, пусть например middle, так же бы получил специализацию, но тк его комптенции распространяются шире, мы платим ему соответсвующая ЗП.
  • #24 https://habrahabr.ru/post/191120/