За винятком титулу та оплати, яка різниця?
Які вони різні обов'язки.
Наскільки вони знаючі / досвідчені?
Який основний захід визначити, де розробник вписується в цю основну структуру?
За винятком титулу та оплати, яка різниця?
Які вони різні обов'язки.
Наскільки вони знаючі / досвідчені?
Який основний захід визначити, де розробник вписується в цю основну структуру?
Відповіді:
Це буде різнитися, але саме так я бачу це в достатньо великому місці, щоб розрізняти типи програмістів.
Я б сказав, що початковий рівень та Юніор - це одне і те ж. Вони тільки поза школою і мають менше ніж два роки досвіду роботи. Їм покладаються найменш складні завдання і повинні контролюватися досить ретельно. Як правило, вони знають близько 10% того, що, на їхню думку, знають. Зазвичай вони не пройшли весь цикл розвитку і тому часто роблять дуже наївний вибір, якщо дають можливість вибору. На жаль, багатьох з них насправді не хвилює, яка вимога, вони хочуть будувати речі по-своєму. Вони часто мають погані навички налагодження.
Проміжний рівень - це те, коли падають багато програмістів. Вони мають понад два роки досвіду і загалом менше десяти, хоча деякі можуть залишатися на цьому рівні всю свою кар'єру. Вони можуть створювати робочий код з меншим наглядом, якщо вони призначені для відносно рутинних завдань. Зазвичай вони не ставлять перед собою завдання високого рівня дизайну або дуже складні завдання, які потребують поглибленого рівня знань. Вони можуть мати завдання розробляти частину програми, тим більше що вони знаходяться в зоні, щоб стати старшим розробником. Вони добре справляються із завданнями технічного обслуговування або завданнями, де вони можуть зосередитись лише на своїй частині головоломки, але, як правило, не розглядають додаток у цілому, якщо вони не працюють із старшими розробниками або не готуються до просування до старшого. Зазвичай вони можуть виконати гідну роботу з усунення несправностей та налагодження, але вони повинні справді проговорити, щоб отримати важкі. Вони ще не мають достатнього досвіду, щоб побачити закономірності проблем, які вказують їх на ймовірне місце, в якому вони виникають. Але вони набувають цих навичок і рідко їм потрібно звернутися за допомогою до налагодження. Вони, ймовірно, пройшли весь цикл розробки хоча б раз і побачили результати дизайнерських проблем і вчаться, як їх уникнути у майбутньому. Зазвичай вони, як правило, приймають вимогу за номінальною вартістю, а не відштовхують її назад, коли у неї є явні проблеми або прогалини. Вони достатньо навчились знати те, чого не знають, і починають отримувати ці знання. Вони є робочими конями світу програмування,
Нікому, хто старшого рівня, навіть не потрібно ставити це питання. Вони є експертами у вибраних технологічних стеках. Їм надаються важкі завдання (ті, кого ніхто не знає, як вирішити) і часто отримують дизайнерські обов'язки. Вони часто працюють незалежно, оскільки мають перевірений досвід доставки товару. Вони очікують наставника молодших та проміжних розробників. Часто вони є дивовижними засобами усунення несправностей. Вони раніше стикалися з тими ж проблемами і дуже добре уявляли, де слід шукати першими. Старші люди часто наставляють і поза робочим місцем. Вони, як правило, мають принаймні десять років досвіду і майже завжди були хоча б одним маршем смерті і точно знають, чому деяких речей слід уникати. Вони знають, як доставити працездатний продукт і дотримуватися терміну. Вони знають, які кути можна вирізати і які кути ніколи не слід різати. Вони знають принаймні одну та часто кілька мов на рівні експертів. Вони побачили, що багато "гарячих нових технологій" потрапляють на робоче місце і зникають, тому вони, як правило, трохи консервативніші щодо стрибків на смузі для наступного нового захоплюючого інструменту розробки (але не повністю стійкого до змін - це були б старші середні розробники, які ніколи не роблять стрибок до старшого). Вони розуміють, що їхня робота полягає в тому, щоб доставляти робоче програмне забезпечення, яке робить те, що хочуть користувачі, а не грати із цікавими інструментами. Вони часто цікавіше, де вони працюватимуть, тому що вони можуть бути і тому, що вони з перших рук побачили, як погано можуть бути місця. Вони шукають місця, які мають зробити найцікавіші завдання. Часто вони знають більше про продукти своєї компанії, ніж будь-хто інший, навіть якщо вони там були лише кілька місяців. Вони знають, що їм потрібно більше, ніж знання програмування, і добре отримують знання про бізнес-сферу, яку вони підтримують. Вони часто знають про проблеми, які юніори ніколи не розглядають, а посередники часто не замислюються над такими, як регуляторні та юридичні питання у сфері бізнесу, яку вони підтримують. Вони можуть і відштовхнуть вимогу, оскільки вони знають, які проблеми з цим будуть, і можуть пояснити те саме мирянам.
Рівень вступу - повинен дати їм чіткі вказівки, перевірити все, що вони роблять, мало або взагалі не відповідає дизайну, не несе відповідальності за аналіз
Молодший - менш чіткі інструкції, менше перевірки, деяка незначна відповідальність за дизайн та аналіз; допомагає людям початкового рівня знайти компілятор і використовувати сховище
Старший - основна відповідальність за проектування та аналіз, очікується, що він виправить огляди самостійно, мало / не перевіряє, мало / не має інструкцій; допомагає молодшим людям навчатися / удосконалювати навички аналізу та дизайну
Дійсно, я думаю, це просто зводиться до того, як довго ви працюєте. Якщо у вас є 10-річний досвід, ви старший розробник, якщо ви випускник, то ви, мабуть, початковий рівень. Я бачив багатьох «старших» розробок, які навряд чи могли кодувати і насправді не знали, що вони роблять, і багатьох молодших розробників, які були фантастичними.
Я думаю, що старожильні майстри слотів підмайстра, мандрівника та майстра добре вписуються в ці слоти для початкового рівня, молодшого (або просто без префікса) та старшого.
Комусь вступному рівню надаються відносно прості завдання, які не мають глибоких наслідків, і їх робота перевіряється молодшим чи старшим. З часом вони отримують більше відповідальності і отримують більш складні завдання, навчаючи мотузки по дорозі.
На молодшій посаді (або просто видаленні "початкового рівня" / "молодшого" з назви / опису) ви закінчили навчання і покрили основні напрямки розвитку вашої компанії, занурившись у кожну головну область, щоб ви знайомий з кожним із них. Тепер ви допомагаєте забезпечити керівництво та вклад для еквівалента учнів, але ваша робота все ще переглядається майстром / старшим, хоча, можливо, не так, як коли ви були молодшими.
З часом та реалізацією успішних проектів ви з часом станете старшими. На вищому рівні ви освоїли все, що охоплено у вашій області, охоплюючи весь процес розробки та всі інструменти та технології, які задіяні. Ви надаєте повноваження приймати значні технічні рішення і, як очікується, забезпечите розуміння управління процесом розробки програмного забезпечення.
Отже, враховуючи ці вказівки, ви повинні мати змогу подивитися на людину чи позицію та визначити, у якій із трьох бункерів вони приземляються.
Це зводиться до очікувань компанії від програміста.
Якщо я наймаю компанію і наймаю програміста рівня початкового рівня, я знаю, що ця людина знає майже нічого, і ми будемо вважати, що йому потрібно навчитися всьому. Якщо я найму людини старшого рівня, теоретично вони стануть самодостатніми з технічної точки зору.
Це суворо залежить від компанії. Але слова є досить очевидними: початковий рівень - це хтось, хто тільки виходить на поле, молодший - це той, хто виходить за межі початкового рівня і знає там, де існує декілька мовних технологій. Нарешті, старші - це ті, хто більше відповідає за проект і сидить на вищому рівні. Зазвичай вони можуть делегувати стільки, скільки кодують.
Як говорили більшість, це залежить від компанії до компанії та від роботи до роботи.
Наприклад, я колись працював у компанії, яка вважала будь-кого, хто працював там більше 5 років, «старшим інженером програмного забезпечення». З іншого боку, в іншому місці, де я працював, було дуже суворе визначення (і пов'язана з ним система оплати праці).
Деякі місця можуть вважати "початковий рівень" та "молодший" означати те саме.
Він може змінюватись на основі багаторічного досвіду, загальних знань, конкретних знань (тобто знання особливостей певної мови), управлінського та / або досвіду керівництва, усіх їх поєднань і, звичайно, набагато більше.
Я збираюся йти з дійсно простою відповіддю тут: старші розробники (загалом) - це люди, які бачать ліс за деревами. Вони думають, що виходять за межі простого актуального питання перед їх обличчям, і розуміють, які архітектурні зміни можуть чи повинні відбутися в результаті виправлення проблеми, з якою вони стикаються.
Більшість програмних компаній, яких я бачив, мають людей початкового кодування, які роблять щоденне кодування, тоді як старші розробники наглядають за тим, що роблять нові люди, і вирішують справді потворні, тернисті проблеми.
Очевидно, це лише моя думка, а не жорстке і швидке правило. YMMV.
Простіше кажучи, і з особистих спостережень, знайдених на сайтах розміщення вакансій і лише щодо рівня досвіду.
Вступ = Ваше нове, можливо, ваше перше завдання.
Молодший = Ваш хороший , але не повинен бути кращим, ви також , як правило , мають менше 5 років і більше 2 -х років досвіду.
Старший = Ви повинні бути кращими і маєте більше 5 років досвіду.