Блог

Всі статті

Підвищення кваліфікації розробників. Junior, Middle, Senior – у чому різниця?

Career growth in IT

На 2023 рік існує безліч різних підходів до оцінки рівня кваліфікації програмістів. Іноді самі розробники не завжди впевнені, як визначити свій рівень чи рівень колег із команди. Порівняємо етапи зростання та важливі якості та навички, які свідчать про досягнення наступного кар’єрного ступеня. 

Які існують рівні кваліфікації програмістів?

Базова градація інженерів програмного забезпечення: 

  • Trainee (стажист)
  • Junior (розробник молодшого рівня)
  • Middle (розробник середнього рівня)
  • Senior (старший розробник)

Ця термінологія допомагає у комунікації, розподілі обов’язків та відповідальності. Дає розуміння різним учасникам проєкта, чого варто очікувати: роботодавцю від команди та кожної її ланки, замовнику від компанії, співробітнику – які завдання перед ним стоять і якого результату від нього очікують.

На перший погляд, ці терміни очевидні, але на практиці виявляється, що всі розуміють їх по-різному.

Кваліфікація розробників простими словами

Відмінності trainee, junior, middle і senior розробників, якщо говорити по-простому.

Trainee-розробник – це новачок, який тільки починає свій шлях у розробці. У Trainee немає практичних знань, але є основа, розуміння теорії. Їхній шлях починається з навчання з ментором.

Junior-розробнику потрібно вчитися писати «легкий» для сприйняття коду. Junior можна зіставити з художником, який у пошуках свого стилю та розуміння, від нього чекають ідей та допитливості. Йому можна помилятися, тому що помилки – це досвід, а досвід – це рух кар’єрою.

Middle-розробники роблять 95% роботи. Їм слід повністю опанувати свій технічний стек і прагнути розвивати soft skills так само добре, як і hard skills. Middle фахівці намагаються допомагати своїм колегам стати грамотнішими та передають досвід. Тому часто важливим етапом розвитку Middle є менторство. Адже суть команди — це допомога, підтримка, спілкування та, звісно, ​​створення першокласного продукту!

Senior-розробники з глибокими спеціалізованими знаннями та вичерпним досвідом, які дозволяють їм наставляти своїх rоллег, називаються Senior. Такі розробники мають розвинені Soft Skills: вміють спілкуватися з командою і залишаються в тренді розробки. Досвід Senior-а допоможе прогнозувати розробку та ризики та знайти рішення у будь-якій ситуації.

Чи існують формальні критерії зростання?

Як визначити свій рівень програмування? Чи є стандарти? На жаль, формальних критеріїв, що дозволяють швидко та однозначно визначити ранг програміста, не існує.

Вимоги до розробника можуть відрізнятися залежно від країни та навіть компанії. Основні критерії визначення рангу програміста:

  • Досвід роботи
  • Кількість та якість hard skills
  • Освоєні мови програмування
  • Розвинені soft skills
  • Освіта

Наприклад, навряд чи ви зустрінете Senior з 2-річним досвідом роботи, але при цьому є багато Junior з досвідом роботи понад 5 років. Варто відштовхуватися від soft і hard skills розробника. Сухі теоретичні знання – це не ключова відмінність, а лише один із факторів. Досвід роботи з різними технологіями, стеками та фреймворками може переважити освіту без практики! А деякі компанії готові наймати спеціалістів без фактичного досвіду на проєктах, але з відповідною освітою, розраховуючи на навчання.

Команда New Line Technologies також спирається на загальновідомі рівні кваліфікації. Детальніше:

Trainee – це ранній період в кар’єрі розробника. У New Line Technologies є програми стажування, куди беруть інженерів початкового рівня, які в основному мають лише теоретичні знання і не мають досвіду роботи. У цьому випадку посада новачка називається Trainee.

Junior – це початкова фаза розвитку фахівця. Вимоги:

  • Постійне зростання та отримання нових навичок
  • Вміння працювати самостійно
  • Участь у реальних комерційних проєктах під моніторингом ментора
  • Енергія та допитливість

Junior зазвичай дістаються однотипні й легко формалізовані проєкти з зумовленою архітектурою або найменш складні завдання, що мало впливають на кінцевий продукт.

Middle фахівці домагаються функціональності ґрунтуючись на кращих практиках та патернах поточних технологій. Обов’язки:

  • Написання коду
  • Відповідальність за незалежну частину комплексного рішення, яке буде підготовлено для подальшого використання
  • Вивчення та інтеграція стандартних рішень
  • Розробка рішень, які мають стандартні підходи та не потребують спеціальних досліджень

Middle активно співпрацюють із членами команди, включаючи дизайнерів, аналітиків та архітекторів. Вони встигають завчасно виявити типову проблему, вміють зробити висновки, аналізувати та уникнути цієї проблеми надалі.

Senior: “вирішуючий проблеми”. Senior фахівці добре знаються на бізнес-області, яку вони підтримують. Їхня компетенція може розширитися, щоб допомогти з маркетингом і загальним розвитком бізнесу. Senior завжди буде думати про те, що він робить, з точки зору того, яку користь це приносить бізнесу.

Основні обов’язки:

  • Планування рішень, дослідження результатів та допомога з проблемами, що виникають.
  • Мозковий штурм щодо пошуку правильних рішень для складних проблем
  • Відповідальність за команду, координуючи її робочий процес
  • Оцінка цінностей та ризиків

Навички:

  • Аудит проєкта та досвід розробки рекомендацій та рішень
  • Розвинені soft skills для координації та балансу клієнт-команда
  • Довгострокове бачення

Робота Senior у тому, щоб пропонувати найкращі розв’язання проблем. Керуючи проєктом, Senior приймає обґрунтовані рішення щодо розробки та впровадження програмного забезпечення та методологій, ґрунтуючись на широкий спектр знань кращих практик та підходів у цій галузі. Обов’язковою умовою для Senior є самокритика та самовдосконалення – вони повинні оцінювати та аналізувати досконалі помилки та шукати шляхи їх вирішення, щоб уникнути повторення.

Чи є життя після Senior?

Відправна точка кар’єри програміста – Trainee. Чого прагнути, досягнувши посади Senior?

  • Senior Engineer
  • Product Manager
  • Architect
  • Senior Leader

Не забуваємо про CEO (Chief Executive Officer) Головний Виконавчий Директор та CTO (Chief Technical Officer) Головний Технічний Директор. Обов’язки включають керівництво та представництво компанії на найвищому рівні, вищий Топменеджмент. На такому рівні ви повинні вміти розбиратися як в управлінні людьми, так і в технологіях бути відмінним менеджером і висококласним інженером.

Наприклад, CTO New Line Technonologies Сергій Медінцев. Сергій прийшов у New Line Technologies на позицію .Net-розробника у 2010 році. Завдяки активному саморозвитку як технічний фахівець, з сильними навичками управління проєктами та аналітичним складом мислення Сергій зміг пройти шлях від розробника .Net до технічного директора.

Що може перешкоджати підвищенню кваліфікації розробника?

“Метою всього є розвиток” – Бернар Вербер у книзі “Імперія ангелів”. Перше, і неочевидне, на перший погляд, що може перешкоджати подальшому зростанню вас, як фахівця – це ви самі. Багато фахівців потрапляють під ефект Даннінг-Крюгера.

Dunning-Kruger effect – це уявна, оманлива самовпевненість у своїй експертності стосовно будь-якої галузі.

Багато інженерів не можуть представити кращі методи та практики, ніж ті, які вони впроваджують нині. Іноді причиною може стати брак досвіду, коли фахівець-початківець, не маючи належного практичного досвіду і не працюючи в команді, не здатний адекватно оцінити свої навички. Фідбек від команди, у цьому випадку, відіграє важливу роль!

У протилежному сценарії, коли інженер усвідомлює, як мало він ще знає, і як багато ще доведеться дізнатися, тоді починається перехід на вищий рівень.

Що допоможе фахівцю не потрапити під ефект Даннінга-Крюгера?

  • Працювати в команді та збирати відгуки з різних частин проєкта та бізнес домену, про свою роботу та навички;
  • Підвищувати рівень своєї компетентності, розширювати кругозір та галузь знань;
  • Знаходити час на аналіз свого прогресу;
  • Робити висновки з отриманого досвіду, у тому числі з допущених помилок;
  • Постійно прагнути вдосконалення, стежити за нововведеннями та тенденціями у своїй сфері діяльності, не зупинятися на досягнутому результаті.

На завершення

Враховуючи все перераховане вище, наша рекомендація – проходьте співбесіди, спирайтеся на вимоги, візьміть за звичку перегортати вакансії, щоб оцінювати ринок і затребуваність своїх знань і досвіду.
New Line Technologies запрошує на співбесіду. Ознайомся з нашими відкритими вакансіями за посиланням. Наші рекрутери завжди дають фідбек за інтерв’ю 😉