31.03.2014 13:20, Alexey Shrub пишет:
Суббота, 29 марта 2014, 9:09 +04:00 от Walery Studennikov <[email protected]>:
По мне "хороший программист" -- тот кто "делает дело", т.е. реально
решает реальные задачи и проблемы, при этом за ним не нужно
переделывать. При этом достаточно самостоятельный -- ему не нужно
каждую мелочь разжёвывать и расписывать формально в ТЗ, он способен в
мелочах додумывать и предлагать адекватные решения. Организованный и
ответственный, которому не нужны няньки и пинки, чтобы как-то
организовать свою деятельность. При этом прагматичный, способный
выбирать решения из целесообразности, а не только из мотива "интересно
поиграться с технологией". Точнее, способный балансировать между
факторами чисто технологического интереса и бизнес-целесообразности.
При этом всём с адекватным интерфейсом, чтобы было приятно работать и
общаться как с человеком ))
Как то так ))
По мне так почти исчерпывающий перечень требований, попробую коротко
пересказать:
- делает то что работает
- делает самостоятельно
- делает так что это можно развивать
- делает в условиях дефицита информации (способен доосмыслить минимальное
ТЗ/задать вопросы/предложить решения)
- взвешенно выбирает технологии
- адекватен как человек
можно добавить
- знает и применяет стандартные решения для стандартных проблем
по сути получается что последнее единственный критерий связанный с
квалификацией т.е. большая часть критериев связана с личными
качествами/подходом к работе, которые на собеседовании сложнее выяснить, это не
про аглогитмы сортировки спросить.
ну и остаётся вопрос о соотношении качества и скорости, "хорошее" оно видимо
для всех разное (в зависимости от сферы бизнеса), кому-то качество в первую очередь, а
кому-то подавай завтра хоть какой прототип
И как можно заметить формулировки общие - не про хорошего программиста, а в
целом про хорошего работника-исполнителя
Вот тут согласен. Часто вижу, иногда вижу, что люди, независимо от
крутости и квалификации склонны писать решения, которые очень сложно
развивать. Они очень узко ограничены поставленной каким-то менеджером
или продуктовиком задачей без довольно "недорогих" степеней свободы,
если можно так выразиться. Менеджер или продуктовик или просто заказчик,
зачастую не видит дальше своего носа, и одни и те же вещи могут меняться
очень сильно. Так вот, со стороны программиста, стремлюсь учитывать, что
такие-то вещи могут легко меняться на другие из-за реалий бизнеса и
проще какие-то вещи сделать изначально универсальными, чем через год
переписывать значительно или нагромождать говнокод. Зачастую очень
важно, как какая-то вещь написана. Даже если сегодня это что-то быстрое
и простое, то не факт, что за какое-то время его не потребуется
расширять и наращивать функционал. Если написано грамотно, то ухудшаться
поддерживаемость будет значительно медленнее.
Ну и да: это скорее о "хорошем человеке", которому и менеджер не нужен
(проще самому вникнуть в потребности со стороны бизнеса и продумать
реализацию), не нужен человек с палкой и т.д. Т.е. я хоть и отношу себя
к "хорошим", но про свою квалификацию ничего особо хорошего сказать не
могу, ввиду тупо отсутствия опыта с реально крутыми вещами
(распределенные сети, может какой настоящий хайлоад) и многих знаний,
которые склонен получать именно в процессе работы над чем-то, а не
заранее зубрить технологии.
--
http://foxcool.ru
[email protected]
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org