Dilema vývojáře - Krutá realita

Dilema vývojáře

26.11.2007

developer

Kdysi jsem býval vývojář, já bych osobně řekl, že velmi dobrý vývojář. Nikdy mi ani tak nešlo to programování a porozumění kódu jako spíš návrh architektury a myšlení nad rámec možností, ale ...

Nemůžu se tím živit ani to dělat

Půl roku co jsem programoval jenom čtyři hodiny denně jsem se dostal do depresí, začal se méně starat o své tělo atd... Dospěl jsem k tomu, že i když mi to jde, je to na pomezí toho, že se zblázním. Nezaplatí mi to libovolný plat, ani plat vývojáře v C# za 100.000 Kč / měsíčně by mi nestál za to, abych se tím živil. Vlastně jsem zjistil, že mám z programování do dost velké míry strach, kolikrát si říkám, že je to bezvadné hobby. Jednou za měsíc si udělám skriptík, který něco perfektně řeší, zasměju se a odpočinu si, ale po posledním rozhovoru s jednim opravdovým programátorem a vysvětlováním pár principů jsem se dostal tak do depresí, že se to nedalo unést. Začal slovama jako UML, pokračoval přes návrhové vzory, a pak se dostal k nedokonalosti jazyků. Tohle mě při práci vývojáře štve, neustálá omezení a neexistující bariéry vytvořené lidma, která dělají z vývojáře psychického otroka.

Jak se vymýšlí opravdu dobrý kód

Aktuálně jsem řešil jeden problém s počítačema a už asi pár měsíců mám problém, jak vyřešit monitorování a správu našich serverů. Všechno co je na trhu, veškeré produkty a řešení, mi přijdou špatná a celkové myšlení mi přijde hodně omezené. Zpravidla při vývoji produktu se mnoho vývojářů snaží vejít do nějakých pomyslných standardů a konvencí. Ve výsledku je komplexní řešení zbytečně komplikované, složité, drahé a plné chyb. Často je to tak, že se auto předělává na letadlo podle diagramu, rozhodnutí manažerů a UML modelu. Mě lidé zpravidla prosí o 10 až 100 řádek mého kódu a mezi sebou si to posílají. Vymyslet jednoduchou věc je složité v tom, že se to nedá naplánovat. Zrovna dneska mě prostě napadlo šíleně jednoduché řešení, z ničeho nic jsem to za dvě minuty dal na papír a najednou koukám na tu jednoduchost a eleganci. Z ničeho nic mě to napadlo a vůbec jsem nad tím nepřemýšlel, a potom co jsem to dal na papír jsem se snažil vyrovnat a zapomenout na to, jak se to tam dostalo, abych byl v pohodě a šťastný.

Problém je, že hodně věcí co napíšu se setkává strašně s odbornou kritikou, i když to lidé používají. Často proto, že to neodpovídá standardům, konvencím a už vůbec ne teoretickým propočtům. Například vyhledáváni na tomto blogu je schopno vyhazovat hodně relevantní výsledky, daleko výkonem i relevantností předčí klasický fulltext mysql, přičemž je to postavené na mysql a běží to na hostingovém serveru s nulovými náklady. Napsal jsem o tom článek na root.cz a komentáře byly tak plné záště, skoro redakce mi za článek nadávala. Protože podle propočtů nějakých univerzitních profesorů to nemůže fungovat. Ale mě to funguje, nezávisle na tom co vás učili ve škole, nezávisle na tom jak se to běžně dělá a nezávisle na tom, že je to špatně, to funguje perfektně a lépe než klasická řešení. Můžete si to milionkrát spočítat a teoreticky odůvodnit, že je to špatně a nebude to fungovat, ale ono to funguje. To je důvod, proč nedělám vývojáře.

Jak si mám účtovat práci, když většina práce je v relaxování, zajít si na dobrý oběd, zajít si do sauny, projet se v autě, pokecat s přáteli, a pak dvacet minut napsat na papír řešení, které vám na pozadí zpracovává váš mozek. Já jediné co dělám, a tuto schopnost máme asi všichni, tak nebrzdím svůj mozek ve zpracovávání informací. Nenutím svou mysl, aby nějak myslela, nechávám jí myslet na pozadí, nevnímám to a jde to samo. Nesouhlasím s tím, jak se dneska vyvíjí jednoduše proto, že všechen ten projekt management, UML diagramy, patterny, refactoring atd. nás nutí přemýšlet a z toho já mám deprese. Já jsem si už dávno všimnul, že když nechám svému myšlení volný průběh, nezasahuji do něj, tak jsem úplně v pohodě a všechno se vymyslí samo a když je úloha zpracovaná najednou se objeví BLIK a mám výsledky, které za 3 minuty napíšu na papír. Já prostě s projekt managementem, termínama a všema těmahle sračkama nesouhlasím. Od doby co se tyhle ptákoviny zavedli do IT se vývoj celého oboru zastavil na bodu mrazu.

Jak opravdu vyvíjet

Podle mě klíčem k vývoji softwaru je vzít vývojáře a posadit ho na místo uživatele. Prostě vezmete vývojáře a necháte ho měsíc na pobočce obsluhovat zákazníky a používat daný software s jediným cílem, aby si ulehčil práci, přičemž mu k tomu musí pomáhat celé IT. V případě, že si ulehčí práci tak, že se bude jenom vybavovat s lidma, vařit si čaj a mít nohy na stole, přičemž vše bude hotovo jste dosáhli pokroku. V případě, že tam budete mít vystreslého týpka, který nespí z vývoje a nezvládá nic je to dement a vyražte ho. Problém je v tom, že dnešní vývoj je odtržený od reality a dávají se šance lidem, kteří nejsou schopní uvařit si ani čaj. Tito rádobi vývojáři, programátoři a project management, který má propocené košile a přes noc nedokáže usnout, tito lidé tady nemají co dělat. Nechat řídit ty lidi, co si vaří čaj hodinu, mezitím se třikrát popálí, ale jsou v práci o hodinu déle a přijdou vám jako hodně pracovití, může jenom dement. Já jsem s tímhle stavem i tak spokojený, vyrovnal jsem se s ním a tahám spoustu takových lidí z průserů. Nemám si na co stěžovat, i na chaosu se dá vydělávat, beru že to tak je a přijde mi, že jsem právě na cestě k vytvoření něčeho, co pomůže. Píšu si svůj vlastní software co ulehčí práci mě a to je věc, která mě baví. Živím se něčím jiným, ale stejně vyvíjím, i když jenom pro sebe. Možná o to je to lepší. Vývoj pro sebe mě totiž opravdu baví a nikdy jsem z něho neměl žádnou depku ani problémy, jen úsměv na tváři. Jednoduše odmítám prodávat své myšlení komukoli za libovolnou cenu, to raději budu bydlet ve squatu a živit se sbíráním jablek, protože i tak budu šťastnější.

Fakt dobré přirovnání

Podle mě spousta lidí dneska vývojáře bere jako děvku, platí jim nehorázné peníze za to, že prodávají svůj mozek (místo těla) způsobem, který se jim samotným nelíbí. Představte si život, kde hodně času se oblékáte tak, jak vám někdo nařídil a myslíte tak, jak vám někdo nařídil. Mě kdysi dávno nabízela práci jedna velká konzultantská společnost s takovým renomé, že se u jejího náborového střediska tisknou davy vysokoškoláků a snaží se tam probojovat jen na praxi. Já jsem to odmítl, jednoduše proto, že bych se musel oblékat a myslet tak jak oni chtějí. Vy se divíte, že lidé co tohle dělají mají deprese? Já ne.

Překvapuje mě, kolik lidí se dneska dobrovolně prodává, jak kdyby si sami mysleli, že jsou nějaké zboží či komodita. Prý pro rodinu a společenské dobro. Jakoby tito lidé říkali "Já jsem otrok a to je dobré pro rodinu, a proto svojí rodinu také učím jak být správným otrokem. V otroctví je jistota, to tady bylo a vždycky bude". Všímám si, že pár firem začíná dělat pokroky, uvědomují si, že lidi si nemůžou koupit a snaží se pro ně něco dělat. Mám známého z jednoho malého města, co dělá na pokladně v pražském supermarketu a je šťastný. Supermarket mu zařídil bydlení s dalšíma lidma co dělá poblíž jeho pracoviště, vedle je hospoda, v pár apartmánech si natáhli wifinu a po nocích paří počítačové hry. Podle mě je to furt lepší život, než být manažer vystresovaný ve svém luxusním bytě koukající na plazmovou obrazovku a jezdící do práce ve svém SUV. Já už jsem si ovšem dávno vybral tím, že jsem odmítl práci, kde mi nabízeli o 15.000 Kč měsíčně více prostě proto, že bych neměl čas zajet si na kole. Jediné co mi k tomu stačilo bylo předat řízení svému podvědomí a nesnažit se to nějak řídit a ovlivňovat. Nakonec stejně když jsem přenechal jako vždy řízení mému pohodovému já, tak během roka jsem bral ještě víc a měl i ten čas na to kolo.

