Přejít k navigační liště

Zdroják » Různé » Programátor přestává být amatér, když…

Programátor přestává být amatér, když…

Články Různé

… dostane za svou práci zaplaceno? Když ovládá 90 procent toho, co zákazník běžně chce? Kdy vystudoval vysokou školu? Když má 1 rok praxe? Když umí pět programovacích jazyků? Kdepak. Programátor přestává být amatér, když začne být profesionál! A jak se pozná profesionál?

Nálepky:

Profesionál ví, co v jeho oboru znamená „kvalitní řešení“ – amatér nepozná své chyby, navíc novinek je tolik, že neví, kde začít. Profesionál už se našel a ví, že chce dělat HTML5, nebo databáze, nebo 3D grafiku, nebo embed zařízení… Ve svém oboru si profesionál zjišťuje novinky a trendy, ostatní oblasti čte pro zábavu a inspiraci.

Profesionál má potřebnou infrastrukturu – amatér si stáhne „knihovnu“, vygooglí si nějaký hosting a založí si takzvané webové studio. Profesionál buduje infrastrukturu. To znamená systémy, které ho podporují, které pouští testy, které integrují jeho práci, systémy, které provádí deployment, systémy, které provádí databázové migrace. To jsou časové investice, které profesionál nedělá do zákazníka, ale pro sebe – aby ve výsledku udělal víc práce pro zákazníka (tedy za peníze) a nemusel dělat mechanickou práci, kterou za něj udělá skript.

Profesionál zná svou cenu – amatér nemá reference. Amatér nemá poptávku. Amatér jde s cenou dolů. Amatér nemá jinou konkurenční výhodu než cenu. Profesionál se diferencuje a nabízí služby, které se dají obtížně napodobit. Čím delší dobu profesionál něco dělá, tím víc oblastí zasahuje, ale zároveň v jedné, dvou proniká do velké hloubky. A dřív nebo později se objeví zákazník, který přesně tyto znalosti potřebuje.

Profesionál umí poradit zákazníkovi – profesionál už jednal se spoustou zákazníků. Ví, co zákazníci chtějí a dokáže jim poradit řešení, které sice nepoužívá nejvíc trendy technologii, co by si vývojář rád vyzkoušel, ale které využije to, co je jednoduché. Řešení, které využije existující knihovny, klienty, dokumentaci a umožní zákazníkovi případně od profesionála odejít a najít si jiného (ano, myslím si, že vendor lock-in je nemorální – pozn.aut.).

Profesionál ví, kdy má porušit pravidla – profesionál svou práci dělá nejlépe, jak umí. Ale zároveň ví, že má určité hranice. Když přijde zákazník s tím, že chce web s patnácti stránkami a jedním kontaktním formulářem, nepoužije Zend (v kterém bude mít vlastní aplikace jen promile velikosti celého ZF), nepoužije Data Mapper, ale přímo SQLka, nebo nějaký Active Record. Říká se, že každá aplikace roste. Já mám pocit, že aplikace jako takové rostou, ale webové stránky v tomto slova smyslu nejsou aplikace a moc to o nich neplatí. Na stránkách většinou jen roste obsah (mluvím o zákaznících, pro které internet není ani hlavní, ani vedlejší prodejní kanál, a pro které je stránka jen vizitka).

Profesionál ví, co nejde – je to zvláštní, ale „vědět, co jde“ není až tak těžké. To je v dokumentaci. To je v API. Co nejde, to si musí člověk zjistit praxí. Na druhou stranu: profesionál nebude lhát, že něco nejde, jen proto, že je to obtížné.

