Що має знати junior, middle, senior розробник: відмінності рівнів та як зростати

Ким ти бачиш себе через 5 років? Рекрутери та HR-менеджери не втомлюються ставити це питання, а кандидати продовжують стримано відповідати:  middle, senior, team lead. 

Але який шлях до цих професійних рівнів? Що потрібно зробити, щоб вирватись із позиції junior та з гордістю написати в LinkedIn middle? І як виглядає подальший карʼєрний розвиток? Чим middle принципово відрізняється від senior? Відповідаємо на ці запитання в статті та розбираємо ключові скіли розробника на кожному етапі.

Як стати junior розробником?

Для початку розберемось у термінах. У загальному розумінні junior — це новачок із мінімально необхідним багажем знань для самостійного виконання завдань. Для кращого розуміння поділимо junior-спеціалістів на 4 категорії:

  1. Стажер (trainee) – Це людина, яка знаходиться за крок до того, щоб стати junior-розробником. Trainee вже знають основи мови програмування, однак застосовувати її для розв’язання реальних задач ще не вміють. Кожна задача має бути розписана покроково від А до Я. Здебільшого, це стажування. Тобто trainee працює на досвід, але про фіксовану зарплату поки не йдеться.
  2. Junior-новачок. Це стадія, на якій junior отримує перший офер на фултайм, а разом із тим свої перші реальні задачі. Такий розробник має достатньо знань, щоб виконувати прості задачі без детального опису. Новачок вміє працювати з документацією та знаходити в ній потрібну інформацію. Головні задачі на цьому етапі — «набивати власні шишки», вчитися в досвідчених колег і ставити багато запитань.
  3. Middle junior developer. На цьому етапі вже можна купувати футболки з айтішними приколами. Випробувальний термін за плечима, а всі процеси командної розробки вже зрозумілі. Тепер цьому спеціалісту можна давати задачу та не контролювати її виконання протягом дня. Самостійно декомпозувати задачі такий junior ще не вміє, але вже ставить більш глибокі та конкретні запитання.
  4. Strong junior. Це категорія, на якій спеціаліст за технічними скілами вже middle або дуже близький до нього. Останнє, чого не вистачає, — це суттєвий досвід у вирішенні бізнес-задач. 

Як стати middle developer?

Middle — це програміст, який, на відміну від junior-спеціаліста, уже вміє розв’язувати свої проблеми самостійно. Але старші колеги можуть допомогти, якщо виникли труднощі, з якими middle не може до кінця розібратися без допомоги. 

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

Hard skills

  • Розуміння технологій, які використовуються в роботі. Middle має глибоко розбиратись у програмі, яку пише. Важливо розуміти, як працюють певні конструкції мови, і вміти пояснювати це іншій людині простими словами.
  • Проведення code-review. Вміння розібратись у чужому коді — чудовий спосіб поділитися власним досвідом. Крім того, це дозволяє зрозуміти загальну структуру програми та побачити місця, які можна покращити.
  • Вміння декомпозувати задачі. Зазвичай middle програміст пише код довше, ніж junior. Це повʼязано з тим, що досвідчений спеціаліст спочатку має розбити свою задачу на декілька послідовних етапів і відповісти собі на запитання, чому план виглядає саме так. Надалі це допоможе аргументувати свої рішення. Також це тренує вміння розбиратись у чужому коді.
  • Надивленість. Для того, щоб приймати правильні рішення, необхідно побачити безліч поганих і хороших рішень інших розробників. Middle (власне, як і спеціаліст будь-якого рівня) має бути в контексті всього, що відбувається в індустрії: технології, практики, успіхи та провали.
  • Розуміння алгоритмів і того, де їх можна застосовувати. Світ програмування змінюється дуже швидко, але стабільними залишаються алгоритми. Важливо розуміти причинно-наслідкові звʼязки роботи певних речей, а також застосовувати алгоритми на практиці, замість того, щоб мучити себе сухим зазубренням.
  • Вміння писати зрозумілий код. Досвідчений розробник завжди пише простий код, який буде зрозумілий колегам.

