Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Vývojář si jen s programováním nevystačí

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
8. 3. 2010 8:02

Programátor je cvičená opice

Článek jsem nečetl celý, protože mě to odradilo už v prvních větách. Protože s nimi nesouhlasím.

Programátor je cvičená opice, které někdo dá úkol a ona to přepíše do kódu. Jde jen pouze o úroveň, tedy ta nejnižší pouze přepisouje algoritmy, ta vyšší je vymýšlí a da další třeba zadává úkoly pro které je třeba vymyslet algoritmy.

Píšu to z vlastní zkušenosti, protože v určitých ohledech jsem ta cvičená opice. Málo koho z vyššího vedení zajímá, co jsi použil za algoritmus pro seřazení desítky milionů čísel. To člověk musí obchájit pouze horizontálně, tedy s ostatními v teamu, maximálně tak s nejbližším seniorem.

Důležitá je podle mne komunikace v teamu. Dobré je, pokud se problému udělá porada, do které každý „coder“ přináší vlastní pohled na daný úkol, vlastní návrh řešení, a kde se dělá ten pravý brain-storming. Ale pak porada skončí a jde se kódovat, každý ke svému stroji, každý řeší ty svoje drobné problémy, jako jak navrhnou meziksicht tak, aby na to mohl soused navázat se svým modulem, který bude hotovej koncem týdne.

A ze své zkušenosti vím, že programátor-team-leader-projektant-produkťák většinou neumí programovat, vést tým, projektovat projekt, obchodovat, ani vymýšlet obchodní model. Často na to ani nemá čas.

Václav Novotný
Václav Novotný (neregistrovaný) ---.nova.cz
8. 3. 2010 9:45

Re: Programátor je cvičená opice

Pokud je pravda, že většina programátor-team-leader-projektant-produkťáků neumí programovat, nebyl byste ráději, kdybyste na takových místech měl výborné programátory, kteří na základě tohoto článku vstřebali více obchodních znalostí a šli vám dělat vedoucí?

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
8. 3. 2010 11:11

Re: Programátor je cvičená opice

Ani ne. Pod slovem výborný programátor si představuju člověka, který programuje i v noci ve spánku. Po takovém člověku nemůžete chtít, aby dělal obchoďáka. I karierní postup je problematický. Pokud má někdo dělat vedoucího, musí mít vůdčí schopnosti. Pokud je nemá, nemůže vést tým. A někteří ani nechtějí.

Tím nechci programátorům upírat postup v kariéře. Jenže to nejde dělat klasicky stylem, skladník ⇒ vedoucí skladu ⇒ vedoucí skladovacích prostor ⇒ vedoucí oddělení ⇒ vedoucí pobočky ⇒ ředitel. Už protože, že skladník těžko bude umět dělat ředitele, bez patřičné rekvalifikace. U programátorů je třeba se zeptat, zda vůbec se chtějí rekvalifikovat. Mnoho špičkových programátorů spíš dál rozvíjí své znalosti v oblasti programování a nepotřebují se rekvalifikovat na něco jiného. Otázka ocenění špičkového programátora je o nečem jiným. Špičkový programátor se rozhodně od nováčka pozná a dobrý team leader by to měl poznat taky.

Už jsem několikrát viděl, jak špičkový programátor vedl tým. Mezi kamarády tomu říkáme „rozklad velení“. Proč asi? Programuje a na tým nemá čas.

Václav Novotný
8. 3. 2010 12:20

Re: Programátor je cvičená opice

Aha, tak v tom případě si asi nerozumíme v tom, co znamená výborný programátor, respektive možná ani dokonce v tom, co programátora dělá programátorem. Pro mě je výborný programátor takový, který:

– dokáže držet termín
- pokud ví, že překročí termín, tak o tom včas informuje
- chodí do práce v takový čas, aby se co nejvícesetkával se zbytkem týmu
- produkuje méně chybový kód než průměr, protože kód testuje
- je schopný mezilidské komunikace a má alespoň průměrný sociální intelekt
- dodržuje týmová pravidla pro psaní kódu a věci s tím spojené (způsob verzování atd.)
- zajímá se o novinky v oboru
- přichází s vlastními nápady na zlepšení

Asi by se dalo pokračovat dále. Co jsem ale chtěl říci je to, že výborný programátor pro mě není člověk, který jakoukoliv situaci algoritmizuje na úkor ostatních věcí. To není programátor, ale mimoň :)

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
8. 3. 2010 12:35

Re: Programátor je cvičená opice