Profesionál našel své pracovní nástroje – nechápu vývojářská studia, ve kterých se globálně nařídí jeden editor kódu, jeden browser a programátoři ani nemají administrátorská práva na svůj počítač (přestože nejspíš vědí o počítačích stokrát víc než správce sítě, který ta práva má). Když budu řídit jadernou elektrárnu, nějakou pětisethlavou firmu, tak je to pochopitelné. U firmy s třiceti zaměstnanci to ale nedává smysl. Každý je unikátní a každý pracuje jiným způsobem. Proto je potřeba respektovat jeho odlišnosti, jinak nebude výkon lidí profesionální. Takový podnik se zredukuje na „společný jmenovatel“, místo es budou ve firmě jen vzájemně zaměnitelní průměrní zaměstnanci. Profesionál v takovém prostředí pracovat nebude. Profesionál používá nástroje, které podpoří jeho talent, ne takové, které se dobře používají i kolegům-juniorům.

Být profesionál ale hlavně znamená být odpovědný. Nebát se podepsat pod svou práci a nestydět se za ni.

Článek vyšel na blogu Jiřího Knesla, na Zdrojáku je zveřejněn s autorovým laskavým svolením.

Komentáře

Subscribe
Upozornit na
guest
49 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
pajon

Pekný článok :)

Pepa

akorát úplně vo hovně :-P

hulibrk

Přesně, napadlo mě úplně to samé.

Karel Zak

Proc si autor mysli, ze v petisethlave firme dava smysl, aby developer nemel admin prava ke svemu pocitaci a nemohl rozhodovat o pouzivanych nastrojich?

Jiří Knesl (autor)

V některých firmách (třeba IBM) jeden od počítače odejde a další si k němu na noční směně sedne. Tam je to jasné.

Často k tomu není důvod ani u velké firmy a bude to jen byrokratický výmysl.

TomNodoby

Že profesionál dokáže odmítnout zákazníka.
Důvodů může být x – nedokáže se pro vytíženost pořádně zakázce věnovat, musel by použít něco, při čem si není jistý v kramflecích, obtížně hledá společnou řeč se zákazníkem a musí se příliš „hrbit“, případně má ze zákazníka jednoduše špatný pocit. Možná zdánlivě banality, ale osobně mi tohle naučení se odmítnout ušetřilo hodně nervů, času, paradoxně financí a je to znát na referencích. Ikdyž něco z toho bylo v článku popsáno či naznačeno :-) Pěkný článek.

PEPSON

Profesionalom ta nikto nespravi, nim sa musi kazdy stat sam…

Raduz

„…a programátoři ani nemají administrátorská práva na svůj počítač (přestože nejspíš vědí o počítačích stokrát víc než správce sítě, který ta práva má).“

Obávám se, že výrazně podceňujete většinu správců a ještě výrazněji přeceňujete většinu programátorů.

Michy

Obavam se, ze jste az prilis velky detailista.

Opravdový odborník :-)

Ano, to je ten věčný flamewar mezi administrátory a programátory :-)

Co se týče těch relevantních znalostí (vzhledem k pracovní stanici), budou na tom oba srovnatelně. V ostatních znalostech je to asi jako se hádat, jestli je větší odborník chirurg nebo pilot – každý přece dělá něco jiného, tak jak to chcete srovnávat? Ale když už se to má nějak zobecnit, programátoři (hackeři) stojí nad administrátory a testery, to je zřejmé. Byť se samozřejmě najdou výjimky ve všech směrech (při porovnávání konkrétních jedinců).

em

Nakonec se stejně naučíš jen to, co stihneš ze zájmu a nadšeni. Později už není čas se učit ani to, co potřebuješ. A už vůbec se divně tváří, když řeknu „budu se pravidelně učit, ak to mám vykázat“.

jichadusan

Zdravím, osobně se klaním k názoru, že nelze obě role dost výrazně odlišit,
programátor, aby mohl dělat svojí práci dobře musí být tak trochu administrátor a naopak.

Nemůžu bouchat databázovou logiku aniž bych neměl páru o parametrech zařízení na kterém program poběží, struktuře podniku a právech jaké přidělit objektům apod.

Navíc ne vždy jde všechno naklikat, tak si to musí admin napsat skript, takže se opravdu nevylučuje, že programátor nemá administrátorské znalosti a administrátor neprogramuje.

RPajik

od toho ma snad programator zadani, ne ?

