Who is who...

Про джунів, сенйорів та те чим вони займаються

04.05.2015
ПозиціяФункції
СтажерХоче працювати
ДжунВчиться працювати
МідлПрацює
СенйорВчиться не працювати
Software Architect Не працює
Solution ArchitectВчиться заважати працювати
CTOЗаважає працювати

А якщо серйозно, то давайте розберемось хто є хто...

В різних компаніях, різні люди по різному оцінюють обов'язки та називають рівні (grades). Не претендую на абсолютну об'єктивність, але спробую коротко описати в загальному, найпопулярніші посади інженерів в ІТ, аби у вас була можливість скласти свій, так званий, "план розвитку" і таки розуміти "who is who"...

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

Junior - має достатні теоретичні знання для роботи над проектом, потребує постійного контролю зі сторони Senior спеціаліста. Знає поверхнево кілька мов програмування і добре як мінімум одну, що використовується на проекті. Знає базові алгоритми, вміє користуватись популярними фреймворками. Старається проявляти ініціативу в межах поставлених задач.
Володіє навиками роботи з системами контролю версій (version control system) та відстеження помилок (bug-tracking system). Зазвичай, вже бере участь у зустрічах з клієнтами. Стаж роботи біля 1-го року, іноді менше. Часто цим поняттям називають спеціалістів без досвіду, що є помилково так як вони — Trainee (чи інтерни).

Middle - добре володіє іноземною мовою, читає/пише документацію, відповідає за розробку якоїсь частини проекту, володіє Software Engineering Process, методами і інструментами аналізу та проектування. Не потребує контролю, зайнятий вирішенням задач. Він є головною робочою силою проекту.
Часто відповідальний за роботу модуля (чи навіть кількох модулів) системи. Вміє провести його перевірку і тестування. Зазвичай, це інженери зі стажем від 2-х років.

Senior - має достатні знання для розробки та проектування системи. Допомагає із задачами Junior-спеціалістам. Виконує задачі по проектуванні системи, може приймати рішення щодо технологій та методологій які будуть використовуватись. Володіє так званими "best practices", які старається донести до решти розробників.
Вміє підготувати інфраструктуру і вирішувати складні задачі.
За рахунок знань і досвіду може показувати велику продуктивність порівняно з попередніми двома рівнями. Часто знає мову чи технології гірше Junior'а через те, що мислить вже на рівні абстракцій і не має потреби все пам'ятати...
Звісно вимагається деякий умовний термін стажу на цій посаді (біля 3-4 років), але ключовим на цьому рівні є те, що необхідно бути доволі серйозним спеціалістом широкого профілю. Який не тільки вміє сам класно працювати, а може навчити й інших та пояснити на власному досвіді переваги та недоліки того чи іншого рішення.

Architect - на моїй практиці доволі рідкісні люди, які займаються проектуванням великих систем і зв'язуванням їх компонентів воєдино.
Можуть визначати платформу та/або стек технологій, працюють над протоколами та моментами інтеграції. Відповідає за загальний дизайн системи, використовувані методологічні підходи (BDD, FDD, TDD, ...).
Розподіляє задачі між групами інженерів, координуючи і контролюючи їх виконання. Зазвичай такі посади є на великих проектах, в яких одна стадія проектування може тривати понад кілька місяців.

Далі є можливість йти в менеджери чи бути ще більш крутим спеціалістом (Lead Engineer, Consultant та Senior Consultant, Principal Engineer і т.д.).
Але, зазвичай, на одному з етапів доводиться керувати невеликими групами колег чи навіть просто поділити роботу над компонентом, за який ви відповідаєте.
І з цього моменту вас скоріше за все будуть скеровувати в сторону управління...
А з часом, як тільки ви будете відповідати вимогам і будете мати бажання, то зможете стати Team Lead, чи навіть PM.

В принципі існує ще багато менеджерів різних "мастей" вищого рівня з абревіатурами типу С*O (CEO, CTO, CFO і т.д.), але рідко перетинався з такими, тому поки про них не можу багато розповісти...

В наступних статтях розповім покроково про те, що треба зробити аби почати свою кар'єру як Trainee/Junior: від резюме і до першого робочого дня...


Якщо вам сподобалась стаття — поділіться з друзями:  


Коментарі: