Насправді ж все це тільки частина правди. Перш за все це градація навичок тих чи інших співробітників, рівень їх професійних скілів. Нижче поговоримо про ці три категорії і що вони означають, а також чи можна підніматись вище ніж сеньйор.
Хто такий джун
В IT (та і не тільки там) джун - це початківець з мінімальним досвідом роботи зі спеціальності або взагалі без нього. Джун більше теоретик, ніж практик: може ідеально знати теорію, але слабо розуміє, як застосовувати ці знання в роботі. Тому не дивно, що віддалена робота для IT спеціалістів найчастіше передбачає саме посаду джунів.
Але при маленькому досвіді він має без питань реалізовувати вузькі технічні завдання, коли йому чітко окреслено задачу. Умовно, якщо ви компанією збираєте шафу і вам доручили закрутити шурупокрутом саморізи у визначених місцях - вітаємо, ви джун у цьому процесі.

У джуна не вистачає продуктового мислення та софт-скілів – навичок, які можна отримати лише з досвідом. Наприклад, фахівець-початківець ще не знає, як правильно побудувати взаємини з колегами, щоб спільна робота була злагодженою, а спілкування не токсичним.
Зазвичай у компанії джуни виконують нескладні конкретні технічні завдання, що їх ставить старший спеціаліст. Наприклад, реалізувати якусь одну функціональність із конкретними обмеженнями. Якщо джуну щось незрозуміло, він спочатку намагається знайти відповідь на питання самостійно, а потім йде за порадою до мідла або сеньйора.
Джуни дуже рідко працюють без ретельного нагляду за ними з боку мідлів, їм доручають відносно невеликі завдання, або такі де їх задачею буде створювати суто технічний код що не вимагає якоїсь аналітичної роботи.
Раніше джуни "дихали" простіше, їм пропонували додаткове навчання у компаніях тощо. Зараз конкуренція така, що для того, щоб претендувати на онлайн вакансії в Україні, треба мати дуже широкий спектр технічних навичок.
Що має вміти джуніор фахівець
Справа в тому, що за останні роки вимоги до джунів зросли. На ринку стало багато розробників-початківців, тому що онлайн-курси доступні кожному, і нову дистанційна зайнятість для програмістів стане доступною вже за 9 місяців. Тому компанії стали розширювати перелік вимог до junior-розробників, щоб найняти найкращих.

Якщо раніше фронтенд-розробник як початківець повинен був "назубок" знати тільки JavaScript, HTML або CSS3, то сьогодні додатково потрібно вже впевнено працювати з одним з фреймворків, наприклад, React або Angular (а краще з обома!). Швидше за все, у майбутньому вимоги стануть ще серйознішими, адже конкуренція росте, а тут ще і штучний інтелект на ноги наступає.
Хард-скіли, або професійні навички у джунів можуть відрізнятися в залежності від спеціалізації. Наприклад, веб-розробнику-початківцю важливо вміти користуватись різноманітними графічними редакторами, а PHP-програмісту навпаки потрібно знати різні CMS.
Загалом, якщо ви хочете претендувати на посаду джуна, то запам'ятайте три головні речі:
- будьте готові постійно навчатись і розвиватись як спеціаліст
- спокійно приймайте критику і навчайтесь на власних помилках
- також треба вчитись працювати в команді
Останній момент дуже важливий. Ви маєте вміти розподіляти баланс між тим, що маєте робити самі, і моментами коли краще звернутись по допомогу до більш досвідчених колег. Хороший джун має бути продуктивним, а не виправдовуватись тим що він ще новачок.
Хто такий Мідл
Коли фахівець напрацьовує досвід, заглиблюється в нюанси роботи компанії, впевнено користується потрібними інструментами в роботі, а саме мовами програмування, фреймворками, системами управління базами даних та інше, він може перейти на наступний рівень - мідл-розробник. Окрім власне технічних навичок, потрібні ще і розуміння для чого робиться саме так, а не інакше.
Мідл це вже досвідчений фахівець, який пише код у проєктах. Знає кілька мов програмування та вміє використовувати додаткові технології. Наприклад, бекенд-розробник ще знає Angular - програму розробки вебдодатків і може вирішувати завдання фронтендера.

Мідл без проблем може пояснити своїми словами складні речі. Наприклад, як працює браузер або що таке асинхронність. Його код уже не перевіряють, бо він добре знає мову, якою пише, і розуміє базові концепції. Мідл сам себе контролює: виправляє логіку і шукає помилки в коді, щоб він був більш читабельним та простим. Але тільки кодом все не обмежується.
Мідл самостійно вирішує, як виконати завдання простіше та швидше, та планує терміни. Він може запропонувати кілька нешаблонних варіантів рішення, а не один-два стандартні, як джун. Мідл має досвід, напрацювання і нагляд, яких поки що не вистачає джуну.
Що має вміти мідл-фахівець
На мідлах тримається розробка компанії, тому ставлення роботодавців до них трепетне. Мідла не звільнять просто так, навпаки, робитимуть все можливе, щоб він продовжував працювати і підвищував свою кваліфікацію.
На ринку не так багато міцних мідлів, тому знайти роботу на дому для них не є проблемою. Але, як і у випадку з джунами, вимоги до мідлів стали серйознішими. Кілька років тому такі побажання до навичок та знань відповідали рівню сеньйора.
Але головна ознака мідла - це навіть не певні кваліфікації у коді, як можна подумати. Він вже розуміється на бізнес-процесах, і саме тому вміє правильно ставити задачі і вибирати напрямок рішення, умовно для чого потрібен нам цей застосунок, чи "під кого" ми розробляємо сайт і що для користувачів буде більш актуальним. Напрацювати цей досвід можна тільки з часом, тому одразу, яким би ви технічно "підкованим" не були, на посаду мідла вас не візьмуть, хай би ви знали всі мови і коди світу.
Хто такий сеньйор
Позиція сеньйора іноді виявляється останньою сходинкою кар'єрних сходів, але далеко не завжди. Зазвичай це фахівець з великим досвідом, який вже знає усі можливі варіанти технічних рішень і керує роботою команди розробників.
Звісно, сеньйор має вміти писати хороший, чистий код, але це для нього не головне. Вирішальне - це обирати правильне технологічне рішення, щоб врахувати в ньому специфіку компанії та її інструменти. Він глибоко розуміє архітектуру, влаштування бібліотек, фреймворків та інструментів розробки.

Є розповсюджена думка, що сеньйор має вміти виправити будь-який код чи задачу сам, але це зовсім не його рівень. Той хто все це вміє, у міжнародній практиці зветься "стронг-мідл".
Сеньйору необхідні хороші комунікативні навички, тому що він повинен не тільки запропонувати правильне рішення, а й переконати у своїй правоті замовника та команду. Такий фахівець упорається із завданнями, які ніколи раніше не робив, і при цьому нічого не зламає і не загальмує.
Якщо сеньйор хоче далі розвиватись у кар'єрі, то йому потрібно буде навчитися вирішувати завдання бізнесу, навіть погано сформульовані. Сеньйор постійно спілкується з керівництвом, командою та клієнтами та знає, як взаємодіяти з кожним, щоб робота над проєктом привела до потрібного результату.
Наприклад, клієнт хоче створити сервіс для мандрівників, де можна забронювати житло. Сеньйор спочатку розбереться, яка мета такого сервісу, яку проблему він повинен вирішувати. А потім збере команду, сформулює та роздасть завдання джунам та мідлам, стежитиме за розробкою та термінами та презентує результат клієнту.
Що має вміти сеньйор розробник
Сеньйором не можна стати тільки через досвід роботи. Головне — рівень експертизи, спосіб мислення та софт-скіли. Програмування для нього не головне, він це вміє - але цим займається лише в окремих випадках, головне тут - менеджерська робота.
Для сеньйора важливий досвід роботи у комерційних проєктах. Ідеального знання теорії та проєктів, виконаних "для себе", буде мало, щоб розуміти, як насправді створюються реальні, затребувані на ринку продукти.

Чи є посада сеньйора кінцевою
Зовсім ні! Є думка, що після сеньйорів обов'язково підіймаються в тімліди. Це не зовсім так, тімлід це лише один з варіантів розвитку кар'єри, хоч і доволі вірогідний. Наведемо кілька прикладів розвитку, які зазвичай не такі очевидні.
- Багато хто уходить у менеджери проєктів. Це розвиток, так би мовити, "вбік", адже на цій посаді вам більше доведеться не займатись кодом, а в основному плануванням та людьми і організацією їх роботи.
- Також хорошим варіантом буде посада фронтмена. Це люди, які мають своїм завданням розповісти про команду та її досвід, вміння та загалом розкривати технічно складні речі простими словами. Фронтмен може поговорити як з власне замовником, так і з його технічною командою. Класний фронтмен має комбінувати технічні навички з презентаційними, і тут досвід роботи сеньйором буде хорошою платформою для старту.
- Посада архітектора проєкту теж може стати наступною сходинкою у вашій кар'єрі. Річ у тім, що архітектор теж має вміти аналізувати бізнес клієнта і водночас добре розумітись на всій технічній складовій. Виходячи з цих знань, архітектор обирає платформу для створення не керуючись модними трендами, а ефективністю для конкретної задачі.
Також можна заглибитись і у щось більш вузькоспеціалізоване, наприклад стати технічним експертом, якщо ви є глибоким знавцем у певній сфері. Такі люди потрібні не так часто, як мідли чи сеньйори, але коли потрібні, то мають вищу зарплатню, та і конкуренція серед них нижча. А отже, пам'ятайте - завжди є можливість для розвитку, важливо лише хотіти цього.