Špičkový programátor je ten, který napíše kód, jenž není potřeba po půl roce předělávat. Nebo takový, který to napíše tak, aby po půl roce nebyl potřeba kompletní redesign (smazat a napsat znova). Nebo takový, který napíše kód tak, že chyba se v něm najde během minuty a doba vychytávání chyb je kratší než doba vývoje. Špičkový programátor napíše takový kód, který na výjimečné situace reaguje tak, že se nezhroutí, nesmaže půlku databáze, zareportuje stav a to tak, aby vyhledání problému zvládnul sám uživatel/admin. Aplikace špičkového programátora jsou stabilní, správně zareagují na všechny nepředvídatelné situace, jsou rychlé, a svižně reagují na uživatele. Kód špičkového programátora je dobře čitelný, rozhranní je podrobně okomentované a použití rozhraní je intuitivní, bez nutnosti pro každý případ užití kopírovat nutnou omáčku kolem toho. Kód špičkového programátora je domyšlený do detailu, řešící každou situaci, která může nastat, efektivní, rychlé, paměťově (prostředkově) nenáročné… a to v termínu, nebo ještě lépe před termínem. Špičkový programátor by měl šetřit čas a peníze a to i v případě, že si řekne o vyšší plat.

Samozřejmě všechny ty věci okolo, jako komunikace, verzování, doučování v oboru, jsou věci, který by měl zvládnout běžný programátor, o tom snad nikdo nepochybuje.

(s termínama je to problém, protože špičkový programátor pod mizerným seniorem bude buď vypadat jako lammer – ńa složité úkoly krátké termíny, nebo jako génius – totéž obráceně.)

Joey
Joey (neregistrovaný) ---.net.upc.cz
8. 3. 2010 22:15

Re: Programátor je cvičená opice

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.

heh
heh (neregistrovaný) ---.karneval.cz
10. 3. 2010 20:11

Re: Programátor je cvičená opice

tak tahle definice je absolutne fenomenalni… s kazdym bodem musi clovek souhlasit… uz to pojmenovani… opravdu, hezky.. jinak clanek se mi moc nelibi… btw, zajimave ze v tomhle listu definice dobreho programataru neni ani slovo o tymu… naopak autor clanku rika, programator neni ten kdo umi programovat, ale ten kdo dobre vychazi s tymem atd bla bla bla

brebta
brebta (neregistrovaný) ---.246.broadband10.iol.cz
10. 3. 2010 21:58

Re: Programátor je cvičená opice

No, to je proste definice asocialniho solisty rozmrzeleho z toho, ze je cim dal tim mene vyznamny. Absence schopnosti spoluprace na ruznych urovnich tomu citelne chybi. Staci se podivat na nektere kauzy ohledne vyvoje linuxoveho jadra, kde rada (mozna) technicky dobrych programatoru narazila prave z duvodu nedostatecnych socialnich schopnosti.

Franta Kučera aura:90
10. 3. 2010 22:09

Re: Programátor je cvičená opice

Na druhé straně většina těch „sociálně schopnějších“ není schopná do jádra nic připsat a jen tlachají v internetových diskusích a říkají, co by se mělo…

bpbp
bpbp (neregistrovaný) ---.net.upc.cz
26. 3. 2010 11:36

Re: Programátor je cvičená opice

Nejen, že je fenomenální, ale také dobře použitelná jako osnova při přijímacích pohovorech.

A s trochou snahy se dá abstrahovat na jakoukoliv pozici.

uf
uf (neregistrovaný) 62.240.183.---
20. 3. 2010 23:49

Re: Programátor je cvičená opice

I kdyz nejsem spickovy programator (a je to asi cim dal horsi). Ale rizeni by me nebavilo. A ze vsech programatoru nemuzou byt vedouci.

Petr N
Petr N (neregistrovaný) 89.203.197.---
27. 3. 2010 17:41

Re: Programátor je cvičená opice

Souhlas, vedouci musi umet zaklad a bezkonfliktne rozdat praci podrizenym, tak aby ji bezchybne a nejlepe bez protestu vykonali. Na papiry ídealne sekretarku. (Myslim to vazne.)
Vedouci opravdu nemusi mit detailni znalosti problemu, ale musi mit prehled, respekt a nejlepe prirozenou autoritu (Neporouci, ale zada, je schopny pochvalit, pri prusvihu nerve, ale umi to vytknout rozumne, a je inteligentni minimalmalne stejne jako podrizeny.)

Tom5 aura:83
8. 3. 2010 10:59

Re: Programátor je cvičená opice

Souhlasím. Jen bych místo termínu „cvičená opice“ použil slovo „voják“.

Zasílat nově přidané příspěvky e-mailem