Ми хотіли найняти штат програмістів в продукт. З бюджетом це виявилось не так вже й складно
[Роман Сенів — CTO в CopeCart GmbH, Founder у e-freight.eu. Спеціалізується на теоретичних і практичних сторонах моделювання процесів розробки програмного забезпечення, включаючи Lean Software Development і Agile Software.]
Кілька тижнів тому було опубліковано статтю одного колеги, і хоч я здебільшого погоджуюся з ним, та вирішив написати про свій досвід побудови команди з нуля. Зізнаюся, я спеціально вибрав таку назву статті, щоб зіграти на контрастах. Не маю на меті ані критикувати, ані захищати, а лише розповісти про власний досвід, який, можливо, буде вам корисний.
Нині я CTO компанії CopeCart GmbH. До цього займався власним стартапом, а ще раніше багато років працював в аутсорсі чи не на всіх фронтах: починав як Junior Java developer, а потім був технологічний і процесний консалтинг, різні рівні менеджменту й продаж. Досвід великий і широкий, але в жодному з аспектів назвати себе експертом уже язик не повернеться :)
Замість передмови, або Просто/складно
«Просто» й «складно» — це суб’єктивні оцінювальні судження, і кінцевий вердикт здебільшого залежить від початкових очікувань. Мені добре відомі реалії нашої сфери, де на 5 розробників — 6 вакансій, тож не було ілюзій, що до нас, як метелики на квіти, позлітаються найкращі програмісти й битимуться за місце в нашій команді. Тож, набравшись терпіння, приготувався, що це буде тривалий процес (хоча зізнаюся, я не очікував, що він буде аж таким тривалим).
Контекст
Був собі стартап, який жив і розвивався за типовою специфікою стартапів: усе й на вчора, користувачі чекають — потім переробимо. Розробку вела одна аутсорсингова компанія. Стартап заснували одні з найкращих німецьких маркетологів, тож із продажем проблем не виникло, і вже на сьомий місяць оборот сягнув понад 400 тис. євро на місяць. Тут засновники й зрозуміли, що вони вже не зовсім стартап, і потрібно думати про розвиток і побудову власної організації. Девцентром вибрали Львів, оскільки тут перебувала більшість команди, а тому ми могли бути принаймні в одному географічному місці. До того ж тут їх доля звела зі мною.
Уже за місяць після мого приходу валовий оборот «стартапу» подолав позначку 1 млн євро на місяць (хоч я до цього зовсім не причетний 😊) і ми зіткнулися з низкою проблем, які були значною мірою наслідком стартапного поспіху перших місяців. Ми зупинили розробку нових фіч, і почалося плато стабілізації, що здебільшого вплинуло на вимоги до команди.
Технічні вимоги прості: Ruby, Rails і Vue.js — доволі типова комбінація — хостимося на AWS: EC2, RDS та Redis, але цього не вимагали. Проте, оскільки наш проект — це фінансова система + пам’ятаємо про плато стабілізації, то до списку додали й інші вимоги: увага до деталей і розуміння шаблонів проектування, рефакторинг і тестування, девпрактики й робота в команді (не плутати з парним програмуванням). Досвід роботи у фінансових проектах, звісно, — велика перевага.
Водночас низка інших стандартних вимог, наприклад англійська або презентації, були не в пріоритеті. Навіщо ускладнювати й без того нелегкі пошуки...
Як знайшли людей
Розмірковуючи за принципом Force Field Analysis, я розумів, що в нас високі вимоги, не так багато «за» й досить сильні «проти». І вірите чи ні, але доволі класним людям доволі класно там, де вони є зараз. Тому не завадило б, щоб і зірки трохи зійшлися, і тоді ваші «за» переважали б ваші «проти». Почнемо з останніх.
Проти
Стабільність
Я всім говорив, що мій горизонт планування — два роки, отже, якщо ми хочемо стабільности від кандидата, то було б справедливо запропонувати йому це навзамін. У мене вже був гіркий досвід відкриття офісу для однієї ірландської компанії, коли зі мною не розрахувалися (ледве забрав свої гроші, якими розраховувався за ремонт, столи тощо). До речі, за рік ще й людям припинили платити, і вони там ледь не компи продавали, щоб хоч чимось розплатитися.
Навчений гірким досвідом, я ввів правило, що того дня, коли кандидат приймає офер, німецька компанія переказує до Львова депозит у розмірі 2 місячних зарплат, щоб у разі форс-мажору ми могли розрахуватися з людьми й забезпечити їм комфортний місяць на пошуки нової роботи.
Також важливо було розказати й за потреби показати на співбесіді графік revenue в часі, щоб кандидат міг особисто переконатися, що ми вже не зовсім стартап.
Індивідуальні зростання й розвиток
Тут доводиться чесно зізнаватися, що зростання й розвиток у нас дуже обмежені. На цьому етапі ми будуємо команду на 15 людей, тому немає потреби кимось керувати.
Я говорив відверто: слово tech-lead має дві частини tech і lead, і якщо ви (кандидат) хочете розвиватися за вертикаллю tech, то в нас для цього будуть і можливості, і час. Проте якщо кандидат хоче розвиватися за вертикаллю lead і відходити від роботи руками, то ми не можемо цього обіцяти, принаймні в найближчі два роки.
Соцпакет
У нас невелика команда, і ми орендуємо маленький офіс у центрі міста. Тому не можемо зробити ані спортзалу, ані кабінету масажу, корпоративних тренінгів та інших схожих плюшок у нас теж немає, бо розміри не ті. Тож ми вирішили зосередитися на тому, що можемо зробити. Правило просте: якщо ми щось не робимо, то не робимо, але якщо ми щось робимо, то в нас повинно бути краще, ніж в аутсорсі: якщо холодильник, то переповнений, якщо страховання, то на сім’ю, якщо спортзал, то преміум. (Забігаючи наперед скажу, що це виявилося далеко не основним чинником у прийнятті рішення, але коштує воно недорого, а команда це цінує, тож ми продовжуємо).
Відпустки й лікарняні
Кілька разів мене запитували й про таке. Також комусь потрібно було формально підтвердити, що в нас відпустки, вихідні та лікарняні згідно із законодавством України, попри те, що ми ФОПи й без будь-яких медичних довідок. Останнє є результатом наших цінностей. У нас немає звітування часу: якщо людина працює, то байдуже, скільки часу вона працювала, а якщо людина не працює, то байдуже, скільки б вона не працювала.
За
Спочатку я собі цього взагалі не уявляв, бо ми типовий девцентр типової іноземної компанії зі ще однією крутою системою... Проте вже перші співбесіди засвідчили, що саме стало однією з основних точок вибору кандидатів — це сам підхід до пошуку людей, а точніше вимоги. Знайшлося достатньо (для мене) охочих працювати в сильній команді, з високими стандартами коду й девпроцесу та без зайвої бюрократії. Прикладом цього є один з наших хлопців, який після співбесіди показав у мобільному свій профіль на джині й вимоги до роботодавця, що чи не слово в слово дублювали наші вимоги до кандидатів (оце так зірки зійшлися!).
Як проти перетворили на за
Ця галузь динамічно розвивається, до того ж паралельно Євросоюз зі свого, а Штати зі свого боку пригвинчують гайки. Тож нам доводиться інтегруватися з багатьма системами й досліджувати (а часом і вигадувати) речі, яких ще наразі немає (або ми про них ще не знаємо). Але практика свідчить, що кандидати, у кожного з яких, мабуть, у душі живе дослідник, навпаки, розцінювали це як велику перевагу. Тож ми облишили соромитися та розпочали з гордістю про це розказувати, не забуваючи й про ложку дьогтю: про те, що у всякому разі все колись перетворюється на рутину, а також із першого разу рідко коли що вдається.
Мої помилки
Система
Це для мене абсолютно нова галузь, тому спочатку я не розумів, що то за бізнес і що то за система. Це тепер я такий прошарений, а спочатку чи не двох кандидатів утратив через те, що вони неправильно зрозуміли, що то за система. Хоча як згадаю, як я пояснював, то дивно, що люди тоді взагалі хоч щось розуміли :)
Remote
Тоді, коли я згодився на remote + relocate, у мене абсолютно зникли кандидати зі Львова. «Пострілявши» трохи в інших містах і провівши чимало співбесід через скайп, я повернувся туди, де й починав: досить класним кандидатам досить класно там, де вони є, і за моїх хитких позицій переїзд (навіть на місяць рампапу) виявився рівнянням без розв’язку. Тож ми забули про ремоут і сфокусувалися на Львові.
Ruby
Я не рубіст і до Ruby ніколи не належав, тож вимоги рекрутерам дав досить поверхневі. Як наслідок, спочатку було багато нерелевантних резюмешок. Але ми швидко навчилися їх фільтрувати, здебільшого зважаючи на те, чи досвід кандидата був у більших проектах з Rails, чи менших проектах на якійсь із CMS.
Процес співбесіди
Спочатку ми проводили співбесіди в три етапи: я, хтось із команди й офер. Одного разу через проблеми з «логістикою» це затягнулося на кілька тижнів. І я втратив одного цікавого кандидата. Надалі в нас усе проходило за 90 хвилин. Якщо людина прийшла й нам сподобалася, то вона виходила від нас із усним офером.
Літо
Це, мабуть, не помилка, а об’єктивна ситуація, що пошуки проводили у весняно-літній період. Усі кандидати, крім одного, приймали офер, попереджаючи нас про планову відпустку. Хтось переходив, а тоді йшов у відпустку. Інший ішов у відпустку, а тоді вже переходив. Гадаю, у середньому ми б упоралися на місяць швидше, якби почали восени. Хоча хто його знає, бо там Новий рік і Різдво не за горами...
Результати
Через рекрутерів перебрали приблизно 150 резюме. Провели майже 25 співбесід. Зробили 8 оферів, з яких прийняли 5, а на роботу вийшло 4. Решту людей найняли за рекомендаціями.
Середній час від оферу до виходу на роботу — 6 тижнів. Максимальний — 9.
Важливою умовою було зробити умови праці не гіршими, а подекуди й значно кращими, ніж деінде. Достатньою умовою виявився й сам підхід до пошуків, а точніше вимоги до системи та коду, які транслювали у вимоги до команди.
У результаті ми вийшли з 0 до 13 за 6 місяців. Двох-трьох людей я б ще найняв, але вважаю, що вже маю досить укомплектовану гарну команду, у якій кожен учасник бодай у чомусь розумніший за мене!!
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
73 коментарі
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.