Soft skills

  • Самостійність
  • Вміння бачити вимоги бізнесу
  • Розуміння кінцевої мети проєкту
  • Класні комунікативні навички
  • Рівень англійської Upper-Intermediate та вище
  • Вміння ясно доносити свої думки
  • Прагнення до подальшого карʼєрного розвитку

Як стати senior розробником?

Senior developer — це сильний фахівець, який володіє знаннями не тільки з програмування, а й із суміжних галузей. Починаючи з цього рівня, програміст може не лише самостійно працювати, а й вести проєкти.

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

Шлях до цієї позиції довгий та складний. Досвід — це не те, що завжди можна виміряти в роках, але в середньому до рівня senior можна дійти за 5-7 років інтенсивної роботи. 

То що ж потрібно мати/знати/вміти перед тим, як подаватись на performance review на цей професійний рівень? 

  • Досвід. Головний показник досвідченості — успішно запущені IT-продукти, які працюють та розв’язують певну задачу бізнесу. 
  • Технічні скіли. Senior створює та продумує архітектуру проєкту, пише інструменти для вирішення завдань у розробці та фреймворки, якими користуються джуніори та middle-спеціалісти. Від senior-розробника вимагають не лише знайти рішення, а й переконати в його правильності замовника та команду.
  • Розуміння всієї картини проєкту. Для однієї задачі існує безліч рішень, але саме senior-розробник здатний визначити, яке є оптимальним у конкретному випадку.
  • Комунікативні навички. Senior програміст часто веде проєкти самостійно, тому дуже важливо вміти опрацьовувати ТЗ (технічне завдання) замовника, ставити правильні запитання, встановлювати терміни виконання та вибудовувати план робіт. Крім того, робота в команді все ще залишається надважливою складовою. Senior вміє організувати робочий процес та не лякається таких термінів, як Agile, Scrum та Kanban.
  • Навички ментора та інтервʼюера. Підбір персоналу та навчання новачків часто лягає на плечі senior-розробника. Досвід дозволяє визначити, які запитання ставити, щоб виділити сильні та слабкі сторони кандидата, а також як організувати робочий процес для тих, хто вже пройшов співбесіду.

А що далі? Куди зростати senior?

Senior — це dream етап для кожного програміста. Саме зараз за нього змагаються рекрутери та роблять найспокусливіші офери. На цьому рівні можна не перейматись, що тебе звільнять через найменшу помилку, бо таких спеціалістів на ринку мало. 

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

Куди може розвиватись senior-розробник?

Техлід (Tech Lead)

Також CTO (Chief Technical/Technology Officer) або CIO (Chief Information Officer). Це спеціаліст, який будує архітектуру для всієї команди та є найсильнішим розробником у команді. Саме техлід обирає технічне вирішення завдання: пропонує використовувати певні фреймворки, технології та бібліотеки. До обовʼязків також входить перевірка коду та вирішення найскладніших чи найвідповідальніших технічних завдань.

Тімлід (Team Lead)

Це досвідчений програміст і хороший менеджер одночасно. Основне завдання — комбінувати технічно грамотні рішення з управлінням командою. 

Проджект-менеджер (Project Manager)

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

ІТ-архітектор

Розробник із великим досвідом реалізації комерційних проєктів, який вміє закладати архітектуру (каркас) складної ІТ-системи. Головне завдання IT-архітектора — знайти оптимальне рішення між потребами замовника та можливостями команди.

Можна довго дискутувати щодо того, скільки часу потрібно, щоб дістатися карʼєрних вершин. Але в кожного свій темп і свої цілі. Незмінним залишається одне — в ІТ майже неможливо вичерпати себе та досягти стелі. Постійний розвиток, прагнення до крутих проєктів, драйвова команда, амбітні цілі та чітке розуміння їх втілення — це і є план реалізації власного професійного потенціалу.

Якщо тобі подобається IT сфера та ти тільки думаєш про карʼєру в айті, пройди наш профорієнтаційний тест. Дізнайся, яка спеціальність підходить саме тобі. Або ж обирай один з наших it курсів та успішно зростай від Junior до Senior і вище 😉

Site Footer