Часть 1. Как найти талантливых стажеров-суперзвезд?
От: Anvar Россия http://www.exprite.com
Дата: 17.07.06 06:22
Оценка: 4 (2) +1 -2 :))) :))) :))) :))
Приветствую, Уважаемые!

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

С введением можно ознакомиться здесь
Автор: Anvar
Дата: 11.07.06
.

Буду рад пообщаться на тему статьи, хвалите, критикуйте, задавайте вопросы.

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


Часть 1. Как найти талантливых стажеров-суперзвезд?

Исходные условия

г. Москва, небольшая ИТ-компания (20 человек).

Условия работы:


Стоит отметить:

На заработную плату сотруднику по такой схеме требуется $6250 в год, при этом сотрудник достигает отметки $800/мес. к концу года.

На заработную плату программисту, работающему по ставке $1700/мес., требуется $20400 в год.

Требования

Нам требовалось несколько программистов для разработки продукта Password Commander. Проект был изначально создан на Delphi 7, поэтому кандидат должен был владеть этим инструментом разработки. Мы хотели найти талантливых и увлеченных программистов, которые одни по вечерам или в компании других таких же любителей-студентов писали программки для различных нужд. Нам требовались люди, которые умеют мыслить, знают основные понятия и конструкции языка (рассказывать, что такое if, case и for совершенно не было желания), а самое главное, подходят к программированию с небывалым энтузиазмом и имеют огромное желание работать и осваивать новые технологии. Если кандидат при этом пишет код в одну строчку и называет переменные «a1», «a2», «xxx» и «yyy», меня это не волнует, – научим.

Подготовка

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

  1. Какие модификаторы доступа к членам класса Вы знаете? Чем друг от друга отличаются Public и Private?
  2. В чем разница между override и overload?
  3. Зачем нужны ключевые слова as и is? Где и как они обычно используются?

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

Естественно, я не хотел принимать кандидата на работу только за то, что он ответил правильно на три вопроса, которые можно спросить у папы-программиста. Поэтому мною было разработано тестовое задание: создать экранную клавиатуру, которая могла бы привязываться к любому объекту типа TEdit и позволяла бы вводить в него символы. Я составил техническое задание, после чего выполнил тест. На это у меня ушло 40 минут. Кандидатам я решил давать полтора часа.

Затем были сформированы следующие требования к выполнению тестового задания:


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

Поиск кандидатов

Поиск кандидатов велся по четырем направлениям:

  1. Размещение вакансии на сайтах типа job.ru;
  2. Размещение вакансий на специализированных форумах для программистов и на форумах институтов;
  3. Опрос сотрудников на предмет наличия знакомых программистов, обладающих необходимыми знаниями и готовых работать на указанных условиях;
  4. Поиск резюме на сайтах работ типа job.ru.

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

Например, адрес электронной почты кандидата.

Такие адреса электронной почты мне не нравятся:

lenkagirl@somedomain.com – в конце-концов, детство кончилось, мы кажется ищем работу и «ленкагёл» – как-то это не по-деловому.

zombiekill@somedomain.com – для друзей такой адрес может быть и подойдет. Но для работодателя – вряд ли. Кто скрывается за подобным адресом? Не знаю, но мне кажется, что он мне не понравится.

А вот этот адрес меня сразу же зацепил:

soapwithoutcord@somedomain.com – сразу видно, что человек может грамотно написать по-английски три слова, что тоже не часто встречается. Кроме того, получилось какое-то интересное сочетание. В итоге я решил пригласить этого кандидата на работу, и, поверьте, я не ошибся.

Конечно, я смотрел не только на адрес электронной почты, но и на структуру резюме, про себя отмечал грамотность русского языка (если человек поленился проверить собственное резюме в Word, как он будет относиться к своему коду?), указанные навыки. Не стоит приглашать на собеседование кандидата, который написал в резюме вместо Delphi – «Delfi». Стыд и срам – не уметь писать название инструмента, с которым приходится работать!

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

Следует отметить, что запросы кандидатов очень неравномерны и зачастую не подчиняются никакой логике: можно найти студента 4-го курса, который готов работать три полных дня в неделю, неплохо разбирается в программировании и согласен на заработную плату $200 в месяц, а можно найти студента, который вообще ничего не знает, не может ответить ни на один вопрос и при этом имеет зарплатные ожидания 600 долларов в месяц на испытательный срок.


