neděle 12. ledna 2014

Proč vývojáři odcházejí z IT firem

Brzy tomu bude rok, co jsem odešel z IT firmy, ve které jsem pracoval 13 let. Bylo to pro mě dost zásadní rozhodnutí a proto jsem si chtěl své důvody pro odchod porovnat s názory ostatních “nespokojenců”. Poptal jsem se komunity na devel.cz, jaké (by) byly jejich důvody pro odchod z firmy. Díky Jirkovi Kneslovi jsem také mohl nahlédnout do výsledků ankety o programátorské práci snů.

Nakonec vznikl tento příspěvek jako kompendium názorů několika desítek lidí z IT a jejich pracovních potřeb. Mohl by se stát checklistem pro ty, kteří programátory zaměstnávají a chtějí si je i do budoucna udržet.

Dvě skupiny vývojářů

Zřejmě má smysl rozdělit vývojáře do dvou logických skupin. Do té první by patřili lidé, kteří do práce chodí proto, aby něco vydělali a nemají potřebu se neustále učit nové věci. Ve své práci používají několik technologií a jazyků, které mají zvládnuté buď dobře nebo špatně. Mají každopádně své zaběhlé pracovní postupy a tyto postupy neradi mění. Mají pouze nonIT koníčky a doma počítač zapínají spíš pro zábavu než kvůli práci. Jsou to programátoři usedlíci.

Do druhé skupiny patří všichni ti, pro které je programováni víc než jen práce. Je to jejich vášeň a návyková droga zároveň. Nová technologie, nový jazyk nebo nový projekt v jejich těle vyvolávají příjemné chvění. Chtějí klouzat po technologické vlně a pořád se zlepšovat. Jejich počítače pracuji na plný výkon v práci i doma. Takoví programátoři jsou nadšení dobyvatelé nových technologií.

Každá skupina programátorů má své místo v oboru a je potřeba je obě respektovat a jejich případných předností využívat. Od práce, kterou jsou ochotni dělat usedlíci, by dobyvatelé rychle utekli. Naopak šikovní dobyvatelé obvykle zvládají novátorské úkoly s mnohem větší elegancí.

Atraktivita práce

Pracovní stereotyp působí jako infekce na motivaci a pracovní výkonnost. Programátorskou senilitu zajistí práce na dlouhodobém a nezajímavém projektu, ve kterém se navíc používají zastaralé technologie. Úplné peklo je pak udržovat legacy systém, jehož technologický dluh se rovná dvacetileté hypotéce. Dobyvatelé preferují raději pestrost krátkodobých projektů než pracovní agónii těch dlouhodobých. Firmy by měly být aktivní a hledat technologické výzvy pro nové projekty, díky kterým by využívaly a zvyšovaly potenciál svých lidí.

Profesní růst

Atraktivní pracovní náplň zřejmě podněcuje profesní růst. Firmy by navíc měly investovat do smysluplného školení lidí a podporovat firemní kulturu sdílení znalostí. Nabízet nějakou formu innovation time. Akceptovat, promýšlet a případně realizovat nápady na zlepšení od všech členů týmu. Skvělé je mít v blízkosti člověka, který v něčem vyniká a inspiruje ostatní. Firma by také měla vytvářet zdravou úroveň pracovního stresu, která napomáhá udržovat pracovní tempo a nutí lidi ke zlepšování. Na pocit sebeuspokojení už doplatilo hodně lidí i neexistujících firem.

Smysl práce

Dělat na projektu, kterému člověk nevěří, je demotivující. Rádi děláme práci, která přináší business value a na konci které najdeme spokojené uživatele. Ten pocit je někdy lepší než připsání výplaty nebo proplacení faktury na účet.

Zaručeným znechucovadlem práce je přeprocesované korporátní prostředí, ve kterém trávíte více času na poradách a řešením byrokracie, než samotnou činností, která vás baví.

Kvalita práce

