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

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

  • Все ли члены команды понимают это на одном уровне? Все понимают код и системы на разных уровнях. Кто-то из вашей команды просто кивает, опасаясь показаться неопытным? Приведет ли это к ошибке пользователя в дальнейшем?
  • Изменит ли это наш обычный повседневный рабочий процесс? Должны ли мы? Мы не должны бояться перемен, но приведет ли это к увеличению работы для всех в долгосрочной перспективе?
  • Что происходит, когда это решение нуждается в развитии или изменении? Достаточно ли он гибкий? Потребует ли процесс его замены полной перезаписи или простого преобразования? Является ли это решение просто имитацией нативных функций на горизонте?
  • Действительно ли люди используют это в продакшне или это просто «ажиотаж»? То, что вы читаете в Интернете, не всегда отражает то, что происходит в реальной среде.
  • Если заменить всю команду, поймут ли они это решение? Неприкасаемый код — это бремя, особенно если его пишет разработчик, который ушел дальше.
  • Повышает ли это решение планку знаний, необходимых команде или отдельным лицам? В дальнейшем это может повлиять на требования о приеме на работу или заработной плате. Это может ограничить количество людей, которые могут работать над этим решением, разделив рабочую силу вашей команды.

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

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

В следующий раз, когда вы будете добавлять новую технологию, функцию или даже исправлять ошибку — спросите себя — это лучший способ сделать это? Или это просто решение, против которого никто не возражал?

Стаж разработчика – это не набор навыков, а образ мышления.

Фото Christopher Gower и You X Ventures на Unsplash