В итоге требования к кандидатам при проведении телефонного собеседования стали следующими:

  1. Кандидат четко может объяснить разницу между модификаторами доступа private и public, а также приводит примеры использования этих модификаторов;
  2. Кандидат отвечает либо на вопрос про override и overload (что предпочтительнее), либо про as и is;
  3. Кандидат демонстрирует общую вменяемость при разговоре по телефону;
  4. Кандидат согласен с условиями работы, которые оглашаются ему в кратком варианте.

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

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

Результаты выполнения задания оказались еще менее утешительными: только 20% кандидатов хоть как-то справились с задачей, при этом 50% из них приходилось выделять дополнительное время, чтобы увидеть хоть какой-то результат. Идеально задание не выполнил никто. Всем кандидатам я по возможности показывал, как можно оптимизировать код, сделать его более понятным и читаемым.

С наиболее сильными программистами сразу же начинался третий этап собеседования, на который по возможности приглашалось руководство компании. Разговор обычно шел о жизни, я задавал коварные и не очень вопросы, и мы окончательно утрясали условия работы. Следует отметить, что на этом этапе собеседования я прежде всего задавал себе вопрос: «а насколько комфортно мне будет работать с этим человеком?», а потом уже вспоминал про профессиональные качества кандидата.

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

Выводы:

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

  2. По моему мнению, каждый руководитель проекта должен быть немного психологом. Поэтому я считаю, что при наборе команды не стоит прибегать к услугам менеджеров по персоналу. Вы формируете новую команду, вы формируете ВАШУ команду, вы выбираете, с кем будете работать бок о бок долгое время. Вам будет из кого выбрать, не стоит забывать, что спрос в данном сегменте сильно превышает предложение. И если человек выполнил все тестовые задания идеально, но вы ощущаете, что вам неприятно будет с ним работать – не берите такого кандидата. Вы должны ощущать 100% уверенность, что этот человек нужен вам.

  3. Смотрите не только на результат выполнения тестового задания, но и на то, какие методы и подходы использует кандидат. К примеру, я взял на работу стажера, который справился с тестовым заданием на 30%. При этом я видел, что данный кандидат путается в языках, зачастую используя конструкции из C++, однако то, как он работал с клавиатурой: быстро, профессионально, часто использовал «горячие клавиши» и т.д., говорило об опыте работы с Borland C++ Builder. Этого хватило, чтобы понять, что данный кандидат без проблем улучшит свои знания в Delphi. Я не ошибся. Вывод: будьте гибче в своих оценках. Не стоит оценивать кандидатов только по результатам тестового задания. Ведь иногда бывают и исключения.

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

      Я видел компании, которые набирают младших программистов, однако специальная программа для работы со стажерами отсутствует. Новичкам предлагаются книжки, по необходимости (при инициативе стажера) могут быть получены консультации от более опытных коллег. Через какое-то время такому сотруднику начинают ставиться несложные задачи. Если задачи выполняются – компания считает, что стажер успешно обучается. Все бы хорошо, но, поскольку нет отработанной программы обучения, то сотрудник осваивает все самостоятельно. Конечно, это работает. Но как…

      Как-то я открыл исходный код модуля одной большой системы, который требовалось доработать. Внешне модуль работал без сбоев, но стоило мне открыть его код, как я ужаснулся. Не трудно догадаться, что он являлся результатом работы младшего программиста, которого никто не обучал. Итог: 3 дня потрачено на рефакторинг.

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

