421
Комплект коду: як знайти смарт-програміст
浜у 涓 蹇
Як знайти хороший програміст? Завдання, пов’язані з усіма ІТ стартапами. На рекрутингових ресурсах ви можете повести в прекрасні резюме кандидатів з мінімальним досвідом роботи на практиці, а також смарт-фахівців або зробити стартап самостійно або попросити великих грошей. бесіда з підприємцями та технічними директорами компаній, які регулярно мають найняти кодувальників, і дізналися, куди шукати сумлінні фахівці, які просять на інтерв’ю і в яких випадках варто аутсорсингові завдання.
Олексій Поспехова, засновник ICONIC MOBILE
Знайди хорошого програмувальника – це інше завдання, ніж пошук конструкторів та менеджерів проектів. Якщо при поході співробітників в галузі продажу або управління, то їх якості і досвід зрозумілі в процесі початкового спілкування, то просто неможливо зрозуміти рівень програмістів без строгої перевірки. Моя людина в бізнесі відповідальна за пошук, наш директор з розвитку Дарія Воробйєва, який раніше керував всіма нашими проектами. Ми розміщуємо інформацію про вакансії на великих порталах, таких як HeadHunter.ru та на всіх галузевих сайтах, де ми купуємо доступ до бази даних резюме.
Але на глобальних ресурсах, таких як HeadHunter.ru, займає багато часу, щоб знайти правильні фахівці і відфільтрувати резюме. Соціальні мережі сайтів, в основному Facebook, де друзі друзів завжди знаходять права людини. Публікуємо багато оголошень в тематичних групах – це працює. І без цього ми отримуємо близько 10-20 резюме з пропозиціями на тиждень, але в більшості випадків це або люди без досвіду або програмістів, які зробили одне додаток і уявляють себе як розвиток iOS.
Якщо вам подобається резюме, ми запрошуємо програміста для інтерв’ю. У декількох кроках: листування, Skype-зв'язок з групою технічних фахівців, де запитують кандидатські питання про процес розробки, досвід роботи та технічні знання, а після цього є особисті зустрічі.
Дуже часто люди, які я отримував поспішання, показали себе від феноменальної сторони, що працює з ранку до ночі, і тих, хто я задовольнив довгий час не змогли працювати в суворих умовах. Я не малюємо ніяких висновків з цього питання - Я сам змінив вакансії майже десять років, починаючи з віку сімнадцяти і спостерігали, як може бути різним процесом. Ще одна річ в тому, що важливо вказати ритм життя компанії на березі, тому що якщо людина не вписується в неї, немає інших бонусів затримувати його.
Олексій Симоненко, співзасновник HTML Academy У своєму досвіді найбільш ефективно публікувати позицію роботи на сайті пошуку роботи і повернутися до неї з повідомленнями у вашій громадській мережі – однаково на Facebook, Vk.com і Twitter. Особисті публікації, які проходять через канали компанії та особисті контакти, дають хороший ефект.
На жаль, найчастіше знання, які описані в резюме і актуальні знання, відрізняються часом. Якщо людина впевнена в собі, він може писати, що він знає щось, хоча він тільки чув про це. Необхідно перевірити це, тому після розмови про абстрактні теми, визначення потреб кандидата і визначення поточного рівня знань завжди є невеликим завданням. Я завжди зацікавлений бачити, як людина вирішує проблему. Це найкраще робити під час співбесіди.
Не існує різниці між знайомствами та незнайомцями. Найголовніше – актуальні знання та вимоги конкретної роботи. Наприклад, коли я працюю в агенції, ми найняти програміста на консультацію дизайнера. Він використовувався для роботи з ним. Я не мав ніяких специфічних очікувань, але в процесі, людина доведеться, щоб бути хорошим спеціалістом. Ще більше, ніж я очікував. З іншого боку, дуже молодий дівчина прийшов до мене один день. Не рекомендується, але вона продемонструвала хорошу сторону в інтерв'ю. Вона мала великі надії для неї, і вона не дала нам. І погані приклади всюди, але найчастіше такі кандидати ліквідуються на стадії інтерв’ю або тестового завдання.
Ми також розглядаємо кандидатів з інших міст, а головне - це те, що вони мають велике бажання працювати з нами і розвивати їх напрямок. Місто є невеликою проблемою. Ви завжди можете працювати дистанційно або ми можемо допомогти з переміщенням. Тепер у нас є два хлопці з Таганро і два з Северодвінськ.
Ярослав Маркін, засновник і CTO Evil Martians, інтерв'ю, звичайно, залежать від того, що очікується кандидата в зазначену позицію. Я підтримую підхід, в якому інтерв’ю досить легко (базикові питання для перевірки загального рівня кандидата), і завдання тесту складно. Після того, як ви не можете орендувати розробника, не перевіривши якість коду, який вони видають.
Однак я можу сказати вам від мого досвіду, що навіть простий інтерв'ю окупається і допомагає нам вивести величезну кількість кандидатів: маса професійних програмістів, які отримали гідну зарплату для ознайомлення конкретної мови або платформи, часто не знаю більшості базових речей – і це потенційні проблеми з безпекою додатків і продуктивністю і низькою якістю коду від самого початку розвитку, що робить підтримку програми важко і дорого в майбутньому. Найголовніші питання про безпеку, можливості та структури мови, а також закономірності об’єктивно-орієнтованого програмування, часто достатньо зрозуміти рівень кандидата.
Для портфеля необхідно звернути увагу на завершені проекти та роботи. Кандидати з величезною кількістю мов і платформ, що вказані на резюме, часто зустрічаються, але з невеликою кількістю (і якістю) виконаних проектів. Дуже важливо для онлайн-бізнесу (і це важливо для стартапу!) зрозуміти пріоритети розробника. Необхідно звертати увагу на людей, які є фундаментально важливими для забезпечення готових проектів, які можуть працювати на бізнес- показниках і бути гордими за їх результатами; в той же час, є велика кількість розробників, які зацікавлені тільки на мовах і інструментах, які використовуються (більше і різні), і не повернення на власну роботу. Нерідко ці кандидати змінюють роботи кожні шість місяців, стрибаючи від стартапу до запуску. І, цікаво, часто ці кандидати з великою і вражаючою технологією портфоліо досить поверхневі знання цих технологій.
Профілювальна освіта важлива для деяких спеціалізацій – наприклад, не можна професійно залучати до сучасної графіки в відеоігри без хорошої математичної бази. Для більшості розробників (веб програмування, розробка додатків для бізнесу тощо), це не важливо. Цікаво, що велика кількість відомих програмістів, в тому числі, наприклад, співавторів ядра Linux або деяких авторів популярних мов програмування, не мають спеціалізованої освіти.
Набагато важливіша ініціатива кандидата, готовність навчатися і спробувати все нове. Наприклад, для того, щоб зберегти знання у відповідному веб-програмі (сучасних мовах та фреймворкціях), необхідно отримати інформацію в першу чергу, опанувавши величезну кількість інформації з блогів, переглядаючи виступи на зарубіжних конференціях та участь у відкритій спільноті.
Цікаво, що багато відомих програмістів, зокрема, наприклад, співавторів ядра Linux або деяких авторів популярних мов програмування, не мають спеціалізованої освіти.
Що дуже важливо, щоб відкрити вихідну активність, особливо для спеціальностей, таких як веб програмування. Так само як дослідник компілює своє резюме від публікацій в гідних виданнях, веб-програміст допомагає брати участь в інших проектах відкритого джерела людей (закінчення мов і рамок, що використовуються тисячами людей) або розвивати свій власний. З моменту першої вакансії моєї компанії, я попросив кандидатам прикріпити посилання на відкритий профіль для оповідання про себе, і нещодавно пропозиція надсилати посилання на свою роботу на GitHub вже знайдена практично в усіх вакансій веб-програматора в сучасному мовному або каркасі.
Безоплатна та віддалена робота є фундаментально різними речами, які багато людей плутають. Якщо ми говоримо про фрілансування, хочу звернутися до колеги Артема Горбунова, керівника конструкторського бюро з тієї ж назви: «Філансер – людина, яка не несе відповідальності за все». Перш за все, при роботі з фрілансером, потрібно розуміти ризики: що буде відбуватися до проекту, якщо робота затримується на тиждень? За місяць? Звичайно, в деяких випадках неможливо обійтися без контакту з фрілансером, як правило, якщо компанія не має необхідної компетенції і не буде потрібно постійно: відомі фахівці в дуже вузьких областях дуже часто працюють як фрілансери.
Однак, якщо необхідно надати сторонній розвиток фундаментально важливо для бізнесу, варто шукати спеціалізовані компанії з хорошим портфелем. Залучення сторонніх компаній для стартапу або інтернет-бізнесу варто в наступних випадках:
Pivot, коли основна мета існування компанії полягає в тому, щоб знайти масштабовану бізнес-модель, з якою працювати далі. Прихильники спекотних працівників є трудомісткими і особливо важливими – вимагає найматих людей, які можуть забрати людей, які не захоплюють їх у випадковому порядку. У цьому випадку, це має сенс витрачати, припускати багато грошей, на найшвидший пошук MVP.
Зростання: Компанія знайшла масштабовану бізнес-модель, і зараз головне - захопити ринок. Вам необхідно зробити максимальну кількість функціональних можливостей максимально швидко. Робота ніколи не невелика, і залучення сторонніх компаній на цьому етапі може принести великі переваги.
Ми допомагаємо стартапам на цих етапах, крім того, ми вибираємо, шукаємо та наймаємо працівників вже встановленого стартапу, коли знання та технічні знання повинні накопичуватися всередині.
Наша компанія працює повністю віддалено протягом шести років, з близько тридцять співробітників, розсіяних з Будапешта до Балі. Ми зрозумілі прихильники та адвокати цього підходу до роботи. Дізнатися більше про це можна в популярній книзі Rework. Бізнес без преюдії Джесон Фрід і Девід Хайнмеєр Ганссон На додаток до явних переваг, можна найзручніше найзручніших працівників без прив’язки до місця розташування. Віддалена робота дозволяє миттєво виявити проблеми в плануванні і спілкуванні, швидко вирішити, чи людина справляється з роботою. Дійсно, для більшості людей, цілком незалежна робота може бути складним. Однак, якщо ви найняти таку людину в офісі, вона тільки приховує свої проблеми з самоорганізацією. Отже, якщо ви працюєте з фахівцем дистанційно, директор завдання не зацікавлений в тому, скільки годин на добу він працює і чи витрачає час на соцмережах – головне, що завдання було зроблено вчасно і ефективно. У разі роботи в офісі ці проблеми приховані – людина сидить в офісі під час робочого часу, працює на комп'ютері, як ви знаєте, чи є проблема?
Для того, щоб остаточно прийняти рішення про надання кандидата, ми обов'язково даємо йому тестове завдання після співбесіди. Є компанії, в яких кандидат пропонує вирішити проблему на папері в короткі терміни, але, на мій погляд, цей шлях ви можете милити дійсно талановитих розробників, які є елементарними нервовими або втомленими. Тому ми надаємо завдання на самостійну роботу в спокійній атмосфері протягом декількох днів.
Однак завдання тесту не тільки надано перевірити рівень кандидата. Дуже важливо перевірити свої обов’язки і можливості зв’язку. Ми намагаємось створити повну ілюзію середовища роботи: є завдання, завдання необхідно оцінювати в години і зробити певним терміном. Звичайно, необхідно впровадити на належному рівні. Кількість кандидатів усувається тільки тому, що вони не просять правильні питання і роблять завдання невірно або неповноцінно; часто кандидати не попереджають, що вони не встигнуть зробити все за терміном, часто ви почуєте вимови про те, чому завдання не було зроблено. Все це дозволяє надійно судити, які проблеми можуть бути при роботі з кандидатом в реальні умови.
В якості тестового завдання ми зазвичай даємо трохи узагальнену проблему реального світу від проекту, який знаходиться в плані; узагальнено так, що кандидат просить розробити його як відкритий проект для повторного використання в інших продуктах. Це дозволяє перевірити знання організації коду та архітектури: часто розробники, впевнено пройшли просту тестову задачу, починають «співати» в проекті, як тільки вона стає більш складною в архітектурі.
Переваги даного підходу багато: якщо завдання виконано якісно, код використовується на цьому проекті. Кандидат бачить, що він не був винайденим завданням, але просить вирішити реальну проблему - навіть якщо він не робить пропозицію, він зможе показати цей код майбутнім потенційним роботодавцем. Нарешті, ви можете поповнювати свій портфоліо opensource – навіть до того моменту, що один з наших розробників відразу після завершення тестового завдання був надана безкоштовна ліцензія для популярного IDE (середовище розробки) за внесок у відкритий джерело.
Дмитро Колобов, технічний директор Habrahabr.ru Для мене освіта кандидата не така значна. Більш важливим є його практичні знання: які технології він працював, які проекти він взяв участь в тому, що він зробив. Досвід роботи в проектах високого навантаження зазвичай є плюсом. Ми знайшли останні чотири програми для розміщення вакансій на власних ресурсах, колишніх Гантім.ру та тепер Brainstorage.me. Перший етап скринінгу на основі листа та резюме. Як правило, ви можете побачити, чи підходить людина в навичках або ні. Далі ми записуємо і запрошуємо Вас до інтерв’ю в офісі або по Скайпу, якщо кандидат знаходиться в іншому місті. Ми не маємо тестового завдання. Про те, що ми робимо і про роботу, щоб зробити.
Я думаю, що це важко для новачків, щоб вирішити технології та оцінити технічні навички кандидата. Тому я шукаю, які проекти кандидат реалізовані, як він взяв участь в них, як добре ми підходимо один одному, в розумінні, що ми розуміємо один одного і як бачимо певні речі. Ви можете попросити те, що вам подобається в Інтернеті, які проекти та вподобання. І, звичайно, ніхто не скасував період пробації.
Андрій Татарінов, технічний директор Звоок Дипломи університетів з комплексними вступними іспитами та програмою (МСУ, МСТУ, МРТ, МЕПХІ, СПбУ) є ознакою хороших психічних здібностей кандидатів. Як і робота в компаніях з суворим управлінням обличчя на вході: Yandex, Mail, Badoo, Undev. Портфоліо часто вводить в оману. Оскільки не зрозуміло, скільки часу кандидат, який проводився на конкретному об’єкті в портфоліо, і який розмір його внеску на цей об’єкт. І, нарешті, я був більш важливим для інтерв’ю та поведінки кандидата та реагування під час спілкування. У інтерв'ю я використовую кілька питань:
Прості, конкретні питання, що показують, чи може кандидат програмувати всі (наприклад, FizzBuzz).
Питання про те, як працюють речі, такі як «що відбувається, коли користувач відкриває свій сайт в браузері». Ось я хочу почути:
Мережа, DNS, TCP,
nginx, кешування, з'єднання басейнів, серверів додатків,
- рамки, маршрутні запити в рамках,
бази даних, підключення бази даних, підключення басейну, передачі даних тощо.
Проблеми з змінними параметрами.
"Напишіться..." - наприклад:
веб-служба, де можна малювати кола,
- і тепер кола і квадрати,
до І зірки,
І тепер ми маємо багато користувачів.
Багато, сервер не працює.
і т.д.
Як правило, якщо кандидат відповідає такі питання, знання конкретної мови програмування не є невід'ємною. Важливо, чи готовий до програми на мові та засадах, які приймаються у вашій компанії.
На додаток до наймаючих команд, існує практично завжди можливість скористатися послугами аутсорсингу / зовнішніх підрядників. Як правило, система, яка розвивається, може бути розділена на дві частини: сама платформа і деякі спеціальні проекти на її основі. Для розвитку платформи, як правило, варто брати фахівців в штат. Це базова експертиза компанії, яка повинна бути оцінена. Попит на ресурси в цій сфері відповідальності зазвичай добре прогнозується і досить стійкий. Основна команда не повинна бути розширена безконтрольно. Аутсорсинг може бути використаний для проектної роботи. Це дозволяє впоратися з піковими навантаженнями розвитку (це місяць потрібно 10 спеціальних проектів, наступного місяця - ні) і не відволікаючи базового розвитку.
Місто аутсорсингу не має значення. Для роботи з аутсорсинговими компаніями та проконсультуйтеся з кандидатами, які пропонуються. Я мав досвід роботи з компаніями, де є кілька центрів розвитку: Москва, Санкт-Петербург, Київ, Мінськ, Воронеж. Але при поході віддаленого розвитку необхідно пам'ятати, що контроль є дуже важливим: часте регулярне синхронізація за статусом, формальне завдання налаштування, з'ясування результатів роботи внутрішнім командою перед подачею.
Ілля Соланов, Директор з розвитку спорту.ru Є два основні стратегії формування команди розробників - наймаючих і аутсорсингових компаній.
Персонал-програмісти добре керовані і мобільні, вони страждають продуктом, який вони створюють, і технічні експерти компанії ростуть навколо них. Це важко зробити просунутий мобільний гру, якщо всі розробники є застарілими. Але з їх інженерами дійсно багато проблем: важко знайти, важко тримати, вони більш дорогі компанії з точки зору зарплати і умов праці.
У стартапі, перш за все, потрібно подумати про аутсорсингову команду. Це, як правило, хороші вправи, щоб спробувати ваші плани розвитку аутсорсингу. Крім того, ви завжди можете просто припинити комерційний договір з аутсорсингами, якщо ви не хочете продовжити робочі відносини.
Ринок зовнішньої розробки став серйозним протягом останніх кількох років, тепер ви можете знайти відмінну команду в Росії, Білорусі або Україні практично для будь-якого завдання, і хлопці будуть працювати як вони повинні. Ви можете розпочати пошук з РФ, не потрібно негайно піти за кордон. У Мінську ви можете знайти хорошу команду значно дешевшим, ніж в Москві. У Києві теж не дешевше, ніж у Єкатерінбургі або Челябінську. Спорт.ru в 2007 році було запущено на аутсорсингу Олега Буніна, і ще деякі програмні продукти, які ми розробили для розробників, а деякі – сторонні команди.
Вибір стратегії персоналу також залежить від виробленої продукції. Якщо бізнес стартапу базується на програмному продукті, це практично неможливо зробити щось проникнення іншим людям. Коли є просто ідея, засновники, веселки і непристойні перспективи, припливаючи сильні інженери непросто завдання. У таких умовах засновники бізнесу повинні запрошувати своїх партнерів на умовах акцій, акцій, опцій. І цілком можливо продати таку історію на крутий розробник від великих корпорацій, коли ще немає нічого в компанії. Ну і потрібно розуміти, що таке партнерство не означає подальшу роботу технологічного лідера для їжі і з невеликою зарплатою.
Аутсорсинг найчастіше приймається компаніями, які надають послуги під ключ: мікроменеджмент, розробка, тестування, доставка продукції. Кращий спосіб пошуку за рекомендаціями друзів і відгуків клієнтів. По суті, запис доріжки є визначальним фактором. У штаті вони шукають конкретних людей за певну позицію: в професійних і не дуже соціальних мережах і все ще на ресурсах з вакантами і резюмеми. І в першу чергу оцінюється особистість потенційного працівника, його навички та знання. Запис доріжки грає вторинну роль.
Я б рекомендую, що стартапи не допускають послуги рекрутингових агенцій: по-перше, дорогі, довгострокові, ненадійні, і по-друге, необхідно дізнатися про продаж своєї ідеї і майбутнім працівникам, не тільки інвесторам і покупцям. На додаток до мережі, необхідно зробити шум на ринку, партіях, конференціях, сайтах профілю, в медіа. Це допоможе майбутнім працівникам приймати рішення на користь вашої компанії.
Коли ви вивчаєте відповіді на вакансію, нехтуйте резюме: його зміст може розповісти про людину до зустрічі. Кожен має свої маркери безсонності в резюме, які ви можете вислухати кандидата перед співбесідою. Наприклад, я намагаюся уникати зустрічі людей, які пишу про себе як «webmaster» («до PHP, MySQL, Photoshop, Apache, 3dmax, Java та об'єктивно-C») або які після десяти років досвіду, ще писати про їхні шкільні досягнення: «друге місце в олімпіаді міста. й
На інтерв’ю варто починати з обговорення досвіду роботи кандидата (у яких командах він працював, що він зробив себе) і переміщаючись на навички (що знає, що знає, завдання – хто любить те, що). Слід розуміти, що рівень питань інтерв’юера визначає рівень компанії в очах кандидата: малоймовірно, що кандидат погоджується працювати, якщо весь інтерв’ю було здійснено алгоритмами та чисельними методами, а навпаки – якщо інтерв’ю не просить єдиного технічного питання на зустрічі.
Михайло Табунов, технічний директор компанії Coub Raw початківці, ми не беремо, Coub вже досить складний продукт і ми не можемо дозволити собі взяти нульові розробники і витягти їх. Ми шукаємо сильних програмістів. З точки зору вибору параметрів, освіта не має значення, де людина походить від, вона не має значення. У нас є розробники з усього світу, з різними фонами та фонами.
У інтерв'ю ми надаємо всі стандартні проблеми програмування. Це не дивно простий, навіть наш обліковий запис продажів вирішив його. Але вирішується близько 70% заявників. Звичайно, ви повинні подивитися на код, подивитися, що кандидат зробив до, де він використовувався для роботи. Доброго дня! Якщо ви часто зміните робочі місця, то це причина, щоб подумати. Звичайно, людина повинна входити в команду.
Аутсорсинг підходить тільки для індивідуальних, добре сформованих завдань, які не сильно пов'язані з основним процесом. І тільки з дуже надійними, перевіреними часом фрілансерами. Просто держава, просто хардкор.
Джерело: теоріяandpractice.ru