Які навички необхідні стажеру аби стати молодшим спеціалістом, та які знання відокремлюють починаючого розробника від досвідченого Senior-фахівця? Якщо ви читаєте цей пост, то, швидше за все, не знаєте або лиш трохи уявляєте в чому різниця між Trainee, Junior, Middle та Senior спеціалістом.
Як і в будь-яких інших галузях, у сфері розробки програмного забезпечення існує певна ієрархія спеціалістів за посадами. Швидкість сходження кар’єрними сходинками залежить від технологічних навичок, лідерських та особистих якостей. Частіше за все, компанії використовують власні критерії оцінювання співробітників. Наприклад, в одній компанії це Senior-розробник, а в іншій — ці ж обов’язки виконує Middle. Та попри це, ІТ-сфера має певні сталі характеристики для працівників кожного рівня. Розглянемо їх далі.
Ієрархія посад в ІТ: від Trainee до Senior
Trainee
Коли ви тільки потрапляєте до світу ІТ, то стаєте стажером або інтерном. Під керівництвом досвідченого ментора ви будете зростати 2-3 місяці (цей термін залежить і від вмінь та старань спеціаліста також, але в деяких компаніях програма стажування передбачає зайнятість на пів року).
До стажера є дві головні вимоги:
• теоретичне розуміння інструменту та деякі практичні вміння для роботи з ним;
• знання англійської мови.
В деяких компаніях пропонують інтернам корпоративні курси з англійської мови. В такому випадку, слід пам’ятати про подвійне навантаження від навчання. Та навряд кандидат зможе потрапити до інтернатури, якщо не має жодних знань — занадто велика конкуренція, оскільки претенденти, зазвичай, мають у своєму “навчальному” багажі завершені курси, а деякі навіть і досвід програмування “для себе”.
Junior
Це наступна після інтернатури ланка ієрархії посад в ІТ. І вона, без перебільшень, буде найскладнішою, якщо ви покинули стажування, а потім через деякий час вирішили повернутися до індустрії. Щоб влаштуватись на посаду Junior-спеціаліста без стажування, потрібно мати власні напрацьовані проекти, які продемонструють ваші технологічні навички.
Молодший спеціаліст повинен фундаментально знати теоретичну частину своєї професії та мати базове розуміння суміжних областей.
Серед soft skills, які стануть у пригоді, можна виділити:
• бажання розвиватись і навчатись (особливо, на своїх помилках);
• цілеспрямованість;
• адекватна реакція на критику;
• самоконтроль.
Основну вимогу до такого фахівця можна вмістити в одне речення: вміння вирішувати не надто складні технологічні задачі самостійно або під наглядом досвідчених колег. Якщо зараз ви займаєте саме таку посаду, не бійтесь просити поради, коли розумієте, що застрягли на одному місці. В таких ситуаціях свою низьку продуктивність не варто перекладати на те, що ви Junior і багато чого не знаєте.
Middle
Фахівець цього рівня бере більше участі у прийнятті рішень та спілкуванні із клієнтом. Він також продовжує самостійно вирішувати завдання, але вже не тільки технологічні. Здатен реалізувати задачу на 1,5-2 години швидше за молодшого спеціаліста. За рахунок більшого досвіду спеціаліст знає, як перевести потребу бізнесу у технологічне рішення та який підхід запропонувати у конкретному випадку.
Так, наприклад, middle-розробник розуміє для чого саме розробляється продукт і завдяки цьому реалізує максимальну кількість сценаріїв, щоб попередити нестандартні дії користувача. Це саме та людина в команді, що знає стандарти шаблонів та рішень та керуючись ними може відрізнити добре написаний код від поганої реалізації.
До soft skills junior-спеціаліста додається вміння співпрацювати із командою та обговорювати нюанси роботи для досягнення єдиної цілі. Не зважаючи на досвідченість, все ще потребує допомоги для розуміння напрямку роботи чи при прийнятті складних рішень. Але іноді може бути і наставником.
Senior
Цей щабель ієрархії посад в ІТ займає досвідчений працівник, який в першу чергу не потребує менторства. Він багато працював з кодом та, частіше за все, володіє розширеним стеком технологій. Його основне завдання — приймати правильні технологічні рішення, які будуть мінімізувати витрати та приносити користь бізнесу. Досвід роботи дозволяє передбачати проблеми у роботі продукту.
Високий ступінь довіри керівництва до такого працівника відкриває для нього можливості змінювати архітектуру, орієнтуючись на власне бачення. Але для цього Senior повинен володіти добрими комунікативними навичками, щоб запевнити у своїй правоті як команду, так і замовника. Донесення думки до колег повинно бути обґрунтованим, тому без розуміння інструментів розробки стати спеціалістом вищого рівня — не вийде. Фахівець може впливати на команду і зі сторони технологічної розробки: розподіляти задачі, виставляти пріоритети тощо.
Після певних успішних досягнень Senior може отримати пропозицію перейти на посаду Tech/Team Lead або Архітектор.
Що це за посади і які обов’язки вони мають:
• Tech/Team Lead – це людина, яка має управлінські здібності та технологічний досвід. Вона організовує ефективну роботу команди, відповідає за розподілення задач (щоб у кожного члена команди була робота), вирішує конфліктні ситуації, оцінює професійний ріст колег та допомагає знаходити напрямки для підвищення кваліфікації.
• Архітектор – найбільш технологічно обізнаний спеціаліст у команді, що будує архітектуру усього продукту. Він працює з ризиками та проблемами, що виникають у процесі розробки. Консультує колег, може проводити фінальну перевірку коду. Цей фахівець повинен доводити до досконалості свої знання, оскільки його завдання – пошук оптимальних рішень, які будуть відповідати потребам замовника.
Якщо розглядати ці дві позиції зі сторони професійного зростання для Senior, то перша — буде кроком вбік, оскільки на ній ви будете прокачувати свої soft skills. Друга ж, безумовно, передбачає постійне підтримання “себе у формі” та вивчення актуальних технологій.
Не зважаючи на те, яку роль ви займаєте зараз в ієрархії посад в ІТ, ваші обов’язки та навички будуть змінюватися з кожною наступною позицією. Саме тому, для скорішого кар’єрного зростання, слід вивчати професійну літературу не тільки з вашої області, але й цікавитися тим, що бере до уваги і ваш ментор або керівник. Тут, наприклад, ви зможете подивитись мітап від Computools про те, як стати хорошим Team Lead.