Яка різниця між розробниками Entry Level / Jr / Sr? [зачинено]


198

За винятком титулу та оплати, яка різниця?

  • Які вони різні обов'язки.

  • Наскільки вони знаючі / досвідчені?

  • Який основний захід визначити, де розробник вписується в цю основну структуру?

Відповіді:


341

Це буде різнитися, але саме так я бачу це в достатньо великому місці, щоб розрізняти типи програмістів.

Я б сказав, що початковий рівень та Юніор - це одне і те ж. Вони тільки поза школою і мають менше ніж два роки досвіду роботи. Їм покладаються найменш складні завдання і повинні контролюватися досить ретельно. Як правило, вони знають близько 10% того, що, на їхню думку, знають. Зазвичай вони не пройшли весь цикл розвитку і тому часто роблять дуже наївний вибір, якщо дають можливість вибору. На жаль, багатьох з них насправді не хвилює, яка вимога, вони хочуть будувати речі по-своєму. Вони часто мають погані навички налагодження.

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

Нікому, хто старшого рівня, навіть не потрібно ставити це питання. Вони є експертами у вибраних технологічних стеках. Їм надаються важкі завдання (ті, кого ніхто не знає, як вирішити) і часто отримують дизайнерські обов'язки. Вони часто працюють незалежно, оскільки мають перевірений досвід доставки товару. Вони очікують наставника молодших та проміжних розробників. Часто вони є дивовижними засобами усунення несправностей. Вони раніше стикалися з тими ж проблемами і дуже добре уявляли, де слід шукати першими. Старші люди часто наставляють і поза робочим місцем. Вони, як правило, мають принаймні десять років досвіду і майже завжди були хоча б одним маршем смерті і точно знають, чому деяких речей слід уникати. Вони знають, як доставити працездатний продукт і дотримуватися терміну. Вони знають, які кути можна вирізати і які кути ніколи не слід різати. Вони знають принаймні одну та часто кілька мов на рівні експертів. Вони побачили, що багато "гарячих нових технологій" потрапляють на робоче місце і зникають, тому вони, як правило, трохи консервативніші щодо стрибків на смузі для наступного нового захоплюючого інструменту розробки (але не повністю стійкого до змін - це були б старші середні розробники, які ніколи не роблять стрибок до старшого). Вони розуміють, що їхня робота полягає в тому, щоб доставляти робоче програмне забезпечення, яке робить те, що хочуть користувачі, а не грати із цікавими інструментами. Вони часто цікавіше, де вони працюватимуть, тому що вони можуть бути і тому, що вони з перших рук побачили, як погано можуть бути місця. Вони шукають місця, які мають зробити найцікавіші завдання. Часто вони знають більше про продукти своєї компанії, ніж будь-хто інший, навіть якщо вони там були лише кілька місяців. Вони знають, що їм потрібно більше, ніж знання програмування, і добре отримують знання про бізнес-сферу, яку вони підтримують. Вони часто знають про проблеми, які юніори ніколи не розглядають, а посередники часто не замислюються над такими, як регуляторні та юридичні питання у сфері бізнесу, яку вони підтримують. Вони можуть і відштовхнуть вимогу, оскільки вони знають, які проблеми з цим будуть, і можуть пояснити те саме мирянам.


2
чи є Заголовок (англійською) на "Проміжний рівень", перекладач Google використовує "Повний розробник". Але це не цінне джерело =)
Мішель Айрес

23
Відмінне пояснене пояснення. Мені подобалось читати це.
Саїд Неаматі

1
Дякую за це пояснення. Я самоучка в програмі iOS dev (без комп’ютерної освіти) і випустила своє перше додаток, яке має деякі нетривіальні особливості (тобто JSON CRUD, деякі соціальні компоненти, гарний дизайн). Я не думаю, що я чудовий програміст, але я написав додаток назад на фронт і зрозумів, що потрібно для доставки. Куди б ви розмістили когось, як я, гіпотетично?
SamYoungNY

1
@NYCTechEngineer, добре переповнюється стек. Також місцеві групи користувачів, блоги, написання статей та книг.
HLGEM

1
@BrianHaak Thx - цікаво, що ти кажеш. З минулого року я працював над значно більшим проектом, ніж раніше. У мене виникло таке відчуття, що я дивлюся на код, який я написав лише кілька місяців тому і сказав: "wtf? Хто думав, що це гарна ідея?" :) - Починаючи цей проект з маленького ядра в проект, який легко розширити, а також вмістити для себе нерозробників, які хочуть додати вміст, змусив мене задуматися про структуру вищого рівня. Створення пари більш досвідченого програміста показало мені, що я пропускаю безліч підходів. використовувати абстракції. У мене також є проблеми з простором імен.
SamYoungNY

43

Рівень вступу - повинен дати їм чіткі вказівки, перевірити все, що вони роблять, мало або взагалі не відповідає дизайну, не несе відповідальності за аналіз