--
http://www.exprite.com
Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
От: AmSpb  
Дата: 17.07.06 06:46
Оценка: 2 (1)
A>
  • Первые две недели проводится обучение, в течение этого срока заработная плата не выплачивается, но кандидату обеспечивается бесплатное питание. Кандидат может быть не принят на работу по результатам обучения.

    Прям Work for Food, а лучше так Fuck for Sex
  • Re[2]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: AmSpb  
    Дата: 17.07.06 06:49
    Оценка: +1 -1 :)))
    Вместо еды, девочек предлагайте, мАтивацию поднимете
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
    Дата: 17.07.06 07:13
    Оценка: 4 (3) +1
    A>При успешном прохождении испытательного срока стажеру назначается заработная плата в размере $300/мес.
    A>По прошествии каждого месяца работы заработная плата сотрудника может быть повышена на $50, при условии наличия профессионального роста. Это следует понимать так: если сотрудник нормально работает, каждый месяц его заработная плата будет увеличиваться на $50.

    A>Мы хотели найти талантливых и увлеченных программистов, которые одни по вечерам или в компании других таких же любителей-студентов писали программки для различных нужд. Нам требовались люди, которые умеют мыслить <...>, подходят к программированию с небывалым энтузиазмом и имеют огромное желание работать и осваивать новые технологии.


    A> и согласен на заработную плату $200 в месяц, а можно найти студента, который вообще ничего не знает, не может ответить ни на один вопрос и при этом имеет зарплатные ожидания 600 долларов в месяц на испытательный срок.


    Вообще все звучит неплохо, но цифры смущают. Посчитаем.
    Пусть в среднем выпускники хотят на испытательный срок $500 (хотя, кажется, маловато для Москвы? Ну, точно я не знаю). Соответственно, пусть потом им хочется получать 20 т.р.; с другой стороны, вы хотите платить своим подопечным около 9-10 т.р. с постоянным ростом в случае самосовершенствования. В пересчете на аналогичный уровень зарплат в моем городе получаем ок. 6500 р. против ожидаемых 13-14 тыс. Ума не приложу, каким образом можно отыскать человека, который захочет заниматься программированием за такие деньги... Лучше уж шоферить наняться =) В конце концов, если у него такой потенциал, на какой вы рассчитываете, он сможет и получше устроиться. Или в Москве выпускников не берут вообще никуда?
    Ладно, допустим, рост на 700 руб. в месяц что-то меняет (хотя я думаю, что меняет он только если человек ничего не умеет — иначе он опять же смог бы сразу найти более высокую зп). Вплоть до... где-то до 15 т.р., получается. Но у нас это и есть хороший средний уровень. А в М. сумма порядка $1200-1500 — не средняя? Но пусть даже ниже средней. Вы ведь такую сумму дадите только если человек действительно дорос до чего-то серьезного, иначе вы не можете говорить об экономии. Но если он дорос до технического руководства проектами (а может, и уже занимается им), как вы добьетесь, чтобы его устраивала такая плата? Впрочем, это уже, как я понимаю, вопрос к одной из последующих глав вашего изложения.

    Реальную экономию я здесь вижу только в одном случае: сотрудник работает на вас год, растет с $300 до $800, а потом вы от него избавляетесь (вариант — он находит более выгодное предложение). И находите на его место другого. Но ведь весь этот год он рос с довольно низкого уровня! То есть экономия в средствах выливается в работу с низкоквалифицированными кадрами, чего и следовало ожидать. Преимущество только одно: вы их лепите сами, сами решаете, чему и как их обучать. В отличие от случая, когда к вам приходит уже более-менее подготовленный специалист.

    Slicer
    Специалист — это варвар, невежество которого не всесторонне :)
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: AlexDav Россия  
    Дата: 17.07.06 07:54
    Оценка:
    Здравствуйте, Anvar, Вы писали:



    A>
  • По моему мнению, каждый руководитель проекта должен быть немного психологом. Поэтому я считаю, что при наборе команды не стоит прибегать к услугам менеджеров по персоналу. Вы формируете новую команду, вы формируете ВАШУ команду, вы выбираете, с кем будете работать бок о бок долгое время. Вам будет из кого выбрать, не стоит забывать, что спрос в данном сегменте сильно превышает предложение. И если человек выполнил все тестовые задания идеально, но вы ощущаете, что вам неприятно будет с ним работать – не берите такого кандидата. Вы должны ощущать 100% уверенность, что этот человек нужен вам.

    А если подумать, то программист может работать и админом и спецом по безопасности — к этому катитесь?
  • Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: Maxim Golov Голландия  
    Дата: 17.07.06 08:10
    Оценка:
    Здравствуйте, Anvar, Вы писали:

    A>Публикую первую часть статьи, в которой рассказано, как найти талантливых стажеров-суперзвезд.


    Все очень разумно выглядит, за обмен опытом отдельное спасибо — ждем продолжения

    Что с набранными ребятами потом стало, через год? Или еще в процессе?
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: xtile  
    Дата: 17.07.06 09:35
    Оценка: 12 (3) +8
    Здравствуйте, Anvar, Вы писали:

    Спасибо, сполз под стул

    Первое, что хочу отметить — тема не соответствует содержанию.

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

    Очень жду следующих серий. Считаю, что даже попытка сделать из полных имбецилов (извините, не могу подобрать другого именования для человека, желающего работать программистом и при этом на 4м курсе не знающем чем отличается public от private) высокопрофессиональных "зубров" достойна всяческого уважения.
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: RGB_Dart Австралия  
    Дата: 17.07.06 09:54
    Оценка: +1
    Немного критики.
    Тут уже говорилось про "работаю за еду". В общем-то присоединяюсь. За еду или 200 у.е. в месяц к вам пойду только полные энтузиасты. Но вам, как я понял, только такие и нужны. Особенно порадовало "Идеально, если кандидат проживает в Москве с родителями и не сильно нуждается в деньгах". Вы знаете, любой руководитель компании мечтает иметь команду проффесионалов "не сильно нуждающихся в деньгах". Но это ж как должно повезти!

    Тесты и вопросы это, безусловно, правильно и хорошо. Однако насторожило вот что:

    A>По опубликованным или присланным резюме отбирались самые подходящие кандидаты. Человек я сам по себе очень внимательный к мелочам и знаю, что каждая буковка в резюме может что-нибудь рассказать о человеке.

    A>Например, адрес электронной почты кандидата.
    A>Такие адреса электронной почты мне не нравятся:
    A>lenkagirl@somedomain.com – в конце-концов, детство кончилось, мы кажется ищем работу и «ленкагёл» – как-то это не по-деловому.
    A>zombiekill@somedomain.com – для друзей такой адрес может быть и подойдет. Но для работодателя – вряд ли. Кто скрывается за подобным адресом? Не знаю, но мне кажется, что он мне не понравится.

    Вы, имхо, мните себя психологом, и делете какие-то далеко идущие выводы на совершенно не значимых фактах. Надо помнить, что адреса люди дают как правило свои домашние (я, например, не вижу смысла заводить отдельный ящик для переписки с работодателями) и что эти люди — студены\подростки. Зачастую люди пишут в почтовом адресе свой ник. Это может быть от Terminator, Predator, Pokemon до Leha555, MegaKiller, CStrikeForeva. Какое это имеет отношение к проффесиональным навыкам челвоека? Или вы способны рассказать мне кто скрывается за адресом "Terminator@somedomain.com" и понять как хорошо он (или она) программирует на Дельфи?


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

    Можно чуть-чуть подробнее про "вменяемость"? У вас этот термин встречается несколько раз, но "тема не раскрыта".

    A>С наиболее сильными программистами сразу же начинался третий этап собеседования, на который по возможности приглашалось руководство компании. Разговор обычно шел о жизни, я задавал коварные и не очень вопросы, и мы окончательно утрясали условия работы. Следует отметить, что на этом этапе собеседования я прежде всего задавал себе вопрос: «а насколько комфортно мне будет работать с этим человеком?», а потом уже вспоминал про профессиональные качества кандидата.

    Раскройте секрет, если Вам не трудно — "с какими людьми вам комфортно работать"? Не считая всего вышесказанного ("вменяемость", "работа за еду", "энтузиазм", "огромное желание работать"...)

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

    A>Я видел компании, которые набирают младших программистов, однако специальная программа для работы со стажерами отсутствует. Новичкам предлагаются книжки, по необходимости (при инициативе стажера) могут быть получены консультации от более опытных коллег. ...
    A>«Так вот, мы предлагаем стартовую зарплату ниже рынка, потому что мы обучаем кандидата. Мы работаем с ним много и плотно. Мы заинтересованы в повышении его профессионального уровня», – примерно такой должна быть мотивационная речь.

    1. Вы 2 недели обучаете новичка не выплачивая ему з/п. Больше про обучения никакой конкретики не сказано.
    2. Во многих компаниях набирающих младших программистов, принята практика менторства. Когда к младшему разработчику приставлют более опытного товарища, который постоянно обучает новичка. Делает разбор его кода, объясняет что как и когда нужно делать и почему. Многие компании отправляют своих сотрудиков на курсы и оплачивают сертификационные экзамены, поощряя тем самым повышение квалификации сотрудника. Я уже молчу о том, что первые две недели, пока идет обучение сотрудника процессу разработки принятому в компании, сотрудник получает з/п.
    3. "Вы работаете с ними много и плотно". Как? Этим занимается кто-то один (тренер)? Или члены проектной команды?
    4. Вы оценивали падение производительности у "учителей" из-за обучения новичков?
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: Melo  
    Дата: 17.07.06 09:56
    Оценка:
    Откровенно говоря, лучше бы вы начали с 3 части (итоги), а именно ответили на вопрос: Какой процент из тех, кого вы взяли стажером год назад, до сих пор работает у вас, получая $800/месяц?
    Re[2]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: RGB_Dart Австралия  
    Дата: 17.07.06 09:59
    Оценка:
    Здравствуйте, xtile, Вы писали:

    X>Очень жду следующих серий. Считаю, что даже попытка сделать из полных имбецилов (извините, не могу подобрать другого именования для человека, желающего работать программистом и при этом на 4м курсе не знающем чем отличается public от private) высокопрофессиональных "зубров" достойна всяческого уважения.


    А с чего вы взяли что рассматривались студенты 4х курсов технических вузов? Или факультетов связанных с программированием? Имхо, студенту 4-курснику из ЗабороСтроительного института простительно не знать таких вещей . Но не удивлюсь, если некоторые их таких считают себя "программистами Дельфи".
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: ProgrammerG  
    Дата: 17.07.06 10:08
    Оценка: 7 (4) +3
    Здравствуйте, Anvar, Вы писали:

    A>Приветствую, Уважаемые!


    A>Публикую первую часть статьи, в которой рассказано, как найти талантливых стажеров-суперзвезд.



    Прочитал внимательно. Что могу сказать — разумное зерно конечно есть, но в целом не очень. Т.е. подход лучше чем в большинстве небольших московских контор, но на руководство к действию не тянет. Объясню:

    1) В большинстве своём "звезды" не нужны — нужны АДЕКВАТНЫЕ профессионалы. Ведь речь идёт о разработе массового коммерческого софта, насколько я понял, а не научный прорыв готовится. Иненно их надо искать и выращивать. Одним из критериев адекватности — это работа за адекватные деньги. Т.е. нанять адекватного человека на нерыночную зарплату — нереально по определению. На мой взгляд ваши у словия не соответсвуют среднерыночному предложению для данной категории работников.

    2) Во вторых не знаю конечно что вы конкретно хотели увидеть от тестового задание, но моё ИМХО то что вы(профессионал) смогли сделать в "домашних" условиях, сами придумав(обдумав заранее) условие и потратили 40 мин. Давать студенту на тоже самое 1,5 часа( всего в 2 раза больше времени), чтобы он сначала понял всё же что вы(другой человек) хотите от него, потом это воплотил, протестил и всё в стрессовых( интервью это всегда стресс) условиях — неразумно. Мне кажется срок должен быть раза в 3-4 больше чем потратил бы ваш коллега( а не вы), не зная заранее условия. Вы же не в 2 раза больше стажёра з.п. получаете.

    3) Если вы хотите работать с профессионалами, рекомендую всё таки работать с ними а не со "звёздами" ( они не стабильны и предпочитают заниматься тем что им нравится, а это не всегда совпадает с тем что вам надо), будте готовы платить им адекватную рыночную стоимость и даже чуть больше. Иначе им нету смысла работать у вас, за теже деньги они найдут новый проект. А у людей тяга к новому.
    Re: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: FDSC Россия consp11.github.io блог
    Дата: 17.07.06 10:15
    Оценка:
    Здравствуйте, Anvar, Вы писали:

    A>

    Почему именно as и is, а не, например, "каков "физический" смысл оператора @"?
    Или какова функция модификатора var и в чём отличие при передаче параметров на уровне аппаратуры?
    Или скажем, зачем нужны property
    Почему именно override от overload, а не dynamic от override

    В общем, почему выбраны именно эти вопросы? Просто так или есть какое-то объяснение?

    A>Естественно, я не хотел принимать кандидата на работу только за то, что он ответил правильно на три вопроса, которые можно спросить у папы-программиста. Поэтому мною было разработано тестовое задание: создать экранную клавиатуру, которая могла бы привязываться к любому объекту типа TEdit и позволяла бы вводить в него символы. Я составил техническое задание, после чего выполнил тест. На это у меня ушло 40 минут. Кандидатам я решил давать полтора часа.


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

    A>Поиск кандидатов


    A>soapwithoutcord@somedomain.com – сразу видно, что человек может грамотно написать по-английски три слова, что тоже не часто встречается. Кроме того, получилось какое-то интересное сочетание. В итоге я решил пригласить этого кандидата на работу, и, поверьте, я не ошибся.


    Целых ТРИ, повторяю, три слова!
    . Но вообще, ваша логика правильна.


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


    А можно посмотреть, какие ответы считались правильными (ответьте сами с нужной степенью детализации, я думаю это не займёт у вас много времени)?

    A>Следует отметить, что запросы кандидатов очень неравномерны и зачастую не подчиняются никакой логике: можно найти студента 4-го курса, который готов работать три полных дня в неделю, неплохо разбирается в программировании и согласен на заработную плату $200 в месяц, а можно найти студента, который вообще ничего не знает, не может ответить ни на один вопрос и при этом имеет зарплатные ожидания 600 долларов в месяц на испытательный срок.

    A>


    Удивили, по поводу $200. Наверное этот студент всё-таки разбирается в программировании ниже среднего и просто его уже пару раз "заворачивали". Или вы просто произвели хорошее впечатление, что очень важно.

    A>В итоге требования к кандидатам при проведении телефонного собеседования стали следующими:


    A>[list=1]

    A>
  • Кандидат четко может объяснить разницу между модификаторами доступа private и public, а также приводит примеры использования этих модификаторов;
    A>
  • Кандидат отвечает либо на вопрос про override и overload (что предпочтительнее), либо про as и is;
    A>

    Меня колбасит, реально!!!
    Это вам студенты 4-ого курса так отвечали? Ну, только если они со специальности типа "металлорежузие станки и
    инструменты" или ещё что-нибудь в таком духе.

    A>Результаты выполнения задания оказались еще менее утешительными: только 20% кандидатов хоть как-то справились с задачей, при этом 50% из них приходилось выделять дополнительное время, чтобы увидеть хоть какой-то результат. Идеально задание не выполнил никто. Всем кандидатам я по возможности показывал, как можно оптимизировать код, сделать его более понятным и читаемым.


    Интересно, что значит — идеально?

    A>С наиболее сильными программистами сразу же начинался третий этап собеседования, на который по возможности приглашалось руководство компании. Разговор обычно шел о жизни, я задавал коварные и не очень вопросы, и мы окончательно утрясали условия работы. Следует отметить, что на этом этапе собеседования я прежде всего задавал себе вопрос: «а насколько комфортно мне будет работать с этим человеком?», а потом уже вспоминал про профессиональные качества кандидата.


    Это нужно опыт иметь, что бы определить, комфортно или нет. Люди с опытом, так вообще студентов буквально по внешнему виду отбирают. Что самое удивительно, не ошибаются ни в ту ни в другую стороны.

    A>Итог: на поиск трех человек ушло около трех недель, однако такая кропотливость дала о себе знать: я смог нанять действительно талантливых сотрудников.


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

    A>Выводы:


    A>

      A>
    1. Идеально на данную позицию подходит студент последнего/предпоследнего курса или недавний выпускник без опыта работы, однако, имеющий определенный некоммерческий опыт.
      A>
    "Талантливый" студент "последнего/предпоследнего курса" на такую должность не пойдёт. Они к вам даже резюме не посылали.

    A>

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

    Для студентов, которые уже окнчили ВУЗ — сильно ниже рынка. Человек, который хоть как/то на Delphi программирует на $400-$600 устроится наверняка сразу же.

    A>Как-то я открыл исходный код модуля одной большой системы, который требовалось доработать. Внешне модуль работал без сбоев, но стоило мне открыть его код, как я ужаснулся. Не трудно догадаться, что он являлся результатом работы младшего программиста, которого никто не обучал. Итог: 3 дня потрачено на рефакторинг.

    A>[/i][/list]

    Хм. Вам повезло, что всего 3 дня для "большой системы". Иногда проще переписать.

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


    Вы уверены, что это мотивация достаточна? А сказать, кто (какого уровня профессионал) с ним будет работать?
    A>[/list]
  • Re[3]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: FDSC Россия consp11.github.io блог
    Дата: 17.07.06 10:16
    Оценка:
    Здравствуйте, RGB_Dart, Вы писали:

    RGB>Здравствуйте, xtile, Вы писали:


    X>>Очень жду следующих серий. Считаю, что даже попытка сделать из полных имбецилов (извините, не могу подобрать другого именования для человека, желающего работать программистом и при этом на 4м курсе не знающем чем отличается public от private) высокопрофессиональных "зубров" достойна всяческого уважения.


    RGB>А с чего вы взяли что рассматривались студенты 4х курсов технических вузов? Или факультетов связанных с программированием? Имхо, студенту 4-курснику из ЗабороСтроительного института простительно не знать таких вещей . Но не удивлюсь, если некоторые их таких считают себя "программистами Дельфи".


    Учтите, сейчас не "заборостроительного", а Университета Электронного Заборостроения

    И между прочим, там довольно неплохих программистов готовят
    Re[2]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: FDSC Россия consp11.github.io блог
    Дата: 17.07.06 10:19
    Оценка: -2
    Здравствуйте, ProgrammerG, Вы писали:


    PG>3) Если вы хотите работать с профессионалами, рекомендую всё таки работать с ними а не со "звёздами" ( они не стабильны и предпочитают заниматься тем что им нравится, а это не всегда совпадает с тем что вам надо), будте готовы платить им адекватную рыночную стоимость и даже чуть больше. Иначе им нету смысла работать у вас, за теже деньги они найдут новый проект. А у людей тяга к новому.


    Что вы хотите, человек невминяемый. Тут уже выше писали. что он набрал, цитирую одного кандидата наук: "бакалавров-недоумков". Причем далеко не самых лучших.
    Re[3]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: xtile  
    Дата: 17.07.06 10:30
    Оценка: 40 (4) +5 :)))
    Здравствуйте, RGB_Dart, Вы писали:

    RGB>Здравствуйте, xtile, Вы писали:


    X>>Очень жду следующих серий. Считаю, что даже попытка сделать из полных имбецилов (извините, не могу подобрать другого именования для человека, желающего работать программистом и при этом на 4м курсе не знающем чем отличается public от private) высокопрофессиональных "зубров" достойна всяческого уважения.


    RGB>А с чего вы взяли что рассматривались студенты 4х курсов технических вузов? Или факультетов связанных с программированием? Имхо, студенту 4-курснику из ЗабороСтроительного института простительно не знать таких вещей . Но не удивлюсь, если некоторые их таких считают себя "программистами Дельфи".


    Приведу одну аналогию, т.к. вижу, что ассоциации начали двигаться не в том направлении.

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

    Вот примеры таких вопросов:

    1) посчитайте значение интеграла S[x=0..5](2dx)
    2) посчитайте sin( pi/2 )
    3) решите квадратное уравнение x^2 + 3x — 4 = 0
    Re[2]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: xtile  
    Дата: 17.07.06 10:32
    Оценка: +1
    Здравствуйте, xtile, Вы писали:

    X>Здравствуйте, Anvar, Вы писали:


    X>Спасибо, сполз под стул


    X>Первое, что хочу отметить — тема не соответствует содержанию.


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


    X>Очень жду следующих серий. Считаю, что даже попытка сделать из полных имбецилов (извините, не могу подобрать другого именования для человека, желающего работать программистом и при этом на 4м курсе не знающем чем отличается public от private) высокопрофессиональных "зубров" достойна всяческого уважения.


    Прошу прощения за излишнюю резкость, возможно у нас сильно отличаются представления о звездах. Я вот знавал одного такого: после 4го курса он уехал в Редмонд, а до этого получал в Москве деньги выше средних по отрасли и имел подчиненных.
    Re[3]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: ProgrammerG  
    Дата: 17.07.06 10:35
    Оценка:
    Здравствуйте, FDSC, Вы писали:


    FDS>Что вы хотите, человек невминяемый. Тут уже выше писали. что он набрал, цитирую одного кандидата наук: "бакалавров-недоумков". Причем далеко не самых лучших.


    Да, конечно, хотелось бы почитать часть 3( итоги) но думаю её через год-полтора не раньше ждать надо.
    Re[2]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: Сергей Туленцев Россия http://software.tulentsev.com
    Дата: 17.07.06 11:13
    Оценка: +1
    RGB>Вы, имхо, мните себя психологом, и делете какие-то далеко идущие выводы на совершенно не значимых фактах. Надо помнить, что адреса люди дают как правило свои домашние (я, например, не вижу смысла заводить отдельный ящик для переписки с работодателями) и что эти люди — студены\подростки. Зачастую люди пишут в почтовом адресе свой ник. Это может быть от Terminator, Predator, Pokemon до Leha555, MegaKiller, CStrikeForeva. Какое это имеет отношение к проффесиональным навыкам челвоека? Или вы способны рассказать мне кто скрывается за адресом "Terminator@somedomain.com" и понять как хорошо он (или она) программирует на Дельфи?

    Тут я с Вами не соглашусь. Человек ищет работу. Для этого ему нужно общаться со внешней средой. Его адрес электронной почты является, в данном случае, лицом, одёжкой (встречают по одёжке). Если адрес будет не очень удачным (взять хоть все вышеприведенные, или что-нибудь вроде gigant_sexa@somedomain.com), то лично у меня сложится отрицательное первое впечатление о кандидате.
    Не знаю, как объяснить это доходчиво, но это основы деловой этики, что ли.
    --
    Re[4]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: FDSC Россия consp11.github.io блог
    Дата: 17.07.06 11:49
    Оценка:
    Здравствуйте, ProgrammerG, Вы писали:

    PG>Здравствуйте, FDSC, Вы писали:



    FDS>>Что вы хотите, человек невминяемый. Тут уже выше писали. что он набрал, цитирую одного кандидата наук: "бакалавров-недоумков". Причем далеко не самых лучших.


    PG>Да, конечно, хотелось бы почитать часть 3( итоги) но думаю её через год-полтора не раньше ждать надо.


    Ну, если в качестве итога ждать банкротсва фирмы — то да.
    А так ведь он уже с ними кажется целый год возится. Но вот такие люди обычно в неудачах редко себе и другим признаются
    Re[2]: Часть 1. Как найти талантливых стажеров-суперзвезд?
    От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
    Дата: 17.07.06 11:53
    Оценка:
    Здравствуйте, FDSC (и Anvar!), Вы писали:

    FDS>Или скажем, зачем нужны property

    А зачем они нужны? Мне довелось работать в одном неплохом проекте с умными людьми, так у них было принято правило: никакие вводимые классы и интерфейсы не объявляют property. Дабы избежать неоднозначностей. IMHO перебор, но зато последовательное решение — всяко получше, чем хаос.

    A>>Естественно, я не хотел принимать кандидата на работу только за то, что он ответил правильно на три вопроса, которые можно спросить у папы-программиста. Поэтому мною было разработано тестовое задание: создать экранную клавиатуру, которая могла бы привязываться к любому объекту типа TEdit и позволяла бы вводить в него символы. Я составил техническое задание, после чего выполнил тест. На это у меня ушло 40 минут. Кандидатам я решил давать полтора часа.

    Хмм.. интересно, клавиатура правильно отслеживала перемещения и сворачивания окна? Может, стоило сделать из этого коробочный продукт? Может, и на зарплате не пришлось бы больше экономить.

    A>>soapwithoutcord@somedomain.com – сразу видно, что человек может грамотно написать по-английски три слова, что тоже не часто встречается. Кроме того, получилось какое-то интересное сочетание. В итоге я решил пригласить этого кандидата на работу, и, поверьте, я не ошибся.

    FDS> . Но вообще, ваша логика правильна.
    Я бы обратил внимание на другое. Мне этого не понять, но, видимо, "мыло без веревки", да еще и с не совсем адекватным подбором слов, звучит не в пример представительнее, нежели LenkaGirl...

    A>>Кандидат четко может объяснить разницу между модификаторами доступа private и public, а также приводит примеры использования этих модификаторов;

    Ну, копец! А на protected забиваем, вместе со всем наследованием. И верно, нафига оно нам? У нас же есть компоненты, а в них — property!

    A>>Выводы:

      A>>
    1. Идеально на данную позицию подходит студент последнего/предпоследнего курса или недавний выпускник без опыта работы, однако, имеющий определенный некоммерческий опыт.
    2. Таракан без ног не слышит... Но это так, не по теме )

    Slicer
    Специалист — это варвар, невежество которого не всесторонне :)
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.