1. října 2009

Programátoři vs. kodeři

Při své práci na volné noze jsem již pár firem navštívil a všude mi to přijde stejné - část vývojářů jsou programátoři a část kodeři.

Programátor

Schopnost myslet - asi to zní úsměvně, ale toto je největší schopnost (a tedy rozdíl oproti koderovi) programátora. O své práci přemýšlí, přemýšlí, zda to co dělá dává smysl, zda zadání, které dostal neobsahuje nějaké nesmysly, nesrovnalosti. Programátorovi jde také často o "dobrý pocit" z práce - nejde vždy jen o to udělat nějaký úkol co nejrychleji, něco narychlo zbastlit, ale dělat věci tak, aby s nimi byl člověk sám spokojený.
Programátor bude obecně asi také více nespokojený člověk, protože mu záleží na tom, aby dělal v "prostředí", které dává smysl, které ho někam posouvá dále.

Kodér

Kodéra ze všeho nejvíce zajímá zdrojový kód - rád kód vytváří, ale nebaví ho si vymýšlet zadání, přemýšlet nad ním, diskutovat o něm. Ideálně dostane zadání, které obsahuje úplně vše - od informace, jaké metody má udělat a kam je umístit, přes informaci, že je nutné přidat tlačítko "Odeslat" k formuláři (toto je realita, jeden kolega udělal webový formulář bez tlačítek na odeslání). Díky velké orientaci na samotný kód dokáží psát velice efektivně a kvalitně.


To, zda je vývojář programátorem nebo kodérem nesouvisí ani tak s tím, jak kdo je dobrý v Javě, jak moc zná různé knihovny, frameworky, ale asi spíše s tím, jaký má přístup k práci, co ho baví více. Někdo je od přírody přemýšlivý, zkoumavý, zodpovědný, pečlivý, ...

Z pohledu sestavení vývojového týmu je zřejmé, že každý tým potřebuje oba dva typy vývojářů - někoho, kdo bude udávat směr a přemýšlet o aplikaci a někdo, kdo bude dělat (kvalitní) kód. Jen je otázka v jakém poměru to namíchat - má zkušenost je zatím taková, že poměr programátorů vs. koderů je přibližně 1:2.

7 komentářů:

Anonymní řekl(a)...

Citat:
Někdo je od přírody přemýšlivý, zkoumavý, zodpovědný, pečlivý, ...


Z kontextu vyplyva, ze toto sa vztahuje na programatorov. (Mozno sa mylim?)
Otazka - preco koder nie je peclivy a zodpovedny? Ked produkuje kvalitny kod, ktory splna zadanie?
A rovnako - premyslivy a zkoumavy. Nepremysla koder nad technickou strankou kodu a nezkuma nove moznosti a techniky vo svojej oblasti?

Kedze som sam z vacsej casti koder (aspon podla blognuteho popisu), musim s vyznenim citovanej vety nesuhlasit - vztahuje sa rovnako na programatorov aj koderov a uvedene vlastnosti nemaju nic spolocne so zameranim cloveka.

Petr Jůza řekl(a)...

Já jsem se snažil vyjádřit, že kodér není "nic špatného", že všichni jsme nějací.

Pokud je člověk nezodpovědný, lajdácký atd., tak stejně tak bude špatný kodér jako programátor.

Víceméně jsem chtěl jen vyjádřit v tomto článku tu skutečnost, že spousta lidí chce jen čistě programovat a nic více, že je to prostě baví a nebaví někde sedět na schůzkách a řešit problémy zákazníků.

Anonymní řekl(a)...

Citat:
spousta lidí chce jen čistě programovat a nic více, že je to prostě baví a nebaví někde sedět na schůzkách a řešit problémy zákazníků.

S tym mozem len suhlasit :-)
Zial musim doplnit, ze bez toho "riesenia problemov zakaznikov" sa to nezaobide.

paranoiq řekl(a)...

vaše chápání slova kodér není kompatibilní s mým :/

IMO je kodér úplně jiná pozice, než ti, o kterých je článek

to co popisujete mi spíš připadá spíš jako srovnání developer vs programer (v tomto pořadí), které jsem kdesi kdysi četl. bohužel už nedohledám :(
developer je ten, komu jde o výsledek a prostředky jsou druhořadé. programátor je ten, komu jde především o kód a výsledek je takový bonus

no a debatovat na schůzkách se zákazníky - to má přeci dělat analytik :P

Anonymní řekl(a)...

Dobrá úvaha.
Marián

Anonymní řekl(a)...

U nás ve firmě se programátor s rozhledem, který hlavně přemýšlí a pak teprve něco píše, nazývá "senior programmer". Programátor který dostane zadání a začne datlovat se nazývá "junior programmer".

Kodér se nazývá člověk, jehož specialiací je frontend - píše věci jako JSP, HTML, CSS a JavaScripty. I toto jde dělat na různých úrovních (junior, senior), ale vyžaduje to úplně jiné dovednosti a jiný způsob myšlení.

Anonymní řekl(a)...

Mladé dnes moc nezajímá problémová doména. Dejte mi zadání, já to spíchnu, většinou jen rychle než kvalitně, vždyť máme refactoring. To je kodér. Programátor zná problémovou doménu a je schopen reagovat na analytické nesmysly nebo nedomyšlené věci popř. sám navrhnout úpravu. Uf