Тренинговым компаниям: Добавить тренингВойти
TRN.ua

Ранги в профессии программист или профессиональный рост в IT карьере

Ранги в профессии программист или профессиональный рост в IT карьере

Jт Junior до Senior не минуя Middle и с прицелом на TeamLead... Статья о рангах и ступенях IT карьеры разработчиков и некоторых других IT специалистов. Субъективный, но безпристрастный взгляд на развитие IT специалистов...

Ранги в профессии программист или рост IT специалистов в IT карьере. 

Данный материал представляет собой очерк вакансий-позиций, доступных разработчику программного обеспечения, которые в результате упорного труда продвигают его по карьерной лестнице. Автор статьи сам разработчик Middle класса (уже не Junior, но ещё не Senior, согласно спецификации, приведенной в статье – просто Developer) попытался привести описания основных позиций в карьере программиста и произвести краткий анализ способностей и амбиций, особенностей, свойственных тем или иным рангам, как и росту прав и обязанностей согласно занимаемой должности.

Надеемся, что этот материал понравится и будет полезен Вам.

Итак, как известно, программисты или разработчики имеют свои ступени профессионального роста. Обычно это Junior, Middle (или, как говорят куда чаще – просто Developer) и Senior. Ученик, подмастерье и мастер, если хотите. Для каждой из этих позиций характерны свои особенности, каждая из них влияет на обязанности и права разработчика, занимающего эту позицию и влияет на его характер, амбиции и способы решать рабочие вопросы. Написать данную статью, не опасаясь обвинений в необъективности, автору позволили некоторые наблюдения, сделанные в результате многолетней работы в IT компаниях, а также соединение собственных наблюдений с массой тематических материалов, прочитанных как в украинских, так и в зарубежных IT изданиях.

Таким образом, получилось, что о позиции Junior developer можно сказать следующее:   

Позиция - Junior Developer

Младший программист – Junior Developer, это молодой разработчик с малым количеством опыта или вовсе без такового, только начавший работу в избранной технологичной области. Обучается, как правило, по видеокурсам и видеоурокам, причём постоянно ведь опыта разработки у него так мало, что он очень много времени тратит на советы с более опытным разработчиком и понимание того как команда работает  над проектом. Накопив достаточно опыта и реализовав несколько проектов, junior переходит на middle уровень – становясь полноценным разработчиком. Но всё же, Junior разработчики находятся в постоянном, непрерывном и самостоятельном образовательном процессе. Обучение для junior разработчика -  это все. Испытывая постоянную необходимость в выполнении задач, поставленных по работе над проектом, идеальная схема обучения для Junior разработчика - это видео обучение программированию в рамках избранной технологии. Опираясь на просмотренные видео уроки по программированию, онлайн консультации и советы более опытных коллег, junior разработчик растёт достаточно быстро для того чтобы уже через 1-1,5 года занять позицию полноценного разработчика. Требования, обычно выставляемые к Junior разработчику, приблизительно таковы, как и у Developer и Senior.

 Это следующие знания:

 Основы программирования (системы исчисления, разница между оператором и операцией, понимание алгоритмов, методик ООП)

Языки: С#, C++, Java, PHP, JavaScript (синтаксис, ООП возможности, многопоточность, стандартные библиотеки, паттерны проектирования)

OOP и OOD (парадигмы)

Умение обучаться по видеокурсам и видеоурокам по программированию, не прибегая к дополнительным разъяснениям. Такой навык очень помогает Junior разработчикам вырости до Middle.

Работа с базами данных (JDBC, язык SQL, MSQL, SQL lite и т.п.)

Базовое знание какого-либо конкретного фреймворка (например, веб-сервисов или Spring).

 По субъективным заметкам программистов, за Junior Developerами замечено:

Нуждается в постоянном контроле, должен отвечать за написанный им код. Для Junior разработчиков важно показать, что они умеют учиться и при этом решать поставленные задачи. Развиваться в области постижения нескольких языков программирования, знании основных конструкций, алгоритмов, используемых наиболее часто, использовании фреймворков. Мыслит в рамках используемых технологий, читает литературу, проходит видеокурсы и видеоуроки, быстро пишет прототипы, но очень долго доводит до реальной работоспособности из-за малого количества опыта, грешит ложной инициативой.

 Ресурсы для Junior разработчиков:

 Видео портал ITVDN.com – Видеокурсы и видеоуроки для начинающих и опытных программистов.

MSDN.com – Технологии Microsoft

97 Things Every Programmer Should Know (список)

Other Things Every Programmer Should Know (список)

Channel9.com – Форум Microsoft разработчиков

Следующий шаг в карьерном и профессиональном росте программиста - Программист или Developer

Developer или Middle Dev