Молодший - менш чіткі інструкції, менше перевірки, деяка незначна відповідальність за дизайн та аналіз; допомагає людям початкового рівня знайти компілятор і використовувати сховище

Старший - основна відповідальність за проектування та аналіз, очікується, що він виправить огляди самостійно, мало / не перевіряє, мало / не має інструкцій; допомагає молодшим людям навчатися / удосконалювати навички аналізу та дизайну


20
Приємно, за винятком того, що я не знаю, що я повністю згоден з "відсутністю перевірок / інструкцій" для старшого рівня. Якщо ви не працюєте над командою чи не працюєте з нею, ніхто не повинен бути повністю острівцем.
Wonko the Sane

@WonkotheSane у нас є той, хто об'єднує коди з помилками без будь-якого коду перегляду чи запиту на тягу. Не обговорюється багато про архітектуру додатків, крім того, щоб просто використовувати шаблон спостереження скрізь. Всі рішення приймає сам, щоб він не пристосовувався до нічого нового . Все тому , що він є сам є островом. Він не в цьому. Він - острів :(
Мед

16

Дійсно, я думаю, це просто зводиться до того, як довго ви працюєте. Якщо у вас є 10-річний досвід, ви старший розробник, якщо ви випускник, то ви, мабуть, початковий рівень. Я бачив багатьох «старших» розробок, які навряд чи могли кодувати і насправді не знали, що вони роблять, і багатьох молодших розробників, які були фантастичними.


7
Це перегукується з моїми переживаннями. "Старший" означає час з компанією і зазвичай нічого іншого; майстерність не враховує одну йоту. Я працював з великою кількістю «старших» розробників (і менеджерів з цього приводу), які нічого не знали про програмне забезпечення поза розробкою проб і помилок, але були в компанії протягом 5+ років, або був найпершим програмістом, найнятим, коли місце було започатковано, і тому його підвищили завдяки владі.
Уейн Моліна

8

Я думаю, що старожильні майстри слотів підмайстра, мандрівника та майстра добре вписуються в ці слоти для початкового рівня, молодшого (або просто без префікса) та старшого.

Комусь вступному рівню надаються відносно прості завдання, які не мають глибоких наслідків, і їх робота перевіряється молодшим чи старшим. З часом вони отримують більше відповідальності і отримують більш складні завдання, навчаючи мотузки по дорозі.

На молодшій посаді (або просто видаленні "початкового рівня" / "молодшого" з назви / опису) ви закінчили навчання і покрили основні напрямки розвитку вашої компанії, занурившись у кожну головну область, щоб ви знайомий з кожним із них. Тепер ви допомагаєте забезпечити керівництво та вклад для еквівалента учнів, але ваша робота все ще переглядається майстром / старшим, хоча, можливо, не так, як коли ви були молодшими.

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

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


6

Це зводиться до очікувань компанії від програміста.

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


4

Це суворо залежить від компанії. Але слова є досить очевидними: початковий рівень - це хтось, хто тільки виходить на поле, молодший - це той, хто виходить за межі початкового рівня і знає там, де існує декілька мовних технологій. Нарешті, старші - це ті, хто більше відповідає за проект і сидить на вищому рівні. Зазвичай вони можуть делегувати стільки, скільки кодують.


Я це розумію, але в якому моменті ти "поза початковим рівнем" чи "поза молодшим"? Якщо ти завжди вчишся, то щодня ти перевершуєш те, чим ти був напередодні.
JD Isaacks

Рівень вступу легко, але я більше шукаю приклади досвіду / знань, які б підказали молодшим чи старшим.
JD Isaacks

Як я вже казав, це залежить від компанії, контексту розглянутих технологій / мов, а конкретніше - питання їх думки, якщо ви не говорите про офіційні посади. Я не думаю, що я ніколи не вважатиму себе експертом з будь-якої мови, якщо я сам не написав прокляту річ.
Кріс

Крім того, якщо ви в компанії, подивіться на розробників jr, sr та порівняйте / порівняйте себе з ними. Це хороший показник у контексті, специфічному для вказаної компанії.
Кріс

4

Як говорили більшість, це залежить від компанії до компанії та від роботи до роботи.

Наприклад, я колись працював у компанії, яка вважала будь-кого, хто працював там більше 5 років, «старшим інженером програмного забезпечення». З іншого боку, в іншому місці, де я працював, було дуже суворе визначення (і пов'язана з ним система оплати праці).

Деякі місця можуть вважати "початковий рівень" та "молодший" означати те саме.

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


3

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

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

Очевидно, це лише моя думка, а не жорстке і швидке правило. YMMV.


2

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

Вступ = Ваше нове, можливо, ваше перше завдання.

Молодший = Ваш хороший , але не повинен бути кращим, ви також , як правило , мають менше 5 років і більше 2 -х років досвіду.

Старший = Ви повинні бути кращими і маєте більше 5 років досвіду.


Ви пропустили проміжний.
Неоліск
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.