8 самых распространенных типов программистов

5231
5

Девид Эльбе, шведский веб-разработчик и предприниматель, решил каталогизировать весь свой обширный опыт общения с программистами. Для удобства он разделил всех разработчиков на восемь узнаваемых типов: в результате получилась достаточно широкая палитра — от «перфекциониста» до «копипастера». Все типы он подробно расписал в своем блоге, а некоторые его читатели уже начали узнавать себя.

1. «Суперагент»

Тот, кто вникнет в суть проблемы и пофиксит ее, причем сделает это быстро. Он не печется особо о качестве кода и никогда не будет фиксить ошибки в чужом коде. Если нужно, «использует изоленту».

Способен на самом деле писать хороший код время от времени, и просто счастлив, когда другие проводят рефакторинг его кода — но только если код после этого работает по-прежнему.

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

Secret agent

Не сработается с «перфекционистом».

2. Мистер «Девяносто процентов»

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

Сначала прогресс его работы выглядит просто отлично, поскольку он работает по плану — но в конце окажется, что каждый пункт плана нужно прорабатывать по-новой.

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

3. «Переписчик»

Никогда не оставит кусок кода в покое, если видит, что тут можно что-то «допилить». Может больше времени потратить на рефакторинг несущественной части базы, чем на решение самой проблемы. Его код показывает лучшие в мире результаты тестирования, но всегда дорабатывается.

Если вы отдадите такому разработчику проект на PHP и MySQL, он тут же начнет переписывать его на Go, используя базу данных, не поддерживающую SQL. Затем поинтересуется, а в чем собственно заключалась проблема, которую нужно было решить.

4. «Перфекционист»

Мог бы очень напоминать предыдущий пункт, но этому программисту важно, чтобы его собственный код был совершенным. Может проводить дни над заданием, которое у «суперагента» заняло бы пару минут. Но код, полученный в результате — безупречен. Не может смотреть без раздражения на чужой код. Вы бы отдали что угодно, только бы его не назначали оценивать ваш собственный код.

Mason measuring  wood

Он никогда не сможет сказать, сколько времени потребуется на задание. Ведь совершенство не сковать временными рамками!

5. «Копипастер»

Давно занимается программированием, но не особо понимает, что именно делает. Возносит хвалы провидению каждый день за бекапы и системы управления версиями кода, поскольку каждый раз, когда он пытается хоть что-то сделать, оно скорее всего сломается. Любит фиксить проблемы в рабочей среде, поскольку локальная копия для разработки не работает. Половину рабочего времени висит на Stack Overflow.

6. «Экспериментатор»

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

Scientist working at the laboratory

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

7. Спагетти-кодер

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

В долгосрочном периоде скорее создает больше проблем, чем решает. Но незаменим, если нужно строго придерживаться дедлайнов и часто выкатывать новые «фичи». Может закоммитить ваши секретные API-ключи в ваш open source-проект на Github, поскольку это покажется простейшим и самым быстрым решением.

Не сработается с «перфекционистом», но создаст много работы для «переписчика».

8. «Ложнокодер»

Менеджер, который думает, что может донести что-то другим, пытаясь писать псевдо-код.

if
price of beer is less than 10
then
do order drink
else
exit foobar

В реальности же со стороны кажется, будто он пытается сюсюкать с программистом, как с ребенком: «О, как миленько. Дай-ка тот красный мячик мамочке! Молодец, программишка!».

Оставить комментарий

Комментарии | 5

Поиск