McL

Profesionál je ten, pro kterého je daná činnost profesí. Zkrátka se tím živí. Amatér je ten, kdo to dělá pro zábavu, jako koníčka. Žádný jiný rozdíl v tom není. Kvalita, schopnosti, zkušenosti, pracovní nástroje… s tím vůbec nesouvisí. Nepřekrucujte, prosím, význam tak jasných slov.

Pavel Lang

Jinými slovy, profesionál to dělá pro peníze :-) Možná by se hodilo vynaleznout nové termíny, nebo použít už uxistující, třeba odborník, ale v tomto státě si žádný skutečný odborník tak říkat nebude, neb ti, kteří se tak oslovovat nechají vlastně nejsou ani profesionály :-(

Opravdový odborník :-)

Ne že by článek stál úplně za pendrek (na tradiční páteční je to lehký nadprůměr), ale proč proboha zaměňujete pojmy s dojmy a dáváte těm výrazům nějaký jiný význam?

Amatér je člověk, který danou věc dělá pro radost, zábavu (nejvíc je to vidět ve sportu a kultuře, ale i v IT je řada amatérů). Zatímco profesionál se danou činností živí (tzn. nestačí, že dostal jednou zaplaceno, ale je to jeho práce, jeho dlouhodobá obživa).

Ale nemá to co do činění s kvalitou jeho služeb nebo zkušenostmi – ty jsou jak v kategorii amatérů, tak profesionálů velmi různorodé, je to celá škála a ta amatérská a profesionální se z většiny překrývyjí – jen toho horního okraje se amatéři obvykle nedotknou, protože se dané činnosti nevěnují naplno (mají jinou práci, která jim bere potřebný čas), s tím dolním okrajem je to diskutabilní (trh obvykle neakceptuje příliš nízkou kvalitu, ale není to pravidlem – někdy je i o takové služby zájem a jsou poskytované profesionálně).

Někdo třeba jen čistí kuličky v myších nebo vyměňuje náplně v tiskárnách, zatímco jiný programuje kritické bankovní systémy nebo lékařský software nebo učí na universitě. IT profesionálové jsou oba – jen jejich úroveň je odlišná.

Vedle toho jsou i amatéři, kteří se danou činností sice neživí, dělají ji jako koníčka, ale jsou na vyšší úrovni než leckterý profesionál – to se nevylučuje, profesionál nemusí být zákonitě lepší než amatér.

Rozepsal jsem se asi trochu víc, než je zdrávo, ale tohle překrucování pojmů mne prostě rozčiluje – slova profesionál a amatér nejsou citově zabarvená, jsou neutrální a konstatují prostý fakt, není potřeba k profesionálovi obdivně vzhlížet a amatéra brát jako nějakého troubu, který si ani neumí zavázat tkaničky. Dobří i špatní mohou být oba dva.

> Profesionál se diferencuje a nabízí služby, které se dají obtížně napodobit.

Není pravda. Nejvíce se vydělává na zboží pro obyčejné průměrné lidi resp. zákazníky. Prodávají se hamburgery, levné papundeklové skříně, levná auta atd. Na výjimečném nenapodobitelném luxusním zboží se vydělává relativně málo (je sice drahé, marže je slušná, ale objem malý). Profesionálové jsou různí – někdo vydělává na velkých objemech běžných služeb, někdo zase na malém objemu výjimečných služeb. To není nic, co by rozlišovalo dobré od špatných natož profesionála od amatéra.

> Když budu řídit jadernou elektrárnu, nějakou pětisethlavou firmu, tak je to pochopitelné.

Ne, není. Dělal jsem i ve větších firmách a programátoři tahle privilegia normálně mají – opak znamená házet jim klacky pod nohy a v dlouhodobějším horizontu přijít o ty nejlepší lidi. Vývojář je výjimečný tvor, který potřebuje volnost a nejlepší podmínky pro práci (to nejlepší je zde subjektivní, proto je na prvním místě ta volnost, aby si každý vybral, co potřebuje). A k zajištění bezpečnosti slouží jiné věci než odebrání administrátorských práv na pracovní stanici (dobré firemní procesy, důsledné oddělení vývoje a provozu atd.).

