[Moscow.pm] Что такое "Хороший программист"

Foxcool foxcool333 на gmail.com
Пн Мар 31 04:34:44 PDT 2014


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

-- 
http://foxcool.ru
foxcool на jabber.ru



Подробная информация о списке рассылки Moscow-pm