Přidat komentář

:-D 8-) :-) ;-) :-o :-( :evil: :idea:

Pro příspěvky je vyžadována podpora obrázků

Pro ověření zde prosím napište text, který vidíte na obrázku

Re: Dilema vývojáře od Anonymous

26.11.2007 #

ach jo, s timhle bojuju denne, jsem uz zamestnanec 2 roky v jedne IT firme v Praze, mam plat 15t cisteho za 30h / tyd, delam tak trochu vic nez vyvojare, spis trochu architekta...smesne, co ? proc se na to nevyseru? protoze musim dodelat skolu, k tomu potrebuju bydlet v Praze a na to potrebuju penize...nastesti jeste podnikam (rok a pul), jedna se o obchod tazeny mym informacnim systemem, coz mi jde milionkrat lepe, mam z toho dobry pocit, urcuju tempo a moje inovace prinasi okamzity efekt a zisk...neni nic lepsiho, nez videt kolegu, ktery ma najednou o hodinu tydne vice volneho casu jen diky tomu, ze jsem udelal systematicky upgrade....jeste jsem nesebral tu odvahu dat konecne vypoved a zacit si vazit sveho mladeho veku, zacit si uzivat a pouze uspesne podnikat....tenhle clanek me jeste vice presvedcil, ze je konecne cas prestat nekomu delat kurvu...jeste bych dodal, ze od te doby, co delam v Praze, se mi zmenil osobni zivot, jsem spise uzavrena osoba, motaj se kolem me divny lidi...tihle lidi tu jsou dyl, jsou uz totalne zblby, uz si neuvedomujou, ze jsou institucionalizovany...jejich chapani a rozhled je deformovanej zamestnanim, ve kterym snad objevili smysl zivota...na to ja seru a vidim, ze i autor tohodle clanku

Re: Dilema vývojáře od smajty

26.11.2007 #

Trochu natažené, ale pravdivé  8-)

Re: Dilema vývojáře od Ozzy

26.11.2007 #

Pravdu díž člověče. Vývoj SW se vrhá do pěkně nudných propastí - nedávno jsme byl na Microsoft Developper Deys  :-). Fakt k pobavení, na komára s kulometem - přitom spoustu věcí jde řešit elegantně a jednoduše. A že se něco obejde, nevadí vždyť o tom to vždy bylo, hledání vlastních cest. No a na závěr pokud někdo nezná doporučuji přečíst Getting Real (http://gettingreal.37signals.com/) od 37signals - výborná knížka.

Re: Dilema vývojáře od Pavel Jaroš

26.11.2007 #

V mnohém s tebou souhlasím. Programování taky chápu spíše jako činnost, která "plyne" tak trochu mimo mě, než jako zběsilé psaní kódu. Člověk se nesmí přetěžovat a programovat si, jak ho baví. Na druhou stranu nejlepších výsledků dosahuju pod tlakem, ale nesmí se na mě tlačit moc často  ;-)

Re: Dilema vývojáře od Papi

26.11.2007 #

Zajímavé, doteď pro mně člověk známý jako vývojář reprezentoval spíše svobodu v rozhodování. Představuji si takovou práci jako zaměstnání, které daného člověka nesmírně baví.

Najlepšie nápady prichádzajú v spánku od Mac

26.11.2007 #

