В чем разница между начальными уровнями /разработчиками Jr /Sr? [закрыто]

Помимо названия и оплаты, какая разница?

  • Какие разные обязанности у них есть.

  • Насколько они осведомлены /опытны?

  • Какова основная мера для определения того, где разработчик вписывается в эту базовую структуру?

198 голосов | спросил JD Isaacks 26 +04002010-10-26T23:38:05+04:00312010bEurope/MoscowTue, 26 Oct 2010 23:38:05 +0400 2010, 23:38:05

9 ответов


341

Это будет меняться, но я вижу это в месте, достаточно большом, чтобы иметь различия между типами программистов.

Я бы сказал, что начальный уровень и Junior - одно и то же. Они просто не в школе и имеют менее двух лет опыта работы. Им назначаются наименее сложные задачи, и их следует контролировать достаточно близко. Как правило, они знают около 10% того, что, как они думают, знают. Обычно они не прошли весь цикл разработки и поэтому часто делают очень наивный выбор, если им предоставляется возможность выбора. К сожалению, многие из них на самом деле не заботятся о том, что это такое, они хотят строить вещи своим путем. Они часто имеют слабые навыки отладки.

Промежуточный уровень - это то, где падает многие программисты. У них более двух лет опыта и, как правило, менее десяти, хотя некоторые из них могут оставаться на этом уровне всей своей карьерой. Они могут создавать рабочий код с меньшим контролем, если они назначены относительно обычным задачам. Обычно им не уделяется должного внимания высокоуровневому дизайну или сложным задачам, требующим глубокого уровня знаний. Им может быть поручено разработать часть приложения, хотя, тем более, что они находятся в зоне, чтобы стать старшим разработчиком. Они хороши в задачах обслуживания или задачах, где они могут сосредоточиться только на своей части головоломки, но обычно не ожидали, что они рассматривают приложение в целом, если не работают со старшими разработчиками или не готовятся к продвижению на старшие. Обычно они могут выполнять достойную работу по поиску и устранению неисправностей и отладке, но им нужно действительно пробиваться, чтобы получить жесткие. У них еще нет достаточного опыта, чтобы увидеть шаблоны проблем, которые указывают на возможное место, которое они встречают. Но они набирают эти навыки и редко нуждаются в помощи для отладки. Вероятно, они прошли через весь цикл разработки, по крайней мере, один раз, и видели результаты проблем дизайна и учатся избегать их в будущем. Обычно они, как правило, с большей вероятностью берут требование по номинальной стоимости и не отталкивают его назад, когда у него есть очевидные проблемы или пробелы. Они достаточно научились знать, чего они не знают, и начинают получать эти знания. Они являются рабочими лошадками мира программирования, они обеспечивают, вероятно, 80-90% от обычного кода и, возможно, 10% от очень сложного материала.

Никто, кто на старшем уровне, даже не должен задавать этот вопрос. Они являются экспертами в своих выбранных технологиях. Им даются жесткие задачи (которые никто не знает, как их решить) и часто получают конструктивные обязанности. Они часто работают самостоятельно, потому что у них есть проверенный опыт доставки товаров. Предполагается, что они будут наставником младших и промежуточных разработчиков. Часто они удивительные средства устранения неполадок. Раньше они сталкивались с теми же проблемами и имели очень хорошее представление о том, где искать в первую очередь. Пожилые люди часто наставники за пределами рабочего места. Как правило, они имеют не менее десяти лет опыта и почти всегда были по крайней мере на одном марше смерти и точно знают, почему некоторые вещи следует избегать. Они знают, как доставить рабочий продукт и соответствовать сроку. Они знают, какие углы могут быть разрезаны и какие углы не должны быть разрезаны. Они знают, как минимум, один и несколько языков на уровне экспертов. Они увидели, что многие «горячие новые технологии» попали на рабочее место и исчезли, поэтому они, как правило, немного более консервативны в том, чтобы прыгать на подножку для следующего захватывающего нового инструмента разработки (но не полностью устойчивого к изменениям - это будут более старые Промежуточные разработчики, которые никогда не делают прыжок на Старшего). Они понимают, что их задача - доставить рабочее программное обеспечение, которое делает то, что хотят пользователи, а не играть с забавными инструментами. Они часто выбирают, где они будут работать, потому что они могут быть и потому, что они видели из первых рук, насколько плохи некоторые места. Они ищут места, в которых есть самые интересные задачи. Часто они знают больше о продуктах своей компании, чем кто-либо другой, даже если они были там всего несколько месяцев. Они знают, что им нужно больше, чем программировать знания, и хорошо разбираются в бизнес-области, которую они поддерживают. Они часто осведомлены о проблемах, которые никогда не рассматривают юниоры, и посредники часто не думают о таких, как нормативные и юридические проблемы в бизнес-области, которую они поддерживают. Они могут и будут выдвигать требование, потому что они знают, какие проблемы с ним будут, и могут объяснить то же самое для мирян.

