Почему над вашими проектами работают senior разработчики

senior developer
Чтение займет: 3 мин.

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

Почему сеньор, а не джуниор

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

Вторая отличительная черта сеньора – широкий кругозор. Опытный разработчик разбирается в смежных областях и понимает, как каждое его решение повлияет на функциональность продукта в целом и в разных ситуациях. К примеру, хороший фронтенд-разработчик понимает дизайн-систему, может различать хорошие и плохие API-запросы к серверам. 

Какие задачи решают сеньоры

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

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

Почему выгодно работать с senior разработчиками

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

  • Работа сеньора получается дешевле. Продуктивность джуниоров традиционно ниже. Там, где над задачей будет работать сразу несколько новичков, справится один сеньор. И зачастую быстрее, чем команда джуниоров. В сумме за их человекочасы придётся отдать больше, чем за работу опытного разработчика
  • Качество, чистота кода у сеньора выше. С точки зрения денег это, как минимум, меньше трат на тестирование, меньше времени на устранение багов, ниже расходы на поддержку и запуск следующего релиза с исправлением ошибок. 
  • Приложение, сделанное сеньором, возьмет на поддержку любая команда. Но никто не хочет брать плохой код и мучиться с костыльными решениями за те же деньги, что и поддержка хорошо закомментированного, чистого проекта. Передать приложение, написанное джуниором, на поддержку – та еще задача.
  • Senior на проекте – это приложение без костылей. Нестандартный функционал продукта можно сработать как костыль или найти изящное решение, которое не снизит скорость и не ухудшит функциональность приложения. Изящное решение – это как раз про сеньора.   

Джуниорам на проекте не место? Ни в коем случае! Сеньоры получаются из джуниоров и никак иначе.

Вот почему мы учим junior-разработчиков на многочисленных внутренних проектах, вводим их в большие команды с middle и senior-специалистами, даем отрабатывать навыки и пробовать нестандартные решения на тестовых задачах. А над клиентскими приложениям трудятся сеньоры. Потому что мы знаем цену деньгам, а больше денег ценим свою репутацию. 


Полезные ссылки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *