Блог

Брать «зелёных» программистов или работать с опытными – вопрос из разряда вечных для руководителей отделов разработки. Кто-то так и мечтает о своей несбыточной dream team, а кто-то работает с тем, что есть и достигает неплохих результатов. 


Пару лет тому назад мы также столкнулись с этой дилеммой и в итоге поставили на студентов и аспирантов. Эксперимент превзошёл ожидания: мы создали отдел высоконагруженных систем, расширили его и написали памятку, которая, надеемся, поможет и в вашей работе.


 

Принципы работы и обучения молодых специалистов


 

1. Ставьте задачи с трудозатратами не более двух часов. Попросту для того, чтобы программист не закопался в себе и не ушёл в неправильном направлении.


2. После постановки задачи ещё раз обговорите цели и методы реализации задачи. Отдельно проговорите возможные сложности и особенности использования ранее разработанных функций.


3. По 30-40 минут в день выделять на молодого специалиста:


- проверяйте качество кода;


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


Обучение молодых



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


5. Постепенно усложняйте делегируемые на разработчика задачи для повышения его квалификации.


6. По истечении 3-6 месяцев прекращайте тщательные проверки кода. Сразу делегируйте задачу тестировщику.


 

Как подключить новичка к проекту?


 

1. Дайте ему документ с описанием работы функциональности системы. Если его нет, то просто побеседуйте с сотрудником об особенностях разработки системы.


2. Найдите в проекте простые задачи и отложите их для новичка:


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


Второй уровень. Задачи, требующие исправления функционала проекта. Здесь главным будет научить программиста разбираться с кодом предшественника и как минимум не испортить его.


Третий уровень. Задачи по исправлению системных логических ошибок.


3. Чтобы небольшой опыт нового сотрудника не сказывался на ухудшении разработанной ранее части и кода в целом – давайте ему на разработку простые модули.


 

Что насчёт помощи?


 

Наконец, на разработку простого модуля рекомендуем выделять минимум двух разработчиков. В чём преимущества такого метода?


- работает принцип «подстраховки» среди разработчиков. Так мы исключаем последствия болезней и отпусков;


- дополнительная взаимопроверка кода. Более опытный программист присматривает за кодом неопытного;


- самоконтроль среди разработчиков;


- широта взгляда на реализацию задачи;


- оперативность подключения второго программиста к реализации задачи.



Автор: Григорий Казаков, руководитель отдела высоконагруженных систем


Возврат к списку