Найти тему
Программистер

А ты точно Senior developer?

Оглавление

В чем отличие между обычным Junior разработчиком и легендарным Senior разработчиком. Казалось бы в цвете карточки, но нет.

-2

Самое важное, что нужно знать:

Это субъективное разделение. Junior в конторе у Пети - Middle в конторе у Васи.

Junior - это необязательно новичок в программировании, джуном может быть мидл, а может даже Senior.
- Это как? Опять бредишь? - Легко!
Грейд определяет опыт человека не только в программировании вообще, а его знание в определённой программной области, знание стека технологий, умение им оперировать, выбирать технологии для проекта и аргументировать выбор. Немаловажным являются и софтскилы, умение понимать заказчика, переводить "Хочу чтобы прям вау, бубух и красиво" в ТЗ и здраво оценивать задачи.

Т.е. ситуация когда Senior java становится c++ junior - реальна в теории, но на практике встречается редко из-за того, что даунгрейд означает большие потери в зарплате. Опыт программирования останется, но придётся осваивать язык, узнавать best practices, разбираться в мелочах и самое главное учить технологии, используемые в программируемой области. Естественное в таком случае развитие идёт семимильными шагами, в связи с тем, что у человека появляется опыт и чуйка заострять внимание на том, что необходимо и откладывать то, что неважно.

Про хард скилы

Senior может пояснять за язык так, что junior забьётся в угол и будет тихо рыдать.

  • Умение решать поставленные задачи быстро, качественно, надёжно.
  • Анализ технологий, аргументированный выбор стека под определённые задачи
  • Знание внутренностей библиотек, фреймворков и всех используемых технологий.
  • Естественно паттерны проектирования, структуры данных, алгоритмы их сложность, осознание выбора.

Всё это и многое другое различает разработчиков.

Чем больше знаешь в своей области, тем лучше ты как разработчик, а следовательно выше твой грейд.

Интересная таблица про хардскиллы разработчиков по грейдам.

Про софт скилы

Когда junior нахардкодит, сеньёру абстрагировать.

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

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



Итог


Программирование - это не только про язык программирования. Это про всестороннее и постоянное развитие. Не стойте на месте, ищите и устраняйте свои слабые места, учитесь разговаривать и изучайте свою программную область глубже. И бла бла бла.