Перейти к основному содержимому

Барьеры профессионального роста и их преодоление

Всем

Что мешает профессиональному росту?

У каждого разработчика, аналитика, тестировщика, может возникнуть ощущение, что он «топчется на месте». Работа может быть однообразной, рутинной, а для повышения требуется освоение нового стека. Знания получить негде, времени нет, и в итоге нет развития. Что же мешает росту?

Отсутствие теоретической базы и концептуального понимания

Разработчик часто умеет писать код, но не понимает, зачем он это делает. Порой не хватает основ и фундамента, так как люди в основном погружаются в то, что требуют. Боятся загружать себя теорией, в стиле «мне бы код писать, а не книжки читать». Обучаются по кнопочкам, по курсам, где дают готовые решения, а не объяснения принципов.

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

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

Решение:

  • Изучать основы: алгоритмы, структуры данных, архитектурные паттерны;
  • Читать книги по проектированию, а не только туториалы;
  • Задавать себе и другим вопросы: «Почему выбрано именно это решение?»;
  • Участвовать в обсуждениях архитектуры и проектирования.

Отсутствие структурного мышления

Разработчик или аналитик не может декомпозировать задачи, видеть связи между компонентами, строить логические модели. Он берёт ТЗ и сразу бросается писать код. В итоге не оцениваются риски, не продумываются зависимости. Это из-за отсутствия опыта в проектировании, привычка делать быстро, чтобы быстрее закрыть задачу и отчитаться. Обычно так бывает после крупных компаний. Как-то у меня был опыт работы в корпорации, где нужно было работать с огромным массивом задач, и требовалось быстрее закрывать задачи.

А за ошибки всё равно спрашивают. В итоге, зачем торопиться, если в плохом тайм-менеджменте виноваты не младшие сотрудники, а архитекторы и руководство? Ну да ладно. Без культуры грамотного проектирования на всех уровнях, рождается страх показаться «медлительным». Легко допустить ошибки - дублирование кода, путаницы, отсутствие чёткой структуры. Могут возникать баги из-за непродуманных зависимостей, и задачу порой нельзя передать другому, ведь «только я понимаю эти каракули».

Решение:

  • Перед написанием кода — рисовать диаграммы (UML, блок-схемы);
  • Разбивать задачи на подзадачи;
  • Применять принципы проектирования: SOLID, KISS, YAGNI, DRY;
  • Использовать методологии анализа и проектирования.

Копирование кода без понимания

Разработчик находит решение на форуме, на другом проекте или получает от нейросети, копирует и вставляет, не вникая, как оно работает. Он не читает код, не задаётся вопросом «Почему это работает?», не изучает побочные эффекты и самое главное - «Можно ли лучше?».

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

Решение:

  • Никогда не копировать код без полного понимания;
  • Переписывать найденные решения своими словами;
  • Тестировать каждое изменение;
  • Активно участвовать в код-ревью как автор и как рецензент.

Слабые коммуникационные навыки

Здесь важно учитывать, что сферу IT часто выбирают люди в большинстве своём интроверты или холодные и расчётливые, не всегда это активный экстраверты, как этого ожидает бизнес. Разработчик может не уметь объяснить свои решения, вести переговоры, доносить идеи или работать в команде. Он молчит на встречах, пишет непонятные комментарии, не может защитить свою точку зрения. Причины разные, могут быть стереотипы, воспитание или токсичные команды. К примеру, если сеньоры будут издеваться, или уничтожать каждый раз на код-ревью, то появится страх показаться глупым, «вдруг скажу ерунду?». Можно подумать, причиной может быть отсутствие обратной связи от команды, но часто именно негативная обратная связь и прямая критика ломают мотивацию развиваться.

Идеи в итоге не принимаются, карьерный рост останавливается, ведь это «не лидер», появляются конфликты в команде, переоценка задач.

Решение:

  • Учиться говорить просто и ясно;
  • Писать документацию для других, а не для себя;
  • Участвовать во встречах, даже если не хочется;
  • Практиковать презентации с демонстрацией экрана;
  • Читать литературу по технической коммуникации.

Попытка освоить всё сразу

Всё и сразу — неспособность расставлять приоритеты. Разработчик пытается выучить всё, сделать всё, быть везде. Тут его сложно винить, ведь кушать хочется, а требуют постоянно. Он одновременно учит Kubernetes, читает про блокчейн, делает пет-проект на Rust, ходит на митапы, читает 5 книг, отвечает в 10 чатах — и ничего не успевает глубоко.

Такое явление называют FOMO (Fear of Missing Out) — «вдруг все выучат что-то новое, а я останусь без работы?». Результат - поверхностные знания, выгорание, нет глубокой экспертизы и хроническая неудовлетворённость.

Решение:

  • Составить персональную дорожную карту развития;
  • Фокусироваться на одной области за раз;
  • Говорить «нет» тем технологиям, которые не входят в текущую цель;
  • Регулярно пересматривать и корректировать план.

Отказ от обучения и обратной связи

Разработчик считает, что «уже всё знает». Он игнорирует ревью, не читает книги, не ходит на митапы, не принимает критику. Он не развивается — и застревает на одном уровне годами. Это как спортсмен, который перестал тренироваться, но удивляется, почему проигрывает.

Почему так? Возможно, эго, страх, и зона комфорта. В итоге следует профессиональная деградация, потеря конкурентоспособности, уход из профессии и разрушение репутации.

Решение:

  • Признать, что обучение — это часть профессии;
  • Регулярно запрашивать обратную связь;
  • Участвовать в митапах, конференциях, внутренних обсуждениях;
  • Поддерживать привычку чтения технической литературы.

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


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).