Программист или Developer или Middle dev (англ. разработчик) - это человек, ответственный за качественное и своевременное исполнение разработки информационно-программных систем, основанных на применении современных программных технологий. Программист выполняет задачи по написанию и базовому тестированию порученных ему компонентов системы, работает developer по внешним спецификациям. Поддерживает Junior разработчиков, занимается как архитектурой проектов, так и модульной реализацией, производит реализацию работоспособности прототипов, постоянно занимается самообразованием, понимает алгоритмы, Software Engineering Process, обладает знаниями в следующих областях: языки разметки, понимание технологии web-серверов и серверов приложений, знанием клиентских и серверных технологий , работы браузера, СУБД, операционных систем, офисных пакетов, сред разработки, профильных языков программирования, технического английского. Как правило, имеет высшее образование, хотя случается и что не имеет, это не критичный показатель, критичный -  наличие знаний и опыта.

 По заметкам программистов за developerами замечено:

 Любит поучать Junior developers, прямые вопросы от Juniors нередко вызывают у Middle developers раздражение, контроля над выполнением работ, как правило, не требует - отвечает за отдельные функции и модули и сам контролирует их работу, осознавая, что выполняемая им работа определяет рабочий процесс коллег. Это ответственные люди, которых редко нужно учить, так как они постоянно занимаются самообразованием в форме просмотра видео курсов по программированию, посещения семинаров и участия в вебинарах, чтения профильной литературы и ресурсов. Умеет решать поставленные задачи самостоятельно, понимает основы построения архитектуры проектов, мыслит не категориями языка, от которых, наконец, отвязался, но понятиями предметной области, умеет писать структурно и последовательно, думает о будущей поддержке продукта. К концу первого года работы в команде перестаёт писать плохой код.

 Ресурсы для developers:

 Github.com – Профессиональный ресурс для разработчиков.

ITVDN.com – Портал видео IT обучения 

MSDN.com – Продукты и технологии Microsoft

Codefor.com – Форум разработчиков

habrahabr.ru – Крупнейшее профильное IT сообщество рунета

 И вот, наконец, мы добрались и до позиции Senior developer.

 Senior developer (Ведущий разработчик)

 Ведущий программист – человек ответственный за качество и своевременность работ по разработке информационно-программных систем, основанных на применении новейших программных технологий. Обладает глубокими, структурированными знаниями и работает внутри проектной команды, совершенно не имея необходимости контактировать с представителями менеджмента заказчика. Выполняет такие работы, как: детальное проектирование и создание спецификаций проектов, полностью контролирует и зачастую и самостоятельно выполняет проектирование мелких проектов и внутренних под-проектов (модулей), программирование и базовое тестирование компонентов. Как правило, имеет законченное высшее образование, реже незаконченное, стаж от 3х лет в качестве developer, умеет комментировать программы, не прибегая к использованию словаря, разрабатывать документацию, свободно общаться на английском языке, владеет методами и инструментами анализа и проектирования, Software Engineering Process, языками разметки, глубоким пониманием клиент-сервер технологии, работ браузера, web серверов, серверов приложений, БД, ОС, офисными пакетами, может контролировать других разработчиков и ставить им задачи.

 По заметкам коллег-программистов, за Senior Developers замечено:

 Отвечает за проект, умеет подготовить  инфраструктуру, занимается решением сложных задач. Является наставником для developers и junior. Обладает набором конкретных решений в области тех или иных наиболее часто возникающих задач, за счёт чего демонстрирует бешенную производительность в сравнении с middle developers. Делает на порядок меньше ошибок, ошибки допущенные Senior, как правило, им же легко устраняются и связаны обычно со спешкой или постоянным недосыпом. Забавно, но нередко знает конкретные языки хуже, чем junior, что компенсируется знанием того, как обходить скользкие места и тремя-пятью решениями на каждую задачу, которые держит в голове, также за счёт того, что превосходно концентрируется на главном, игнорируя несущественные детали. Собственно, за это и держат – способен увидеть суть, нередко даже не дочитав до конца ТЗ.

Ресурсы для senior разработчиков:

Знают и не с кем ими не делятся. Можно разве что подсмотреть через плёчо, сидя рядом.

На этом первую часть нашей статьи о Рангах в карьере программиста и составляющих профессии от А до Я, можно читать завершённой. Надеемся, что данная статья была интересна Вам и следующий её выпуск, рассказывающий о Team Lead, Architect и CIO будет, ожидаем Вами.

***

А в качестве бонуса и вместо послесловия вот некоторые наблюдения о представителях профессий, описанных в данной статье, лично от автора.

