HLINKA-SOFT

Skip Navigation Links
Domů
Zkušenosti
Jiné
Definice "dobrého programátora"
  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.

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.

Miloslav Ponkrác
"Problematický" programátor
  1. Člověk, který opovrhuje teorií, a není nucen se jí učit nikdy dobrým programátorem nebude. Ať chce, nebo ne.
  2. Člověk, kterému stačí kopírovat bloky kódu a nechce vědět, co dělají, hlavně že to funguje, taktéž těžko.
  3. Člověk, který opovrhuje analýzou, či rozmyšlením bez práce a preferuje „hlavně sedět a programovat“ je ve fázi začátečníka, kterému chybí několik let aby se dostal někde na střední úroveň. Touto nemocí trpí hodně nadšenecké, linuxové a open source lidi, u kterých tato fáze trvá zhruba dvojnásobně déle.
  4. Člověk, který nikdy nedělal projekt s jasným termínem není dobrý programátor.
  5. Člověk, který nikdy neudělal a nedokončil projekt o alespoň 50 tisíci řádkách zdrojového kódu má stále mnoho zlozvyků, kterých se ještě nezbavil.
  6. Člověk, který tvrdí, že goto je jednoznačně špatné za všech okolností se ještě nestal špičkovým programátorem, i když může být nad průměrem.
  7. Člověk, který dobře poznal jenom jeden programovací jazyk, byť do hloubky, je jen poloviční programátor. Často zaměňuje obecný algoritmus a implementaci v jazyce a schází mu potřebný nadhled.
  8. Člověk, který nikdy neprogramoval low level, nebo alespoň algoritmus, kde byla hodně kritická rychlost, či množství nějakého jiného prostředku, tomu často schází schopnost odhadovat co je ve které situaci potřeba použít za technologii/algortimus/prostředek.
  9. Člověk, který programoval jenom low level je ještě na dlouhé cestě, ale může být docela dobrý. Schází mu ale abstrakce nad většími celky. Speciálním případem jsou assembleristé, kteří jsou schopní měsíc programovat, aby byl program o jeden bajt, či několik zdrojových řádek kratší, přičemž ve výsledku stvoří často 5× pomalejší program, než začali.
  10. Existuje zvláštní sorta programátorů, kteří si myslí, že OOP je všelék. Tak jako se indiáni modlí k velkému Manitúovi a obětují mu tučné bizony, tak OOP fanatici uznávají oltář OOP. Často v tichu duše doufají v blaženost ráje zvaného „ČISTÉ OOP“ a jsou schopni nadělat i velké škody, aby tohoto ráje dosáhli. Dost často učí programátory či dělají kurzy. Pokud dostanou začátečníky, zkazí je a prodlouží jim cestu o rok i déle. Pokud dostanou programátory aspoň s dvouletou zkušeností, mohou je leccos cenného naučit.
Miloslav Ponkrác
Můj komentář k výše uvedeným bodům
Uvedené texty natolik dobře a přitom vtipně vyjadřují mou představu o programování, že si myslím, že by je měl mít před sebou každý, kdo najímá programátory nebo kdo je řídí. Určitě by nebylo na škodu, kdyby tyto body stály na začátku každého projektu a programátoři by měli povinnost si je aspoň jednou týdně přečíst.
Webmaster: Zbyšek Hlinka