Opravdový odborník :-)

P.S. ještě k tomu:

> Profesionál se diferencuje a nabízí služby, které se dají obtížně napodobit.

Vždyť i na svém webu máte:

>Sekejte webové aplikace jako Baťa cvičky!

nebo snad děláte školení pro amatéry? :-)

Nox

Naprostý souhlas, hezky napsáno

Bohužel i nebýt to „profesionál vs. amatér“ ale jednoduše soupis rad, asi by to bylo převážně příliš obecné a vágní aby to někomu pomohlo (i když ‚opakování matka…‘), přitom myslím že autor má dost zkušeností aby napsal něco pragmatičtějšího … a čtivé je to dost

David Grudl

Tak to vnímej jako článek o tom, jak se liší opravdový odborník od někoho, kdo se tak jen označuje.

martin

„nechápu vývojářská studia, ve kterých se globálně nařídí jeden editor kódu, jeden browser a programátoři ani nemají administrátorská práva na svůj počítač“

Taková firma skutečně existuje? Když první den nastupuju, tak si na stanici nainstaluju vše, co potřebuju, pokud nemám práva, tak úkoluju pověřenou osobu a pokud je nějaký problém, tak jdu hned za šéfem.

Pokud by mi bylo při pohovoru nebo první den řečeno, že musím používat xy IDE atd, tak dávám okamžitě výpověď.

PS: můj otec je profesí fyzik, ale pamatuju se, že za socíku odebíral časopis amatérské rádio a pájel si různá zařízení, např. zesilovače ale i složitější. Byl to amatér. Nicméně s jedním slaboproudým udělátkem slavil celkem slušné úspěchy a rozhodně bych ho neoznačil za fušéra.

blizz

-amatér vynecháva analýzu a návrh
-amatér má nečitateľný kód
-amatér nedodržiava formátovacie a lexikálne konvencie jazyka
-amatér nepoužíva výstižné názvy identifikátorov
-amatér netestuje
-amatér zbúcha aplikáciu čo najrýchlejšie pričom nikto iný sa v jeho kóde nevyzná
-amatér nepozná možnosti frameworku pod ktorým vyvíja, a vždy objavuje ameriku nanovo
-amatér podceňuje znovupoužiteľnosť kódu
-amatér precenuje multiplatformnosť

Opravdový odborník :-)

Kdybyste místo amatér napsal bastlíř, tak by se s tím dalo souhlasit. Ale takhle to jsou bohužel jen žvásty.

Nebo snad nevěříte, že i amatér může odvést dobrou práci?

blizz

ok máte pravdu slovo „bastlíř“ sa tam hodí lepšie. bohužiaľ slovenčina nemá žiadny ekvivalent k tomuto slovu.

marek

a čo tak fušer? :)

chuj

nebo „chuj“

uf

Zaměňujete pojmy profesionál a odborník. Odborník je ten, kdo o oboru hodně ví a umí. Profesionál je ten, kdo se tím živí.

Já jsem třeba amatér i profesionál, hraju si doma a živím se tím, ale celkově lama.

Ještě jedna dobrá definice odborníka: Odborník je člověk z jiného města.

Širo

Ako keby som videl svoj život v tom článku, super napísané – fakt super.

Tom Flídr

Dobrý článěk Jirko!
Kvůli Tobě asi přijdu letos na Webexpo (s Jirkou se známe osobně:-),
no a snad ještě kvůli Douglesovi (s tím už ne:-)
Čau, tf.

Hds

Webdesignem se živím už cca 11 let, netroufal bych si sám sebe nazvat profesionálem v pravém slov smyslu (člověk se má pořád co učit), ale můžu říct, že mnohem raději bych spolupracoval s člověkem, který sice není ten pravý profesionál, jak je popsán v článku, ale má kreativní uvažování, je schopen se rychle učit, má zapálení pro věc a hlavně – začně co nejdřívě něco dělat.