Junior Developer

  • Всегда требует не только самообразования, но и контроля.
  • Всегда оптимист и всегда недооценивает сложности поставленных задач.
  • Жалуется только на нехватку времени, на остальное боится.
  • Не задаёт необходимые вопросы, так как опасается блеснуть незнанием.
  • Часто ошибается и потому завышает сроки, чтобы успеть переделать до сдачи.
  • В перманентной вражде с SEO и Тестировщиком – с Тестировщиком, так как тот находит баги, с SEO так как тот заставляет заниматься, по мнению любого разработчика несущественной ерундой, за которую тем не менее третирует начальство.
  • Менеджеров, совершенно не воспринимает всерьез, так как пока не понимает всей серьёзности их функций.
  • Даже самую рутинную работу считает сложной, хотя способен написать тысячи строк «одинакового» кода.

 Developer

  • Пессимист, недооценивающий себя, и живущий в страхе промаха и провала.
  • Всегда находит новинку, чтобы обсудить, время на перекур что бы обсудить, и время на чашечку кофе, чтобы узнать, что обсуждают другие.
  • Не стесняется и может даже эксплуатировать коллег, выманивая все возможные знания, умения, применяя которые о коллегах упомянуть забывает.
  • Наступая на грабли, молчит и скрипя зубами сам исправляет ситуацию, так чтобы никто даже и не знал.
  • Разделяет мнение Juniora о тестировщиках и SEO
  • Роль менеджера понимает, но тем не менее менеджеров недолюбливает как непонимающих элементарного.
  • Знает, сколько он стоит и при случае показывает, что знает это.
  • Старается работать только над тем, что интересно.
  • Нередко ухитряется вести по 2-3 проекта параллельно, чем очень удивляет Junior developers.

 Senior Developer

  • Реалист – всегда закладывает не только свои сложности, но и общие риски, при этом, не слишком завышая сроки. Как делает это, не знает сам, говорит,  при этом кратко – опыт.
  • Успевает всё. И митинги и work tasks и помогать коллегам.
  • Может легко, не стесняясь, сказать, что не знает чего-то. При этом так же легко помогает разобраться в том, что знает.
  • Грабли у Senior, как ядерное оружие, мощные и критичные – если уж ударят, то глобально. Бывают наверняка и простые грабли, но они их удачно скрывают, так, что о них не знает никто.
  • Любят работу – радуются успеху проектов как в детстве, причём даже когда те не слишком сказываются на благосостоянии.
  • Тестер – советник.
  • Менеджер – щит перед заказчиком.
  • Не стесняется требовать повышения ЗП, крайне не любит привлекать к работе посторонних или новичков, даже если те знают и умеют много и хорошо.
  • Ворчит, но работу делает и в зависящем от него всегда успешно.

Вот то немногое, что мы рассказали Вам о профессии Developer. О свойственном данной позиции карьерном росте, об обучении и самообразовании людей занимающих эту должность, а также пристрастиях и слабостях мужчин и женщин избравших для себя профессиональный путь разработчика. Надеемся этот субъективный, но безпристрастный материал был полезен Вам и принёс Вам несколько приятных минут, полученных во время чтения.

Автор: Теневой Антон
Компания: CyberBionic Systematics, международный учебный центр информационных технологий (все статьи компании)

Комментарии

Гость | 19.08.2016, 10:18
Видеоуроки, видеоуроки, видеоуроки. Как будто это единственный способ учиться. Оценка статье 3/5.
Олег | 21.11.2016, 09:36
Информативная статья, раньше было общее понимание, теперь картинка слилась воедино. Спасибо за труд!
Rustam | 23.11.2016, 21:17
Сплошной сумбур и копипаста из кучи источников. Статья вводит в заблуждение.
Александр | 21.12.2016, 20:00
Полный бред. Особенно про видеоуроки или любое видео, для джуниора, может, они и будут полезны, а для остальных - пустая трата времени: получасовой(+-) просмотр того, что уже знаешь, при том зачастую глубже автора этого урока, в надежде наткнуться хоть на что-то интересное, особенно доставляет, что некоторые из них еще и вредны, так как вводят в заблуждение.
Петр | 22.03.2017, 07:28
Видео уроки и прочие туториалы всегда ставят в тупик. Приходится к нему подкреплять еще 10 туториалов или видеоуроков. По требованиям к middle developer, такие же как и в конторах России тыжпрограммист, зачем знать программисту офисные пакеты программ? Зачем программисту лезть в devOPS? Или зря в компаниях разделяют, программистов на несколько направлений и devOPS / системное администрирование и автоматизация? Конечно нужно иметь представление всего этого, но никак не быть крутым специалистом во всех областях. Чтобы стать профессионалом в одном языке могут уйти годы. Не знаю как стать профессионалом во всех направлениях сразу, если найдете такого человека, то компании по увольняют всех программистов, заменив одним тыжпрограммистом
Добавить комментарий
Ваше имя, компания:
Комментарий:
не более 1000 символов (введено: 0)
Эл. почта:
Проверочный код:
5 английских букв:
 или Отменить
См. также
Метод пакетирования задач, Ключ, консалтинговая компания
Строки подання антикорупційних е-декларацій подовжено до 1 травня, Професійні видання
Обучение, знакомства, развлечение на тренинге!, Резонанс, коммуникативный центр
Имбилдинг для мужчин, Формула любви
ИМбилдинг и его исторические корни в сексуальной культуре Арабских стран, Формула любви
Перейти к списку всех статей
TRN.ua
Главная страница
Обратная связь
Помощь
Отправить страницу другу
Тренинговым компаниям
Тренинги и семинары
Тренинговые компании
Тренеры
Новости
Статьи
Услуги сайта
Статистика сайта
О проекте
Контакты
Условия использования
© TRN.ua — тренинги в Украине.
Сделано в компании «Реактор».