Ha, s otvorenými ústami som čítal tento text. Iba raz v živote som mal z práce depresiu, pretože som sústavne musel premýšľať ako niečo vyriešiť. Veľmi trefný text. Naozaj, treba mať chladnú hlavu. Ak sedím 24 hodín pri práci nespravím an tretinu toho, čo spravím ak sa "flákam", teda popri práci odychujem, zabehám si a podobne. Tie najlepšie pracovné riešenia vymyslím keď na prácu myslím najmenej. Ono videl som aj nejaký prieskum, že zamestnanci majú najlepšie nápady keď ležia v posteli. Aj einstein vraj vymyslel E=mc^2 keď sa ráno zobudil, pretože keď spíme mozog si triedi údaje čo môžem iba potvrdiť.

Re: Dilema vývojáře od Andre

26.11.2007 #

Markone v jakém jazyce programuješ? Jen pro zajímavost.

Re: Dilema vývojáře od Kazzan

26.11.2007 #

Tos napsal opravdu pěkně!

Re: Dilema vývojáře od autor

26.11.2007 #

Andre: Programuji v tom co mi padne do ruky, začínal jsem na basicu, pascal, assembler, perl, bash, php, c++. Profesionálně jsem dělal v php, dostal jsem se k tomu spíš náhodou. S jazyků mi k srdci asi nejvíce přirostl C# a bash, na php je problém to, že se člověk hned řadí mezi lamu a je úplně jedno jak kvalitní jsou kódy.

Já to beru tak, že něco potřebuji napsat a jazyk je jenom způsob jak to vysvětlit počítači. Nic víc za tím nevidím. Upřímně řečeno jediný jazyk, který jsem vyzkoušel a ihned jakoby mi padl do ruky byl C#.

od Jarda

27.11.2007 #

Úplný souhlas, v podstatě až na detaily jsem na tom stejně, jen i ty výpomoci známým mě přetěžují (známým se o peníze neříká :idea:).

Re: Dilema vývojáře od Brouk Pytlík

29.11.2007 #

Já jsem sice spíš ta děvka, co je ochotná za nehorázné peníze třikrát přepisovat detailed design něčeho, co jsem měl za pár hodin napsané a co mohlo být už i stokrát otestované, kdyby mě neprudili, ale s uvedeným názorem nemůžu nesouhlasit. Všichni ti pitomci z QA, kteří vymýšlejí zbytečné procedury, aniž kdy vymysleli kus algoritmu, všichni manažeři, co pořádají meetingy, conference cally, honí kritickou cestu a deadliny, místo aby zajistili pořádné nástroje, fungující testovací prostředí, stanovili jednoduchá a účinná pravidla týmové spolupráce, dali si čas na pořádný high level design, tedy přesnou definici problému a nástin dílčích řešení, což představuje ve skutečnosti 80% veškeré účelně vynaložené práce, najali pár schopných lidí a levné nedouky jim nechali koukat přes rameno atd., tak tihle lidé projekt jakoby řídí a jakoby pečují o kvalitu, ale ve skutečnosti jen vše zbytečně komplikují a prodražují, aniž by byl výsledkem kvalitní produkt bez zbytečných chyb. Opravdu vím, co říkám.

Například podle mě jen idiota může napadnout dodávat detailed design zákazníkovi. Tím se z pomůcky nebo nástroje stává produkt, který musí zbytečně splňovat jakási formální "kvalitativní" kritéria, aniž to jakkoli prospívá kvalitě výsledného produktu. To je jako kdyby malíř musel ke svému dílu dodávat skicy (osobně preferuju ypsylon v koncovce, i když je to nejspíš proti pravidlům pravopisu). Pravda, někdo dělá skicy tak, že je skutečně může z fleku prodávat, ale připadá mi zhovadilé skicu překreslovat, když se náhodou během práce umolousám. Bohužel k podobným zhovadilostem jsem nucen takřka denně. Ale člověk nějak rodinu uživit musí, zvlášť když živí dvě dcery na vysoké škole  :-)

Re: Dilema vývojáře od Attila Szabó

29.11.2007 #

Tento fenomen sa vola "Paralysis by analysis".
Dobry clanok, gratulujem.

Re: Dilema vývojáře od LLook

29.11.2007 #

To o tom otroctví, trochu mi to připomnělo heslo "svoboda je otroctví".

Brouk Pytlík: Ty skicy jsou správně, podle vzoru "žena".