Určitě existují programátoři, kteří sice možná mají hluboké teoretické i praktické zkušenosti, nicméně jsou tím už natolik zdeformováni, že nejsou schopni jednoduchého, selského uvažování. Zabředávají do teorií, dokumentace, diagramů, analýz apod. místo toho, aby prostě začali něco dělat. Osobně se mi už nesčetněkrát potvrdilo, že je lepší (hlavně pro klienta) co nejdříve představit alespoň v minimální míře funkční řešení, než dlouze teoretizovat.

IMHO je třeba rozlišit dvě situace – buď se bavíme o programátorovi v tom „větším“ významu, tedy člověkovi, který např. vyvíjí složité systémy (např. bankovní aplikace), a tam vše co je uvedeno v článku platí. Nicméně, pokud se bavíme o programátorovi (jako jsem např. já :-), který se zabývá spíše webdesignem, zvládne vytvořit kvalitní web aplikaci, ale nikam dál se většinou v kariéře neposune, tak je to zcela jiná situace…

backup

vyskytuje se to zde v komentarich nekolikrat, proto na to reaguji.

Bankovni aplikace nejsou nijak komplikovane, jedine na co se nesmi zapominat, je to mnozstvi dat a to, ze ty zakladni pocetni operace musi skutecne sedet.

Bankovni software delaji odjakziva ti nejhorsi profici, plati se u toho nejlepe v cele branzi (protoze banky si to mohou dovolit) a podle se u toho toci prave takovi lide.

Skonceme proboha s tou pohadkou o komplikovanem bankovnim software!

uf

Aby ses nedivil. Už jsem slyšel dost lidí říkat „to je primitivní, to bude raz dva“. A když se dostali do hloubky problému, divili se. Vše se většinou rozroste pod rukama. Jednorázový zkušební nebo opravovací program se nakonec upravil a používal denně. Já si taky myslel, že děláme hrubou evidenci, ale když jsem simuloval data, jako by je klient už zadal, nebyla to sranda.

TO je jako hospodské kecy. V hospodě všichni vědí všechno, vyřeší všechno od cizího manželství přes politiku, fotbal, hokej, objednání firmy na zakázku až po technologie. Jak by se to mělo udělat. Mladí jsou taky v 16 hotoví s názorem. Napadnou je dva tři nejhloupější důvody/příčiny, ale ostatních 5 už je nenapadne.

František Kučera

Přesně tak, je to takový typický pohled člověka, který to vidí z dálky a řekne si: „to je jen nějaké hloupé účetnictví, sčítání a odčítání, na tom není nic těžkého“. Ale když na tom člověk skutečně dělá, tak vidí, že je to všechno složitější, že nad tím jádrem, které „jen sčítá a odčítá“ a kolem něj je spousta dalších systémů – od webového xichtu pro klienty, přes desktopové rozhraní pro zaměstnance, šifrování, podepisování, DHW, ESB, dohled, napojení na externí systémy pomocí rozličných technologií a milion dalších věcí… Je to jako s jakýmkoli jiným programováním – dá se tam uplatnit kreativní myšlení a ty nejlepší inženýrské postupy.

Heron

Promiň, ale tohle je přesně cesta do pekel.

Selské uvažování selhává i na zdánlivě triviálních případech (protože člověk netuší, že ty případy nejsou jednoduché) a okamžitě něco dělat podle selského rozumu je ta největší chyba a týká se právě těch fušérů. Vřele doporučuji se tohoto zbavit a postupovat správně. Ne nadarmo se ty poučky opakují už několik desítek let. Efektivita je sice z počátku nízká, ale jakmile se to zaběhne, tak si na ad hoc selskou aktivitu ani nezpomeneš.

asdasd

Nějak nechápu, proč má pořád někdo potřebu dokola definovat IT profesionála(nebo odborníka). Takových definic je všude jako sraček(včetně zdrojáku) a přidávat další a další už je opravdu jenom mlácení prázdné slámy, které se hodí možná jako výplň, když není o čem psát.

