Onehdá proběhla pěkná diskuse na builder.cz o tom, co je to „dobrý programátor“. IMHO to pěkně shrnul Miloslav Ponkrác:
http://forum.builder.cz/read.php?31,3239123,3239153#msg-3239153
A protože definic okamžitě uvolnil jako public domain, tak ji přetiskuju:
Velmi důležitá je definice významu „dobrý programátor“.
1) Definice ekonomická = ten, který vydělá nejvíce.
2) Praktická definice = ten, který umí vše, co je potřeba.
3) Buddhistická definice = ten, který ví, co dělá a umědomuje si přesně význam a důsledky každého řádku kódu, který napíše.
4) Genetická definice = ten, který má největší talent na programování.
5) Definice Hollywoodu = ten, který je nejznámnější jako programátor.
6) Definice vojenská = ten, který má nejvíce certifikátů a prošel největším množstvím školení.
7) Umělecká definice = ten, který jde svými cestami.
8) Definice šprta = ten, který zná nazpaměť referenční příručku.
9) Definice veterána = ten, který prošel všemi chybami a namlátil si hubu na všech možných průserech, co je možné, takže si dává pozor. Můžete se spolehnout, že s ním nedopadnete katastrofálně.
10) Definice prozíravosti = ten, jehož zdrojové kódy se dají dlouho udržovat, a není nutné je pro neudržovatelnost zahodit při prvním požadavku na další featuru.
11) Definice dobré architektury = ten, jehož programy mají promyšlenou architekturu.
Každý člověk považuje za dobrého programátora nějakou kombinaci výše uvedených bodů s různými váhami. Pro mě je to kombinace 2,3,4,7,9,10,11 s důrazem na 3, 10, 11 a trochu 9.
Hodně jsou za dobré programátory považováni lidi, kteří splňují 5, 6, nebo 8, ale já toto ignoruji a tyhle důkazy nepovažuji za nic jiného, než public relation, případně schopnost se něco nadrtit nazpamět. Body 5, 6 a 8 jsou slepou uličkou, které mohou nastat jako vedlejší efekty při cestě za programátorskou virtuozitou, ale pokud tam není nic dalšího máte před sebou člověka, který si na programátora jen hraje.