06.08.2022

Що роблять на роботі Junior, Middle, Senior?

Сергій Немчинський
5 хвилин читання

Є кілька рівнів сіньйорності розробників – Junior, Middle, Senior, Team Lead. Чим вони відрізняються, за що кожен з них відповідає, і на яку роботу можна розраховувати на кожному рівні сіньйорності?

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

Що повинен уміти Junior?

  1. 1. Знати мінімум одну мову програмування і розбиратися в своїй професії.
  1. 2. Без контролю виконати нескладну технічну задачу від початку і до кінця. Наприклад, зробити так, щоб при натисканні кнопки виконувалася певна операція, написати метод або клас.

Ні, відсутність контролю не скасовує звернення за допомогою до сіньйорним товаришам. Наприклад, якщо потрібно звернутися до якогось файлу, а він відсутній – що робити? Але все ж з найпростішими завданнями джуніор повинен справлятися самостійно, а не бігати радитися з кожним рядком. Тому що Junior Developer – теж девелопер. Програмувати треба вміти.

При цьому Джуніору не можна поставити задачу «Дізнайся, як тут краще побудувати архітектуру» або «Розберися, що хоче замовник». Це робота команди мідл.

Що повинен уміти Middle?

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

Що повинен уміти Senior?

  1. 1. Чути і розуміти business value завдання – навіщо це все робиться. Сеньйор повинен вислухати замовника і зрозуміти, яке рішення того потрібно. Може запропонувати більш просте рішення. Або не робити це взагалі, тому що ця функція в системі вже є. Або організувати рішення адміністративним способом.
  1. 2. Відповідати за інших розробників. Організувати міні-групу з інших розробників і скоординувати їх роботу.
  1. 3. При відсутності тім ліда сіньйорна людина може організувати кількох розробників і їх скоординувати.

Що повинен уміти Team Lead?

  1. 1. Координувати і керувати своєю командою, щоб вона працювала як єдине ціле.
  1. 2. Визначати технічне рішення – сам або з допомогою архітектора.
  1. 3. Відповідати перед замовником за реалізацію рішення.

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

Як же виходить, що людина не володіє цими навичками, але при цьому числиться Senior або Team Lead?

Дуже просто. Є таке поняття «маржинальність розробника». У сініорів і тім лідів вище зарплата, тому їх вигідніше продавати на аутстафі. Тому багато компаній правдами і неправдами прагнуть натягнути своїм розробникам грейд, щоб продати їх подорожче. Але так робити недобре, звичайно ж!