суббота, 24 октября 2009 г.

10 типов программистов, с которыми вы обязательно столкнетесь

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

#01: Гендальф

Такой тип программиста может успешно сыграть роль Гэндальфа во "Властелине колец". У него (или у нее! :) длинная борода по колено, глупая шляпа; может носить плащ или накидку зимой. К счастью для команды, на рабочем месте, это адепт белой магии, прямо как Гэндальф. К несчастью для команды, они должны будут терпеть часы рассказов Гэндальфа о том, как он или она шел в гору, по снегу, чтобы доставить перфокарты в далекий вычислительный центр. Гэндальф ¬¬– это ваш наилучший ударник IT-шного труда, но если вы попробуйте оставить его позади команды – это вызовет отчаяние.



#02: Мученик

В любой другой профессии, Мученик – это обычный "трудоголик". Но в области разработки, мученик выходит за эти рамки в другое измерение. По крайней мере, трудоголики уходят домой, в душ – и спать. А мученики гордятся тем, что просыпаться на рабочем столе среди пустых коробок из-под пиццы. Проблема в том, что никто не просил Мученика так работать. И он или она пытается заставить остальную часть команды почувствовать себя виноватыми, такими фразами как: "Да, пойду я домой, хотя бы пообедаю. Сегодня ночью закончил с участком кода, на который отводились ближайшие три недели.

#03: Фанатик

Следите за Фанатиком. Если он или она настигнет вас врасплох, и прижмет в угол, то вы будете обречены, прослушать трехчасовую лекцию о превосходстве Opera по сравнению с Firefox, или почему Playstation 3 лучше, чем XB 360. На рабочем столе Фанатика разложены плакаты, фигурки и другие безделушки, связанные с его навязчивыми идеями, скорее всего, привезенные из Японии. С фанатиками невозможно иметь дело, они тратят настолько много времени на свою одержимость (внутри и вне офиса), что они совершенно не понимают, когда нужно выполнять работу, для которой их наняли.


#04: Винс Нил

Это человек около сорока лет, который живет в далеком к 1984 году. Длинные волосы, потертые стираные джинсы и бандана. На протяжении рабочего дня, Винс сидит в офисе, напевая мелодии Bon Jovi и Def Leppard. И, в принципе, все не так уж и плохо, если бы песня "Pour Some Sugar On Me" не была бы так чертовски заразительной.

Винс – веселый человек и работать с ним – одно удовольствие, и на самом деле он очень опытный человек, но просто... никогда не взрослеет. Но Винс доставляет хлопоты, когда он или она пытается жить в стиле Rock-n-Roll; с длинными волосами на голове, и с берцами на ногах. И… достаточно сложно работать с теми, кто приходит на работу с похмелья каждый день.

#05: Ниндзя

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

Ниндзя настолько скрытный, что вы даже можете не знать их имена, но вы знаете, что каждый проект с их участием получается более и более гладким. Однако, будьте осторожны. Ниндзя – одинокий воин; не пытаются принудить его или ее на работу с рядовыми участниками вашей команды.

#06: Теоретик

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

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

#07: Ковбой

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

Код Ковбоя – это беспорядочное месиво из спагетти кода, потому что он или она работает настолько быстро, что необходимость рефакторинга даже не возникала. Скорее всего, семь страниц кода основной функциональности выглядит как примеры кода с пометкой "Никогда не делайте так!" из учебника по программированию, но, о чудо, оно работает. Ковбой не может хорошо взаимодействовать с другими. А если вы вовлечете двух Ковбоев для работы над одним проектом, то проект гарантировано обречен на провал, поскольку они будут топтать изменения друг друга и стреляют друг другу в ногу.

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

#08: Десантник

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

#09: Посредственный Человек

"Достаточно хорошо" это лучшее, что вы можете получить от Посредственного Человека. Он или она всегда тратят больше времени для создания худшего кода, чем у кто-либо в команде. "Тише едешь – дальше будешь" – так можно описать проекты П.Ч. Но П.Ч. всегда просто "достаточно хорош" чтобы не быть уволенным.

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


#10: Евангелист

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

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



Оригинал статьи: 10 types of programmers you'll encounter in the field
Автор: Justin James

Перевод: Дмитрий Жарий

8 коммент.:

Анонимный комментирует...

Прочитал вдумчиво, вывод -- херня.

Анонимный комментирует...

В ниндзе, поход не на митинг, а на совещание :)

DmytroZ комментирует...

>> В ниндзе, поход не на митинг, а на совещание :)
Спасибо, подправил.

firej комментирует...

слишком много крайностей...

Анонимный комментирует...

Класс, поржал, у меня в команде некоторые мутанты, один с другим!!!

Анонимный комментирует...

Это не просто так все придумано и с потолка взято. Психолог работал.
Я применил эти типы к одной команде ИТ, в которой работал. Точность попадания в описаниях людей в этой команде - 100%, разве что немного смешаваются два типа в один.
Я это номер 10, евангелист 90% и 10% ниндзя. Есть в команде Десантник, с небольшой примесью Винс Нила, мой друг, кфмн - Мученик, есть и Ковбой, только вот она, а не он...
:) Читал, представлял, смеялся и офигевал - как точно!

IVan комментирует...

Так и не понял какой я программист...
Почему нет пункта "Программист обычный - кодер"

впавпвапвп комментирует...

я ниндзя десантник)))

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

 

.NET ate my MOSK;. Powered By Blogger © 2009 Bombeli | Theme Design: ooruc