У джунів вічна проблема пошуку роботи полягає в тому, що більшість компаній воліють наймати вже досвідчених розробників – тобто, людей, яким не потрібна підготовка для виконання своїх завдань. Зокрема, навіть для стартапів немає сенсу наймати когось на нижчу ставку, якщо ця людина не може впоратися з поставленим завданням. Виходить традиційна картина:
Немає досвіду – немає роботи, немає роботи – немає досвіду.
Так, що ж, Джуни залишаться не при справах?
Компанії, запам’ятайте:
Якщо Ви не хочете наймати Junior – фахівців, то Ви не заслуговуєте Senior’ів.
Ось список причин, через які компанії зазвичай відмовляють Junior-фахівцям:
Якщо підсумувати, то виходить, що молодші розробники – це відповідальність, яку компанія бере на себе з почуття обов’язку або через обмежений бюджет. І у компаній з’являються думки «А чому ми повинні? Нехай інші компанії дозволяють собі займатися корпоративними благодійними проектами і неякісною роботою, а ми точно не можемо».
Насправді, те, як Ви наймаєте і поводитесь з молодшими розробниками, є цінним непрямим показником здоров’я Вашої організації, Вашої лінійки продуктів і Вашої внутрішньої культури.
Нижче ми описали кілька пунктів, в яких розібрали, чому джуни – гарне рішення для компаній.
Прямо зараз існує великий попит на розробників, який збільшує вартість найму будь-якого фахівця зі значним досвідом розробки програмного забезпечення. Знайти хороших фахівців важко. У талановитих senior-розробників в основному і так є вибір високооплачуваних пропозицій. Стартапам і невеликим компаніям необхідно залучати потрібних їм талантів на висококонкурентному ринку.
Ці фактори роблять junior-розробників більш привабливим варіантом.
Фактично, більшості компаній навіть не потрібні найкращі інженери. Якщо Ви намагаєтеся створити найкращу пошукову систему або вирішити найскладніші світові проблеми з даними, Вам, ймовірно, слід найняти всього 1% кращих. Однак більшості компаній просто потрібні лідери, які можуть допомогти їх командам обміркувати складні питання, які готові працювати разом для реалізації творчих рішень.
Для більшості продуктів найняти топових розробників – все одно що найняти Пікассо, щоб він пофарбував Вашу квартиру.
Якщо Ви запускаєте продукт і є проблеми з набором персоналу, найняти молодшого розробника матиме більше сенсу – за умови, що Ви навчите і підлаштуєте його під цілі і вимоги своєї компанії.
У кожної компанії є свої власні методики роботи, включаючи стандарти, яких необхідно дотримуватися. Змусити досвідченого розробника змінити свій спосіб дій – наприклад, впровадити нові методи перевірки коду – може виявитися важко.
Вам потрібно буде спланувати, як ефективно використовувати будь-яких найнятих Вами молодших розробників з першого дня, а також як допомогти їм покращити свої навички. Є кілька способів зробити це залежно від робочого процесу Вашої команди. Наприклад, кожен молодший розробник може об’єднатися зі старшим розробником. Парне програмування – ключова частина робочого процесу компанії, що виходить за рамки навчання молодших розробників. Це збільшує їх продуктивність і зменшує кількість виявлених помилок.
Пара з одного молодшого і одного старшого розробника зазвичай еквівалентна двом старшим розробникам і становить менше 75% від загальної вартості. Якщо Ваша мета – максимальна продуктивність при мінімальних витратах, ця пара молодших і старших співробітників повинна стати фундаментальною молекулою Вашої організації.
А з цього випливає…
Senior-розробник отримує ставку в два рази більше, ніж Junior.
Вартість часто виправдана. Очікується, що старші розробники будуть більш продуктивними, ніж молодші.
Однак не всі проекти вимагають багаторічного досвіду, щоб писати код і навіть робити це добре. Кожна програма включає в себе «сполучний код», який пов’язує різні входи і виходи звичним чином. Неважливо, хто це пише. За таку роботу Ви можете платити комусь 28 доларів на годину або 59 доларів на годину: результат буде приблизно однаковий. Якщо Ви наймаєте тільки Senior-розробників, Ви платите більше за пласт роботи початкового рівня.
Код також істотно відрізняється від програми до програми, і знайомство з ним є ключовим фактором продуктивності. У більшості випадків молодший розробник з шестимісячним досвідом роботи в команді буде більш ефективним, ніж старший розробник.
Вищезгаданий сполучний код і предметно-орієнтований код становлять не менше половини всієї роботи з розробки. Залишається код, який дійсно вимагає досвіду старшого розробника. І навіть для цього коду молодший розробник може виконати велику роботу, якщо у нього буде доступ до достатніх освітніх ресурсів і підтримка досвідченого наставника.
Крім того, у Senior-розробників є широко поширена тенденція дискутувати на теми, які в кінцевому підсумку виявляються тривіальними – наприклад, алгоритми, мікросекундна оптимізація і стиль коду. Якщо організація наймає тільки Senior’ів і не має надійного процесу ухвалення рішень, на ці дискусії можуть піти сотні робочих годин. Молодші розробники рідко стикаються з подібними проблемами.
Одна з найбільш вражаючих речей, які можна почути під час співбесіди: «Привіт, я керівник команди, пропрацював тут вісім років і прийшов в компанію як стажер». Небагато людей можуть так сказати. Такий фахівець дуже цінний для компанії: він знає всі продукти, він бачив код кожного проекту в радіусі 100 метрів і працював разом з усіма в організації. Ці люди можуть вводити нововведення в своїй компанії так, як це роблять далеко не всі. І компанія отримує неоціненні дивіденди від роботи цієї людини, тому що вона придумала, як зберегти інтерес протягом восьми років – приблизно однієї десятої тривалості життя. Це ознака успіху культури компанії. Вона визначає місце роботи, де моральних дух високий, хороша робота визнана, а цікаві проєкти чекають за кожним кутом.
З іншого боку фраза «ми не наймаємо джунів» – це відкрите визнання того, що Ваша компанія не готова брати участь в чиїйсь кар’єрі. По суті, це рекламує застій: компанія очікує, що досвідчені і талановиті розробники приєднаються до компанії і зроблять необмежений внесок, отримуючи при цьому тільки зарплату за свої зусилля. Хтось захоче це зробити, але Ви ніколи зможете побачити їх найкращих робіт.
З іншого боку, якщо Ваша компанія дійсно прагне до кар’єрного росту, довільне обмеження щодо молодших розробників служить тільки для скорочення Вашого набору кадрів та скорочення можливого терміну роботи Ваших співробітників.
Молодші розробники мають декілька унікальних рис, які їх більш досвідчені колеги, як правило, вже втратили. Одна з них – сліпий оптимізм. Інша – готовність дотримуватись правил. Але, мабуть, найцінніша риса джунів – відсутність багажу досвіду.
Старші розробники бачили, як технології приходять і йдуть, як проекти зазнають невдач, команди розчиняються в конфліктах та всі інші атрибути технологічного сектора. Вони формують жорсткі переконання і часто надмірно узагальнюють, вважаючи, що те, що працювало (або не працювало) для однієї команди або одного проекту, має бути однаково ефективним для іншої. І це може проявлятися як небажання заглиблюватись в нюанси нового простору проблеми.
Іноді робота менеджера проекту полягає в тому, щоб сказати: «Я знаю, що це не працює, але, можливо, тут це спрацює». І молодший розробник, як правило, найкращий працівник для перевірки цієї теорії – він може створити доказ концепції або прототип, не вкладаючи при цьому ніяких упереджень, накопичених старшими розробниками за всі роки роботи. Джуни часто беруться за таку роботу, випробовують нові інструменти та технології, перебудовують речі по-іншому, доводять ідеї, які всі інші оцінили занадто швидко. Так вони часто знаходять ефективніші способи збірки, і в результаті програмне забезпечення компанії стає кращим. Наприклад, коли час завантаження сторінок стає кращим, кілька сторінок були об’єднані в одну, що зекономило тижні на обслуговування в майбутньому, або компанія змогла виключити неефективні технології, які могли б призвести до втрати часу. Неможливо ігнорувати переваги, які дають чистий аркуш та свіжий погляд.
Багатьом компаніям вдасться зібрати купу старших розробників в одній кімнаті і дати їм можливість досягти згоди з приводу того, як вирішувати проблеми і створювати речі. Але залучення до цього переліку декількох молодших розробників, час яких ви можете дозволити собі витратити на одноразові експерименти та божевільні ідеї, внесе несподівані покращення в ваші продукти.
Коли Ви наймаєте молодшого розробника, вам доведеться інвестувати ресурси в його навчання. Найняти когось з мінімальним досвідом і закріпити його на посаді технічної підтримки або на будь-якій іншій позиції, де він не може вчитися, суперечить самій концепції найму молодшого розробника. Деякі з найкращих компаній інвестують в своїх співробітників, відправляють їх на буткемпи розробників, конференції і дають їм час для спільної роботи над особистими проектами.
Якщо Ви і ваша компанія не в змозі вивчити нового розробника, не кажучи вже про те, щоб навчити його навичкам, які необхідні для підвищення рівня найму молодшого розробника, краще не вкладайте в це свої ресурси. В цьому випадку є сенс платити за досвідченішого програміста. Але якщо Ви готові працювати з джунами, у Вас є можливість навчати саме тих програмістів, з якими Ви хочете працювати – причому, за менші гроші. Це величезна перемога для Вашої компанії. Позитивне ставлення до молодших розробників – важлива ознака якісного місця роботи для розробників будь-якого рівня.
До команди ІТ-компанії входить багато різних спеціалістів. Від розробників і дизайнерів до менеджерів, маркетологів та рекрутерів. Найчастіше між ІТ-компанією як замовником та спеціалістом як виконавцем укладається господарський договір про надання послуг (Services Agreement). Поговоримо про його універсальні положення, на які слід звернути увагу, а також про специфіку контрактів з окремими спеціалістам
Python — саме цю мову для вивчення пропонувала мені таргетована реклама років 5 тому. Я на той момент була так само далека від IT, як і від реклами, тому просто скролила незрозумілі картинки з іншого світу. Не знаю, чи вплинули вони на мене за стільки років, але в результаті саме Python я обрала в якості першої мови програмування.
Нас часто запитують, чи беремо ми junior-фахівців в команду, якими знаннями потрібно для цього володіти, як проходить відбір та багато іншого.
Оцінка працівників — обов’язкова частина робочого процесу. Це важлива процедура, що дозволяє покращити діяльність працівників, дати їм зворотній зв’язок та забезпечити ґрунт для кар’єрного росту. Так людина може краще розуміти цінність своєї роботи, а компанія — бачити вклад кожного співробітника у спільну справу.
У кожної компанії свої методи оцінки. Підсумувавши всі, ми би хотіли виокремити 4 найбільш популярних способи оцінити продуктивність працівників у сфері ІТ.
Поїхали!
Залишити відповідь