ответил HLGEM 27 +04002010-10-27T02:25:03+04:00312010bEurope/MoscowWed, 27 Oct 2010 02:25:03 +0400 2010, 02:25:03
43

Entry Level - должен дать им четкие инструкции, проверить все, что они делают, мало или вообще не отвечает за дизайн, не несет ответственности за анализ

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

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

ответил Steven A. Lowe 27 +04002010-10-27T00:04:48+04:00312010bEurope/MoscowWed, 27 Oct 2010 00:04:48 +0400 2010, 00:04:48
16

На самом деле, я думаю, это просто сводится к тому, как долго вы были на работе. Если у вас есть 10-летний опыт работы, вы являетесь старшим разработчиком, если вы выпускник, то вы, вероятно, начальный уровень. Я видел много «старших» разработчиков, которые вряд ли могли писать код и не знали, что они делают, и многих младших разработчиков, которые были фантастическими.

ответил Craig 27 +04002010-10-27T03:05:30+04:00312010bEurope/MoscowWed, 27 Oct 2010 03:05:30 +0400 2010, 03:05:30
8

Я думаю, что старые школьные мастерские слотов ученика, подмастерья и мастера вписываются в эти слоты хорошо для начального уровня, младшего (или просто без префикса) и старшего.

Некоторым начальным уровням даются относительно простые задачи, которые не имеют глубоких последствий, и их работа проверяется младшим или старшим. Со временем они получают большую ответственность и получают более сложные задачи, изучая веревки на этом пути.

В младшем (или просто удалении «начального уровня» /«младшего» из названия /описания) вы завершили свое ученичество и охватили основные направления развития вашей компании, погрузившись в каждую основную область, что вы знакомы с каждым из них. Теперь вы помогаете давать указания и ввод для ученического эквивалента, но ваша собственная работа по-прежнему рассматривается мастером /старшим, хотя, возможно, не так сильно, как когда вы были младшим.

Со временем и доставкой успешных проектов вы в конечном итоге становитесь старше. На старшем уровне вы освоили все, что покрыто вашей области, охватывая весь процесс разработки и все инструменты и технологии, которые задействованы. Вы наделены полномочиями принимать важные технические решения и, как ожидается, обеспечит понимание управления процессом разработки программного обеспечения.

Итак, учитывая эти рекомендации, вы должны иметь возможность взглянуть на человека или позицию и определить, какие из трех ящиков они приземляются.

ответил Todd Williamson 27 +04002010-10-27T01:58:49+04:00312010bEurope/MoscowWed, 27 Oct 2010 01:58:49 +0400 2010, 01:58:49
6

Это сводится к ожиданиям программиста.

Если я нанимаю компанию и нанимаю программиста начального уровня, я знаю, что этот человек почти ничего не знает, и мы собираемся предположить, что ему /ей нужно все узнать. Если я нанял человека старшего уровня, теоретически, они будут самодостаточными, с технической точки зрения.

ответил Walter 26 +04002010-10-26T23:50:23+04:00312010bEurope/MoscowTue, 26 Oct 2010 23:50:23 +0400 2010, 23:50:23
4

Это зависит от компании. Но слова довольно очевидны: начальный уровень - это тот, кто только входит в поле, младший - это кто-то, кто выходит за пределы начального уровня, и знает, где он работает на нескольких языках. Наконец, старшие - это те, кто больше отвечает за проект и сидит на более высоком уровне. Они обычно могут делегировать столько, сколько они кодируют.

ответил Chris 26 +04002010-10-26T23:41:50+04:00312010bEurope/MoscowTue, 26 Oct 2010 23:41:50 +0400 2010, 23:41:50
4

Как сказали многие, он варьируется от компании к компании и от работы до работы.

Например, я когда-то работал в компании, которая считала, что кто-то, кто работал там более 5 лет, «старший инженер-программист». С другой стороны, другое место, в котором я работал, было very строгие определения (и связанные с ним шкалы оплаты).

В некоторых местах «начальный уровень» и «младший» могут означать одно и то же.

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

ответил Wonko the Sane 27 +04002010-10-27T00:58:29+04:00312010bEurope/MoscowWed, 27 Oct 2010 00:58:29 +0400 2010, 00:58:29
3

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

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

Очевидно, это только мое мнение, а не жесткое правило. YMMV.

ответил MattC 27 +04002010-10-27T01:31:19+04:00312010bEurope/MoscowWed, 27 Oct 2010 01:31:19 +0400 2010, 01:31:19
2

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

Entry = Ваша новая, вероятно, ваша первая работа.

Junior = Ваш хороший, но не должен быть лучшим, вы также обычно имеют менее 5 лет и более 2 лет опыта.

Senior = Вы должны быть лучшими и иметь более 5 лет опыта.

ответил lord-fu 28 +04002010-10-28T05:04:50+04:00312010bEurope/MoscowThu, 28 Oct 2010 05:04:50 +0400 2010, 05:04:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132