Za svoji práci se nechceme stydět. Rádi bychom dodali produkt, který má vysokou vnitřní i vnější kvalitu. K životu programátora to sice patří, ale trávit příliš mnoho času bug huntingem je otrava. Pokud je produkt dlouhodobě ve špatném stavu, frustrace a stres se zvyšuje.

Je potěšující, kolik lidí z ankety preferuje prostředí, ve kterém se pracuje agilně, píšou se testy, dodržují se pravidla čistého kódu, zásady dobrého návrhu, apod. Na základě svých zkušeností totiž zjistili, že práce v takovém prostředí je baví a působí pozitivně na jejich nervový systém.

Mezilidské vztahy

Nakonec stejně nejčastějším důvodem pro odchod z firmy bývají samotní lidé, kteří znepříjemňují pracovní dobu. Ztráta důvěry k nadřízenému, nevhodné chování kolegů, nerespektování osobnosti a názorů, ponižování nebo osobní antipatie. Čím větší firma, tím větší procento “zmrdovosti”. Hodně programátorů proto z těchto důvodů preferuje menší firmy nebo volnonožství a práci na kontrakt.

Dobrotu také nedělá mix dobyvatelů a usedlíků v jednom vývojovém týmu. Mentální založení obou skupin je natolik odlišné, že nebudou mít zřejmě příliš společných tmelících prvků.

Rádi pracujeme s lidmi, se kterými jsme zároveň přátelé. Nemáme s nimi komunikační problém a máme naopak vzájemnou důvěru. A taková přátelství se mohou vytvořit třeba na teambuildingových akcích nebo při párovém programování.

Projektové řízení

Špatné projektové vedení může demoralizovat tým a úplně otrávit práci. Snem programátorů jsou firmy typu flat organization a self-managing týmy. Hierarchie není vrstvená a nešéfují lidé odtržení od reality skutečné práce. Lídry týmů jsou ti pracovně nejschopnější, kteří pracují po většinu času s ostatními.

Programátoři nemají rádi přílišný stres před dokončením projektu. Proto nemají rádi ani vodopádové vývojové procesy. Preferují naopak agilní postupy, při kterých dostávají informaci o stavu projektu ihned a během celého trvání projektu. Práce se tak dají lépe řídit a ve výsledku nejsou tolik stresující.

Férovost firmy

Férová firma dodržuje zákony, platí licenční poplatky, nepodplácí při výběrových řízeních, nevykazuje neprováděnou práci, nedodává odfláknuté produkty, nezneužívá evropské fondy, komunikuje otevřeně, platí včas závazky vůči zaměstnancům, atd. Férové firmě se dá prostě věřit. Férová firma přitahuje férové zaměstnance a vztahy se zákazníky zakládá na vzájemné důvěře. Naopak, nedá se očekávat, že v neférové firmě budou lidé spokojení.

Pracovní podmínky

Mít dobrý kávovar je v IT základ. Firmy nesmí zapomínat pravidelně upgradovat HW tak, aby nebyl slabým místem vývojářovy činnosti. Měl by mít k dispozici dobré SW nástroje, aby jeho práce byla efektivní a ne stereotypní. Pro dlouhodobý dobrý zdravotní stav programátora je nesmírně důležitá kvalitní židle, (pokud možno polohovací) stůl, ergonomický monitor, klávesnice, myš, apod.

Problém je mnohdy náročné dojíždění. Stále více lidí hledá kombinovaný home-office režim. Pak je však potřeba vyřešit specifika remote komunikace a organizace práce. Zpestřením pracovní rutiny může být občasné digitální nomádství a vzdálená práce z nějakého atraktivního místa.

Peníze

Peníze si možná nezaslouží být jako poslední téma. Ale věřte nebo ne, pro mnoho programátorů dobyvatelů není finanční ohodnocení v TOP3 jejich seznamu nejdůležitějších pracovních požadavků. Ten, kdo již dříve měnil práci z nefinančních důvodů, tomu jistě rozumí. Být totiž dobře zajištěný, ale přitom nespokojený programátor, není žádné terno.

Co si o tom myslíte vy?