Oldis

Taky mi to tak prislo. Mozna ze autor trpi nejakym komplexem a potreboval se diferencovat.

Jiří Knesl (autor)

Děkuju. Konečně chápu vztah Martina Malého ke komentářům

em

ze mi to hned nedoslo!!!!

Ondra

„Profesionál umí poradit zákazníkovi – profesionál už jednal se spoustou zákazníků.“

Nechci autorovi článku brát jeho iluze, ale programátor, jakkoli profesionálně na výši, obvykle není tím, kdo jedná se zákazníkem.

Jiří Knesl (autor)

Autor jezdí po spoustě firem v ČR a téměř všude jednají programátoři se zákazníkem. O OSVČ ani nemluvě.

Ondra

Nevidím důvod, proč by měl programátor jednat se zákazníkem, to by mělo být úkolem jiných. Maximálně může být přizván ke konzultaci na nějaké poradě, kde se řeší zákaznické požadavky, ale nazývat to „jednáním“ je směšné. Pokud dotyčný skutečně vede jednání se zákazníkem o podobě výsledného produktu, pak je pitomost mluvit o něm jako o programátorovi, protože v tu chvíli vystupuje v úplně jiné roli. Jestli to takto u nás funguje „téměř všude“, tak to svědčí o zoufalém stavu IT firem v ČR. A taky o tom, že jsem měl docela štěstí, že jsem v takové firmě pracoval naposledy před nějakými 11 lety.

Jiří Knesl (autor)

Je plno důvodů, proč má programátor jednat se zákazníkem:
– neslíbí mu (narozdíl od Accounta) něco, co vůbec nejde dodat (nebo nejde rychle)
– ví, co jde a co zákazníka nenapadne
– je to daleko rychlejší, než mít N vrstev mezi zákazníkem a programátorem
– programátoři jsou součást podniku, z mé zkušenosti sympatičtí lidé s měkkými dovednostmi, tak proč je nenechat mluvit s lidmi?
– při jednání je schopen IHNED reagovat a říct, že to bude trvat naprogramovat týdny a ne hodiny, ikdyž to vypadá jednoduše, místo toho, aby kolovaly maily

Ondra

Vidím, že zřejmě nejste schopen odlišit osobu od role (pozice), kterou zastává. Schopnost jednat se zákazníkem o technickém řešení zakázky prostě není to, co definuje profesní kvality člověka coby programátora, ale spíše coby analytika (nebo třeba i produktového manažera, když odhlédneme od technických profesí). Pokud budu se zákazníkem mluvit jako programátor, nejspíš ani jeden nepochopíme, o co tomu druhému jde (s trochou nadsázky: jeho nezajímá moje Java, mě zas jeho obchodní modely). Coby analytik naopak musím nad problémem uvažovat i z pohledu zákazníka. Lépe řečeno musím být schopen se s ním domluvit, a pokud to nesvedu, jsem coby analytik nepoužitelný; to ale nevylučuje, že pořád ještě mohu být velmi schopným programátorem.
Když to dotáhnu ad absurdum, je spousta minifirem (o OSVČ ani nemluvě :), kde programátoři kromě své hlavní práce dělají i práci, kterou by jinde dělal údržbář nebo uklízečka. To ale ještě neznamená, že by součástí schopností programátora měl být důkladný úklid WC. Programátor má samozřejmě k analytikovi blíže než k uklízečce, ale přesto tvrdím, že to jsou různé profese nebo role, na které jsou kladeny rozdílné požadavky.

Jiří Knesl (autor)

Kde jste přišel na to, že mezi tím nedokázu rozlišovat? Já mezi tím rozlišovat jenom nechci, protože jak „profese“, tak „role“ by s tím zákazníkem jednat měla a je to tedy naprosto irelevantní.

