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

Zdroják » Různé » Co se vývojář naučí při práci v novinách?

Co se vývojář naučí při práci v novinách?

Články Různé

Na setkání webových tkalců ve ValMezu jsem tuhle sjel improvizovanou přednášku o tom, co se vývojář naučí při práci v novinách, a protože jsem si ověřil, že to je pro některé stále velmi kontroverzní téma, tak mi dovolte ho znovu otevřít.

Nálepky:

„Prací v médiích“ nemyslím to, že jdete do Mafry vylepšovat redakční systém nebo kódovat šablony. To je normální vývojařina, která se nijak podstatně neliší od téže práce třeba v nějaké IT firmě. Myslím tím buď přímo práci redaktora, editora, anebo přímo vývoj jako součást redakce. Například programujete různé nástroje, nebo ad hoc vizualizace, interaktivní grafy, výpočty z dat apod. Taková práce má totiž velmi výrazná specifika, která ji odlišují od „standardního vývoje“.

Nejběžnější týden redakčního vývojáře probíhá tak, že v pondělí ráno na poradě přijde nějaký redaktor s nápadem: „Hele, uděláme tohleto, tamto, k tomu článek, a na web by to chtělo, třeba, animovaný graf.“ Pokud ho s tím editor nevyhodí, tak přijde hned po poradě za vámi i s dotyčným novinářem a začnou vám nastiňovat svoji vizi. A celé to ukončí slovy: Zítra ráno to musí být venku! Vy tedy sednete, za jeden den to napráskáte, druhý den ráno v šest to vyjde na webu, uvidí to deset tisíc lidí, a ve středu už to nikoho nezajímá.

Ze začátku je vám to proti mysli. Takhle rychle přeci nemůžete odevzdat perfektní práci! Váš kód bude, jako by ho psalo prase! Bude to neefektivní, neoptimalizované, nedostatečně zdokumentované, a kdyby to někdy někdo chtěl použít na něco jiného, tak to bude špatné… Otevřte hlavy, protože právě přišlo první ponaučení:

1. Za zdrojový kód vám nikdo Pulitzerovu cenu nedá!

Fakt nikoho nezajímá, jak krásné to je a jak jste to cizelovali. Opravdu, ani vaše kolegy z jiných médií, protože oni to znají taky. Jediný, kdo se nad tím pozastaví, je váš bývalý kolega, co si v klidu (ano, proti novinám opravdu v klidu) páchá svoje kódy ve vývojářském studiu a má na to čas. Vy ho nemáte.

Gen_pulitzer

Pulitzerova cena. Zdroj: Wikipedia

Ne, to není floskule „nemám čas“, to je zcela reálný fakt: V deset hodin dostanete zadání, druhý den v šest to je spuštěné, ať se děje co se děje, máte tedy dvacet hodin, a po dvaceti hodinách buď máte něco funkčního, nebo nemáte. Jakmile si to začnete uvědomovat, dojdete k druhému ponaučení:

2. Good enough

Když si vzpomenu na komentáře pod článkem o Good Enough, tak se jen usmívám. V novinách totiž rozhoduje jen jedna jediná věc: Buď ráno vyjde něco, co bude fungovat, nebo nevyjde. Nikoho nezajímá, že byste to za tři dny měli úplně perfektní, musíte to mít zítra funkční. Klasický vývojář v tomhle bodě začne natahovat vzduch a vykřikovat „Ale… ale… ale… !!!“ – ale to je tak jediné, co s tím může udělat. Tedy ne – ještě může odejít a nadávat, že se v těch novinách hrozně prasí a na to on není zařízený. Tak ano, určitě jsou takoví lidé, kterým je to bytostně nepříjemné, ale zbytek by si to měl alespoň zkusit. Jakmile si to zkusíte, dostane se vám třetího ponaučení:

3. Od důležitého…

Naučíte se vždycky nejdřív udělat funkční základ. Řekněme, že máte vypsat rozpočet jednotlivých ministerstev. Seženete si tedy data (pomůže vám kolega novinář) a uložíte si je tak, že je dokážete vypsat tabulkou. Proč? No protože to máte za hodinu hotové, a kdyby se teď cokoli stalo, tak zítra vyjde článek, a v něm bude tabulka. A pro editora a šéfredaktora je to únosná varianta: vyšly informace. Kdyby nevyšlo nic, tak spustíte editorské hromobití, protože to je pak fakt problém. Ale když vyjde aspoň tabulka, tak se sice budou tvářit kysele, ale – vyšel článek, a byla v něm správná data! O to jde.