15 komentářů:

  1. Ze vyvojari se casto citi jako primadony. Jediny duvod proc si mohou prumerni vyvojari takhle vymyslet je to ze na trhu je nedostatek. Pokud se ta situace zmeni, jeste radi budou udrzovat legacy system za nizsi plat :) Ti sikovnejsi budou mit vzdycky otevrene dvere na ruzne projekty a urcite si muzou vydupat ruzne vyhody.

    OdpovědětVymazat
  2. Moc pěkně sepsáno, ale přijde mi, že firma, která splňuje všechno toto, je takovým růžovým jednorožcem - ještě ho nikdo neviděl.

    OdpovědětVymazat
    Odpovědi
    1. Firmu, která by splňovala všechny popsané požadavky, bychom asi opravdu hledali dlouho. Ale věřím, že bychom ji našli. ;) Navíc článek je soupisem věcí, které se objevily v názorech různých programátorů a považují je za důležité. Každý klademe důraz na něco jiného. Život je o kompromisech. Někde musíme slevit. Ale jsou věci o kterých už dopředu víme, že by nám po čase nejspíš dost vadily. U těch je dobré neustupovat.

      Vymazat
  3. "Úplné peklo je pak udržovat legacy systém, jehož technologický dluh se rovná dvacetileté hypotéce." Kdepak! Novou aplikaci na zelené louce dokáže napsat každý zajíc. Ale udržovat starý legacy systém, to je teprv výzva pro celé muže!

    OdpovědětVymazat
    Odpovědi
    1. Tak to každopádně! U nás to ale bylo pobíhání po minovém poli bez detektoru, kombinované s nereálnými časovými limity. Navíc herní mapa byla nekonečná a v multiplayeru bylo dost spoluhráčů bez motivace. Ale věřím, že někde jsou legacy systémy v dobré kondici a jejich údržba může být zábava. ;)

      Vymazat
  4. To by mě zajímalo, do které skupiny programátorů patřím. Legacy systémy jsou moje doména - osobně jsem přesvědčený, že úprva legacy kódu chce kuráž, hodně dobré znalosti a programátor to prostě musí mít v ruce. Programování nových věcí na zelené louce je nuda. Ale dát do kupy nějaký shit a udělat z něj něco, co funguje, to je bomba.

    Na druhou stranu se strašně rád učím nové věci a to nejen programátorské záležitosti ale i online marketing, UX, psychologie - nasávám prakticky cokoli.

    Tak jsem asi někde mezi

    OdpovědětVymazat
  5. 100% súhlas. Som dobyvatel. Ten pocit keď skúšam novú technológiu a vravím si "WOW!" je super.

    OdpovědětVymazat
  6. Koukám, že když programátoři odcházejí, mají potřebu nad tím pořádně přemýšlet :) Taky jsem na toto téma již dříve sepsal článek http://blog.zvestov.cz/item/134
    Třeba zneužívání evropských fondů je dobré morální dilema.

    OdpovědětVymazat
    Odpovědi
    1. Přemýšlel jsem fakt hodně dlouho. Ale teď jsem za změnu rád! :)

      Meritokracie a klesající mezní užitek mezi programátorem a firmou jsou zajímavé záležitosti. Díky za odkaz.

      Vymazat
  7. Roberte, opět skvělý článek, díky za něj. Mám k tomu dva doplňující komentáře: 1) S většinou bodů se ztotožňuji a to nejsem programátor. Podle mě jste vystihl faktory, které mají obecnou platnost a dávají smysl prakticky pro jakoukoliv profesi. 2) Sám pro sebe jsem si udělal závěr, že ve velkých korporacích budou asi převažovat programátoři "usedlíci". Nebo se mýlím?

    OdpovědětVymazat
    Odpovědi
    1. Jirko, díky za pozitivní feedback.
      ad 2. Zřejmě korporátní prostředí bude díky své "sešněrovanosti" přitahovat spíše usedlíky. Ale je to jenom odhad. Nemám příliš zkušeností z jiných firem. Je potřeba se zeptat lidí přímo z korporátů. ;) Na druhou stranu znám mnoho lidí z malých firem, kterým role usedlíka naprosto vyhovuje.

      Vymazat
  8. Moje zkušenosti z korporace jsou dvě:

    1) Mezi oběma typy přístupu se někteří lidé umějí přepnou, když se dostanou k projektu, který je začne hodně bavit, třeba z nějakých osobních důvodů. Nebo naopak dostanou úkol, který je zoufale nebaví — pak zpravidla spíš odejdou, než by se přizpůsobili. Zažil jsem, že dva usedlíci se během týdne proměnili v dobyvatele jenom proto, že si mohli začít hrát s úplně novou generací systému, ve kterém objevili orpavnou velkou spoustu starých, dlouho neřešených nedostatků původní verze.

    2) Jeden „zmrd“ na dostatečně vysoké pozici v hierarchii firmy dokáže rozložit morálku celého vývojového týmu, a to dokonce i když působí v jiném oddělení nebo dokonce v jiné lokalitě. Nejdřív odešli dobyvatelé, potom i usedlíci.

    Díky za výborný souhrn.

    OdpovědětVymazat
  9. Absolútny súhlas !!! Tento článok si vytlačím a preberiem s oddelením ľudských zdrojov u nás.
    Doplnil by som:
    - Hoci sa zdá, že programátori nepoznajú nič iné, len počítač a programovanie, predsa len sa aj oni radi z času na čas stretnú so zákazníkom alebo užívateľom ich aplikácie.
    - Ľudia v riadiacej pozícii častokrát nepočúvajú hlasy zdola, napr. keď programátori upozorňujú na zlé technologické rozhodnutie, alebo ignorujú návrhy programátorov na zlepšenie napr. zavedením testovania, kontinuálneho buildovania, použitím novej (často open source) technológie apod. Takéto prostredie dlhodobo vedie k tomu, že aj "dobyvatelia" začnú byť pasívni a zmenia sa na "usadlíkov". Alebo odídu.
    - Celkovo sa v IT branži veľmi málo pozornosti venuje "ľudskému" v nás. Vyhorenie nie je doménou iba pomáhajúcich profesií. Vidím okolo seba programátorov, analytikov, menežérov ktorí vyhasli a len zo zotrvačnosti pokračujú v tej istej práci. Skúste sa spýtať vo svojom IT okolí otázku "si v práci šťastný?" a ľudia vás vysmejú. Naozaj sme tu na to, aby sme pretrpeli 8 hodín denne len preto, že práca ktorú máme patrí medzi najlepšie platené?

    OdpovědětVymazat
  10. Pěkný článek, osobně nesnáším oprašování starých projektů :( Proto ani neuvažuji, že bych se po rodičovské vrátila do bývalé práce, protože to byla nuda a hlavně žádná perspektiva nových projektů :(
    Teď si doma programuju, co mě baví a každou chvíli něco jiného :)))

    OdpovědětVymazat
  11. Děkuji za článek.
    Naprosto s tebou souhlasím. Nedávno jsem měnil práci, takže mám čestvou zkušenost. Prvně jsem šel do korporátní firmy, kde se vyvíjí legacy systém (spíše brownfield). Nevypádalo to zajímavě, ale nabídli mi nadprůměrný plat, tak jsem to zkusil.
    Bohužel se ukázalo, že mě to šíleně nebaví a již po měsící jsem odešel. Nyní dělám v menší firmě, kde mám tak o 15% menší plat, ale velmi zajímavou práci. Jsem štastný a věřím, že jsem si vybral dobře.
    Díky že jsi mi potvrdil, že nejsem jediný kdo tak myslí.

    I práce na starých projektech může být výzva! Mohu jen doporučit skvělou knihu, která Vás o tom přesvědčí:
    http://www.amazon.com/Brownfield-Application-Development-Donald-Belcham/dp/1933988711/ref=sr_1_1?ie=UTF8&qid=1398005638&sr=8-1&keywords=brownfield+application+development+in+.net

    OdpovědětVymazat