Разработчики как дети

Разработчики как дети

Агафонов Георгий (@AgafonovG)


Да, название очень кликбейт (вот такой я человек). Рабочее же название этой статьи - “Сеньор = взрослый человек”.

Надеюсь, этим текстом подожгу горючие места. Хочу разжечь пламя беседы. И этим “огнем” привлечь новых людей. Лайк, шер ;)

И, конечно, все неприятные эмодзи я убрал ⇒ свое негодование направляем в комментарии 😈 🐀

(играет музыка из мультика "Пинки и Брейн")


И еще небольшое техно-лирическое отступление.

В чем разница между должностью и ролью? Должность закреплена на уровне трудового договора. Ответственность и обязанности прописаны в должностной инструкции, как и требования.

Роль, в отличии от должности, более гибкая сущность. Роль можно сыграть. Ее можно играть долго, можно иногда, можно всего раз. Роль подразумевает зоны ответственности ситуативные и постоянные. Но, в конечном итоге, от роли можно избавиться гораздо легче. Делегировать ее частично или полностью.


О чем размышление?

Посмотрим на уровни разработчиков будто это этапы взросления. Сопоставление будет метафорическим, без анатомической точности. Ключевым параметром в этом сравнении будет уровень самостоятельности.

Под самостоятельностью здесь будем подразумевать возможность сделать задачу с 0 до 100% абсолютно автономно. Условимся, что требования описаны хорошо. Не идеально, чтобы осталась необходимость что-то прояснять.

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

 И чем полезно?

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

А еще будет полезно, если вы хотите повысить свой уровень и нужны ориентиры развития, нужны критерии, по которым можно назвать себя магистром темных наук сеньором.


Уровни разработчиков, которые обычно выделяют

Intern - Ребенок (5-8)

Знает базу. То есть умеет читать и писать.

Оставлять одного не стоит. Травмоопасно. И бесполезно.

Бывают исключения: самостоятельные интерны, которые могут больше в среднем, но все равно нужно оставлять довольно четкие указания. Если и это не нужно, то это уже не интерн.

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

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

Конечно, навык гугления не отменяем, но и его надо качать. Например, подсказать где лучше искать ответ (на Stack Overflow, а не в майл ответах).

Резюмирую, что интерн, в моем представлении, это не выпускник ИТМО (неоконченное тоже считаем за впуск;), но вчерашний выпускник распиаренных курсов, который еле смог. Как я сейчас с Яндекс.Практикумом))

Хороший интерн, в моем представлении, прежде всего отличается любознательностью, тягой к знаниям и познанию того как можно реализовать ту или иную идею, фичу.

Самостоятельность ~ 0% - 15% (быстро наращивается для перехода на следующий этап)


Junior - Подросток (8-16)

Сам делает домашнюю работу и не только.

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

Может спрашивать и даже хорошо понимает зачем и что спрашивает.

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

С технической точки зрения, опять же, такой спец может посмотреть код и сразу задать адекватные вопросы.

Самостоятельность 15-50% (то есть прогрессирует довольно быстро)

Порой, может и 100%, но лучше проверить, зависит от задачи и конкретного специалиста


Middle - Юность (16-21)

С точки зрения закона практически полная дееспособность. Юмор - мой конек-горбунок.

Может все. Но опыта еще не супер много.

Другими словами - силен и может копать. Может не копать.

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

В большинстве задач (более 75%) можно бросить в огонь, выплывет. Потому что задачи это лава, а значит можно плыть.

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

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

Самостоятельность 75% - 100%


Кажется, что чем дальше, тем меньше описание?

А еще меньше вопросов к хард скилам и все больше вопросов к софтам. Скоро увидите. Думаю, вы уже точно понимаете суть, что если человек технически точно может сделать задачу, то остается только вопрос как быстро он может это сделать, с учетом возрастающего количества неизвестных переменных. Будь то отсутствующие требования к технической реализации или частично отсутствующие требования как и отсутствующий заказчик)


Senior - (21 ~ 35)

Это супермен. Человек, который может все. Если захочет, конечно.

Можно дать любую задачу и забыть. Даже если требований нет. Все равно потом выбьет их из вас своей твердой, уверенной самостоятельностью в том виде, в котором надо ему. Ведь работа просто не будет сделана иначе. Так что лучше напишите хоть что-то, чтобы потом было проще выдержать критику по поводу "задачи надо ставить нормально, неуч" (степень оскорбительности зависит от кол-ва накопленной усталости).

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

Самостоятельность 100% - 150%

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


Lead (23 + )

Вернее будет сказать Team Lead и отличать его от Tech Lead. Разница, как вы догадались, в том, что тех. лид несет ответственность именно за техническую сторону вопроса: как и что нужно делать в коде, какие технологии используются и для чего. Тим лид, в свою очередь, в большей степени несет ответственность за организацию работы, что ближе к роли проектного менеджера. С точки зрения хардов этот человек может быть мидл+ и выше, но очень вряд ли ниже.

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

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

Самостоятельность 200%+


Выводы

Что интересует бизнес?

Задача сделана в срок (или быстрее) и так, как задумано (на сколько это зафиксировано в требованиях). Из этого рождается потребность в людях, которым можно доверить работу. Уровень самостоятельности соответствует этому и определяется тем, что задачу можно доверить и она будет сделана в срок и как требуется.

А для этого нужно:

  1. Знания, навыки и опыт работы с технологиями, которые нужны для реализации поставленной задачи. В том числе понимание декомпозиции задачи (и опять опыт).
  2. Такие свойства личности, которые позволят преодолеть все возможные трудности на пути к выполнению задачи. Будь то недостаток требований или недостаток знаний. Даже недостаток ресурсов, который можно восполнить.

Проще говоря, совокупность тех самых хардов и софтов, которыми обладают супер самодостаточные специалисты. Аля коммандос.

Из самостоятельности и опыта взаимодействия рождается доверие. И это выглядит как партнерские отношения между взрослыми людьми.



Report Page