OSVČ má sice nějaké povinnosti, které nemá zaměstnanec, ale společný jmenovatel je v mém článku jasný: „Nebýt před zákazníkem trotl.“ Což zahrnuje: nedoporučovat něco, co si chce programátor jen vyzkoušet, doporučovat to, o čem zákazník ani neví, že se dá naprogramovat (čímž se mu ty procesy, obchodní modely můžou taky velmi zlepšit a když bude programátor sedět v kanceláři a přebírat jen zadání, nejspíš se zákazník o svých možnostech nikdy nedozví)

Každý programátor postupně roste a získá ty analytické schopnosti (už z principu – programování je racionální činnost a analýza je posunutí racionálního vnímání na abstraktnější úroveň, nic víc bych za tím nehledal).

Ad „protože jak „profese“, tak „role“ by s tím zákazníkem jednat měla a je to tedy naprosto irelevantní.“

Přijde mi, že chceš po programátorovi, aby byl superman :-) Ne že by to vůbec nešlo, ale takových lidí je minimum a musíš je obvykle platit zlatem.

Lidé mají různé povahy a schopnosti – někomu jde lépe povídání s lidmi (umí je např. přemluvit, aby si koupili náš produkt, nebo z nich umí dobře mířenými otázkami vytáhnout, co přesně potřebují) a někomu jde lépe povídání s počítačem. Proto je přirozená dělba práce mezi jednotlivé role. Nechat jednoho člověka dělat všechno je suboptimální (výjimkou je ten superman, který umí všechno, a pak velmi malé projekty, kde je užitek z dělby práce menší, než náklady na předávání informace mezi více lidmi).

Jiří Knesl (autor)

Franto, ale vždyť jsme se každý narodili s pusou k mluvení. Tak proč nemluvit se zákazníkem, říkat mu pravdu a radit podle svého nejlepšího svědomí? Obě strany na tom můžou jen vydělat.

Ano, někdo může být vyjímečně „nesocializova­telný“, občas takového člověka potkávám. Ale i ti mají většinou své otevírací téma (koníček, hudební styl) a rozmluví se před každým. S takovýma lidma se musí pracovat. Většina programátorů jsou ale normální lidi, kterým mluvení nejde o nic hůř, než jejich zákazníkům.

Čelo

Já myslím, že popisovaný programátor se už spíše přesunuje do pojmu „vývojář“, jak ho chápu já.

František Kučera

Ad „jeho nezajímá moje Java, mě zas jeho obchodní modely“

Ty by mne zajímat měly – programátor by měl znát smysl toho, co tvoří, a mít nějaký celkový obrázek – jinak se posouváme někam na úroveň Indie. Důvod pro existenci analytiků je jiný – jde o to, že programátor a zákazník mluví „jiným jazykem“ (ale informace mezi nimi musí proudit a ta představa o „obchodních modelech“ se k programátorovi musí dostat).

Tohle přece záleží na velikosti firmy – u těch větších funguje dělba práce, programátor má klid na programování a informace od zákazníka mu předžvýká konzultant/ana­lytik*. Programátor pak jedná se zákazníkem jen výjimečně, jen když je to nezbytné (je potřeba ho šetřit pro důležitější práci), např. při řešení nějakých technických detailů, na které analytik nestačí, nebo když nezvládají lidi z provozu a je potřeba, aby se na to podíval někdo, kdo tomu systému do detailu rozumí.

V menších firmách je ten člověk samozřejmě holka pro všechno, žádná dělba práce se nekoná a on dělá vše od programování až po podpis smlouvy, ale je potřeba to brát tak, že ten člověk vystupuje v několika rolích současně – ne, že „programátor jedná se zákazníkem“ (protože v tu chvíli není v roli programátora, ale v roli obchodníka/kon­zultanta/analy­tika).

*) samozřejmě to nesmí být takový ten „analytik“-pako, protože to je pak jako tichá pošta a naprogramuje se něco jiného, než zákazník potřebuje.

HiHi

Z clanku vyplyva, ze profesional pracuje samostatne, na vlastni noze, nebo freelancer.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.