Když máte hotové tohle, uděláte výpis v grafu. Pak k němu doděláte popisky. Pak ho oživíte, pořádně nastylujete, pak ho upravíte pro mobilní zařízení, pak optimalizujete výstup, pak okomentujete kód, uděláte z něj knihovnu, napíšete pro ni testy… Ne, kecám, většinou skončíte někde u „pořádného nastylování“, a když to hodně dobře jde, tak u mobilní verze. Ale to nevadí. Mít hotovou knihovnu s grafy je ideál, ale cokoli z toho, co jste udělali do té doby,  je dobré a použitelné. Když pro spoustu práce stihnete jen ten graf a ani si nepohrajete s popisky, stále se to dá dohnat – popíšete to v textu. Všechno tohle jsou přijatelné varianty, které mohou jít do článku. Jediná nepřijatelná varianta je, že nebudete mít nic. A přesně to se stane, když začnete s tím, že „si napíšete otestovanou knihovnu“.

Ilustrační obrázek

Ilustrační obr. Zdroj: Pixabay

Programátoři se rádi nechávají strhnout zajímavým problémem, většinou minoritním, se kterým si vyhrají klidně 80 % vyhrazeného času. A když už se fakt blíží deadline, tak napráskají ten nudný, leč podstatnější zbytek. Práce v novinách vás naučí dělat to přesně obráceně, tj. začít od toho podstatného a postupně to doplňovat. A věřte, že se vám tenhle přístup vyplatí i v jiných oborech. Třeba takové webové projekty nehynou na tom, že mají špatně zdokumentovaný kód ani na tom, že nenabízejí všechny funkce hned a perfektně, ale na tom, že se jejich spuštění odkládá, protože se pořád něco vylepšuje, popřípadě proto, že všichni dělali na vylepšeních a nikdo nepostavil základy. Exekuce je to, co rozhoduje!

Když jsem tohle dovyprávěl, zdvihla se ruka a její majitel položil dotaz: „A jak ses vyrovnal s tím, že něco programuješ, a pak to profičí, pochválej tě za to, a jdeš dělat něco dalšího?“

No, naučíte se to. Čtvrté ponaučení, kterého se vám dostane, je:

4. Neulpívat

Je to termín z buddhismu. Lidé se často emočně vážou k věcem, co jsou už za nimi, co jsou hotové, co mohou odejít. Mniši mají rituál rozmetání mandaly: několik dní připravují velmi složitý obrazec z barevného písku, dlouze, tiše, trpělivě. A když je práce hotová, shrabou celý obrazec na hromádku a písek vysypou do řeky nebo nechají rozfoukat větrem. Celý obřad má hluboký duchovní smysl, ale to hlavní poselství je: Neulpívat. Neulpívat na věcech, které děláme, nebo na věcech, které máme. Věci, které mají odejít, musí odejít. Ale to neznamená, že je nemáme dělat pořádně.

mandala

Mandala. Foto: Martin Hassman

Ani programátor by neměl lpět na svém díle. Stejně jako dobrý rodič jednoho dne řekne dítěti: Běž!, tak i programátor, když je čas, má svoje dílo odevzdat a nechat ho být. Musíte se naučit říct si: Teď už je to dost dobré, už to pošlu dál, další vylepšování už nepřináší takový efekt, aby se to vyplatilo. A smířit se s tím, že už je to hotové. Nezablokovat se myšlenkami, co jsem mohl udělat líp…

Hodně vám v tom pomůže jiný aspekt práce v novinách, totiž to, že vidíte výsledek své práce na živo. Neztrácíte se v abstraktnu. Od začátku do konce víte, co děláte, jak to děláte a co bude výsledek. A když druhý den vyjde článek, na kterém jste se podíleli, a vidí ho tisíce lidí, je to velmi příjemný pocit. Máte okamžitou zpětnou vazbu a vidíte, že vaše práce měla smysl. A tohle máte každý týden.

5. Nebýt vocas…

