Дефіцит класних фахівців — схоже, що ця проблема спільна для всіх сфер бізнесу, та найактуальніша вона, мабуть, для ІТ. Пошук фахівця середнього чи вищого рівня може тривати довго — такі кадри рідко шукають роботу і їх часто доводиться «переманювати». Однак не завжди компанія потребує саме такого «прокачаного» працівника, адже деякі завдання можна довірити й junior-фахівцеві, що згодом стане суперпрофі. На бажання компанія може допомогти новачкові вирости від джуна до мідла.
Чи варто ставати «кузнею» кадрів і яка користь від того для бізнесу — розбираємося далі.
Хто такий джуніор-розробник?
Джуніор-розробник (Junior Developer) — це новачок у програмуванні, фахівець з досвідом роботи до року чи взагалі без досвіду, який щойно ступив на стежину ІТ. Зазвичай це люди, які нещодавно закінчили курси, пройшли інтернатуру чи навчалися самотужки. При цьому джун уже має невеличкий досвід роботи з якоюсь мовою програмування (скажімо, php чи python), вміє писати прості програми, розуміє їх принцип і може розібратися в чужому коді з коментарями.
Indigo Tech Recruiters School – новий стандарт знань в IT-рекрутингу. Спікери курсу: Ірина Шамаєва, Стаська Падалка, а також експерти з Garmmarly, DataArt, Медіа-Групи Україна і, звичайно, Indigo Tech Recruiters.
Дивитись програмуЧим відрізняються джуніор, мідл і сеньйор?
Джуніор-розробник — це фахівець, здатний виконувати прості рутинні завдання з перспективою росту, але потребує менторства й підтримки досвідчених колег, щоб зрозуміти, як розвиватися й стати мідлом. Фахівець на цьому рівні для компанії — це умовні «руки», що можуть виконувати чітко поставлені технічні завдання.
Чинник самостійності — це основна різниця між джуном і мідлом. Мідл-розробник може створювати програми самостійно, менторити початківців і вільно розбирається в чужому коді. Такий фахівець знає стандартні шаблони/розв’язання для створення застосунків у своїй галузі й розуміє, як і навіщо їх застосовувати. Мідли — «золота середина» для компанії. Вони вміють розв’язувати бізнесові питання, ставити технічні завдання, уточнювати за наявності потенційної проблеми й брати активну участь у проєкті разом з іншими членами команди.
Фахівець вищого рівня не просто розв’язує рутинні завдання, а й працює з архітектурою і взаємодією систем. Він має ухвалювати правильні технологічні рішення для проєкту. Такий працівник бачить потенційні «вузькі» місця, де можуть виникнути проблеми й усуває їх ще на етапі розробляння. Сеньйор для компанії — це «голова» й розв’язання важливих питань. Зазвичай цей фахівець пише простий та лаконічний код і прагне стратегічно закрити бізнесові завдання.
Важливо розуміти, що в ІТ рівень позиції не залежить від віку, а сеньйорів і мідлів визначають за кількістю пропрацьованих років. Насправді ланцюжок «джуніор — мідл — сеньйор — лід» не такий, як здається на перший погляд. Сеньйор може бути молодший за джуна, але відрізнятися від нього накопиченим багажом знань, факапів і навичок.
У яких випадках компанії потрібен джуніор-розробник?
Досвідчений розробник рідко шукає роботу. Щоб закрити вакансію, зазвичай доводиться перелопатити десятки резюме й навіть зазирнути до «золотого фонду» конкурентів.
Однак, поклавши руку на серце, не всім компаніям потрібні лише фахівці вищого рівня, та й не для всіх завдань вони доречні. Джун, що палко бажає вчитися, працювати й розвиватися, зможе закрити частину простих і рутинних процесів. Звісно, під менторством мідла.
Які плюси від наймання джунів?
- Швидкість. Досвідченого розробника можна шукати довго, а знайти джуна з мінімальними потрібним набором скілів та знань і «підкувати» його — значно простіше та швидше.
- Бюджет. Навіть якщо врахувати, скільки часу потратить мідл на навчання фахівця-початківця (враховуючи втрати від його факапів), найняти джуна буде дешевше.
- Довгострокова перспектива. Компанія отримає лояльного фахівця, і якщо він бачитиме можливості для розвитку в компанії і зростання зарплати, то може зостатися в ній надовго.
- Відсутність «шор». Нова людина, що прагне зростати професійно, ставитиме багато запитань, мимохідь виявляючи хиби й вади коду, на які через «замиленість» команда вже може не зважати. Окрім того, пояснюючи щоразу, як працює система, ментор може виявити приховані проблеми, як-от брак документації, через що й виникають такі питання.
- Бажання вчитися. Початківці прагнуть дізнатися якнайбільше, щоб якнайшвидше зрости професійно. Джун не лише перейматиме знання від свого ментора, а й напевно повсюди розглядатиметься і вивчатиме цікаві кейси інших компаній, намагаючись перетягти нові ідеї до свого проєкту.
- Розв’язання старих проблем. Новачок може просто не знати, що поточна проблема — це непозбувний головний біль усієї команди й може випадково її розв’язати. Адже він не має внутрішнього бар’єра, що це неможливо.
- Нові технології. Неймовірно, але факт: джуни зазвичай одразу навчаються нових технологій і можуть знати їх теорію краще, ніж навіть сеньйори, що роками працюють у своєму стеку за певним алгоритмом.
- Апгрейд ментора. Людина, що ретельно пояснює щось комусь іншому, сама поліпшує знання предмета. Особливо якщо учень ставить питання. Джун може «струснути» свого ментора й допомогти йому згадати нюанси технологій. Окрім того, наявність учнів показує досвідченому фахівцеві, що його цінують у компанії.
- Окупність. Попри зарплатні витрати, втрату ресурсів і потенційні помилки новачка, наймання такого працівника може окупитися вже за пів року — заощадженням коштів у фонді оплати праці й наявністю доброго фахівця.
-
Близькість до ІТ професії. Джун може прийти з qa або працювати раніше тестувальником — і цілком успішно розвиватися у front-end, java чи c#.
У чому мінуси від наймання джуніор-розробників?
- Ризик факапів. Не помиляються лише ті розробники, яких не допускають до коду. Щоб змінімізувати шкоду від помилки новачка, потрібен добрий ментор і багато бекапів.
- Ресурсні затрати. Значна частина ресурсу ментора йтиме на навчання джуна, не на його безпосередні завдання з проєкту.
- Звільнення. «Ми його всього навчили, а він пішов» — звісно, і такі ситуації також бувають. Новачок, «підкувавшись» у вашій компанії, може піти в іншу на ліпшу посаду чи більшу зарплату. Але зазвичай «зрощені з нуля» фахівці лояльніші за інших, якщо, звісно, вони бачать в компанії перспективи для росту.
Як організувати роботу джуна?
- Базова інформація і документація до продуктів. Працювати з джуном-програмувальником за «бразильською системою», кинувши його в океан коду — дуже ризикований варіант, що може призвести до втрат. В новачка має бути вся потрібна базова інформація: до стеків, продукту, корпоративна документація, доступи, стандартизація.
- Ментор. Щоб джун виконував завдання з мінімальними втратами і зміг стати суперовим фахівцем, йому потрібен ментор — людина, що ставитиме завдання, контролюватиме їх виконання, «підстилатиме соломку» й навчатиме. Найчастіше менторами стають сильні фахівці середнього рівня.
- План розвитку. Прийшовши в компанію, працівник має розуміти, як він розвиватиметься далі і які бичі й калачі будуть у нього на шляху. Окрім того, за наявності плану розвитку сама компанія може робити проміжні зрізи, оцінюючи зусилля й мотивацію працівника.
Усі новенькі працівники в компанії якоюсь мірою стають джунами, поки розберуться з робочими процесами. Працівник на старті може стати чудовим надбанням для команди та справжнім профі, а може зафакапити все. Успіх в роботі з новачками будь-якого рівня часто залежить від самої компанії.