Použil bych naživo jiné slovo, ale v článku zůstanu u tohoto. Kolikrát jsem zažil, že se vývojáři dohadovali s projekťákem a nadávali na ty kretény z obchodu, co kazí jejich práci a co je nutí do nesmyslů, a když už vyrazili na poradu, tak se vrátili a hudrali, že se tam plkají samé nesmysly… Pravda je taková, že lidé jsou různí, někteří inklinují k přesnému a exaktnímu, jiní potřebují víc emocí a citu, ale obě skupiny se navzájem potřebují. Vývojář v novinách často pracuje „jedna ku jedné“ s novinářem. Je tedy potřeba, aby trošku věděl, jak noviny fungují, jak funguje článek, co může novinář zařídit a co nemůže, a hlavně se s ním musí dnes a denně umět dohodnout. Takový ten klasický ajťák ze serverovny, co celý den mlčí a před lidmi se spíš ukrývá, ten v novinách neobstojí (i když by mu takový trénink velmi prospěl!) Díky každodenní práci s lidmi z jiného oboru se naučíte, že jiní lidé vidí stejnou věc jinak. Mají jiné představy, jiné požadavky, jiné priority, a je to v tak v pořádku! Vývojář totiž není Michelangelo, co tesá z mramoru Le Umění, je to člověk, který přispívá tím, co umí, zdaru celé věci. Na tohle často v „inkubátoru“, mezi samými vývojáři, izolovaní od vnějšího světa, vývojáři zapomínají.

nerd

Ilustrační obrázek. Zdroj: Wikipedia

S editorem nebo šéfredaktorem se dá dohodnout. On má nějakou představu, co by chtěl, a většinou je to tak, že vy dokážete udělat víc. Editor má pak radost, a tak to má být. Občas ale přijde s něčím, co se nedá stihnout, nebo co je na výrobu složité či náročné na provoz, ale pak není problém se domluvit. Šéfredaktor či editor má totiž jediný zájem: aby to fungovalo! Pokud mu navrhnete jiné řešení a vysvětlíte proč, bude spokojený. A jak jsem psal výše: Když vidíte, že něco nestihnete, tak není problém se domluvit na tom, že uděláte „aspoň něco, co bude fungovat“. Ale je potřeba se rozumně domluvit. Ono to jde, když chápete výše napsané. Když budete řvát a dupat nožkou, že to, co chce novinář, je kokotina a novinář je kretén, co nerozumí tomu, jak se mají psát programy, a proto by vůbec neměl k počítači sedat, tak velmi brzy vyletíte obloukem zpátky mezi své, s cedulkou „vocas“.

Ano, novinář fakt nerozumí tomu, jak se píšou programy. Vývojář zase netuší, jak se píše článek. Ale od toho tam je ten druhý. Vy si musíte sednout, poslechnout si, co novinář chce říct, navrhnout, jak se to dá naprogramovat (to je vaše práce!) a dohodnout se na tom, co tedy kdo udělá a jak to skloubíte. A věřte, že i když se pak z médií vrátíte do „softwarového studia“, tak s údivem zjistíte, že se dokážete líp dohodnout s grafikem, UXákem, a nakonec i s tím obchodníkem…

Závěr

Někdy si říkám, že by bylo fajn, kdyby si každý vývojář prošel třeba půlroční stáží v nějakém takovémhle „trošku jiném“ oboru. Neznamená to, že musí dělat něco jiného, ale měl by zkusit jiný styl práce a jiné priority, než panují ve „vývojářském akvárku“. Denně programovat, ale nebýt obklopen pohodlným polštářem IT firmy; být součástí třeba té redakce. Zvyknout si na každodenní jednání s lidmi, kteří nerozumí vaší práci. Zvyknout si na to, že se věci musí v první řadě dodělat a spustit, zvyknout si na trošku extrémní přístup… a pak se klidně vrátit na původní pozici. Garantuju vám, že byste viděli věci z jiné perspektivy, a že by vám to pomohlo, a když ne pomohlo, tak aspoň neuškodilo!

Navíc novinářů se nemusíte bát, oni jsou docela banda cynických trollů se smyslem pro černý humor a v redakci je často hodně veselo, takže pokud jste aspoň trošku podobní, tak zapadnete a budou vás mít rádi, i když vás budou furt považovat trošku za šamany.

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.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.