13/12/2016
Vložil: Jakub
1144
Sdílet: Facebook

Proč nerušit programátora při práci?

Proč programátory vůbec nerušit (a ani na ně nemluvit)

Abychom pochopili, proč vlastně programátory při práci nemáme rušit, musíme zjistit, v čem vlastně tkví složitost jejich práce. Programování lze definovat jako zadávání instrukcí počítači / programu tak, aby program vykonával nějakou konkrétní činnost a to naprosto přesně a správně. Většina lidí si myslí, že nejsložitější na programování jsou programovací jazyky, nicméně tomu tak není. Programovací jazyky se na první pohled zdají složité (a přiznávám, že některé opravdu složité jsou), nicméně programovací jazyky jsou ve své hluboké podstatě jen velmi zjednodušená angličtina trošku říznutá matematikou. S určitou mírou inteligence a trochou cviku programovací jazyky samy o sobě nejsou složité. Z mé zkušenosti se programovat může naučit každý, kdo o to má alespoň trochu zájem. Se zájmem se to má podobně jako u ostatních činností. Např. šachy také nejsou složité, ale pokud vás nebudou bavit, prostě se je nikdy nenaučíte dobře. Pokud vás ale baví, můžete se cvičením a trochou teorie stát mistrem.

Složitost programování však tkví v něčem jiném. Jde o to, že samotné vyvíjené aplikace jsou velmi složité. Uvedu jednoduchý příklad z projektu, který jsme nedávno tvořili. Představte si, že máme aplikaci, která uchovává informace o letištích, na kterých provozuje svoje služby společnost. Jsou to informace v podstatě v textové podobě. Najdeme zde popisy a detaily o letišti, vyhlídkové trasy a popisky služeb, co můžete na letišti sjednat a dárkové balíčky, které letiště poskytuje. Samozřejmou součástí jsou také fotografie spojené s letišti.

Další část aplikace obsahuje informace o flotile letadel, která společnost provozuje. Jednoduše řečeno se jedná o databázi letadel (jejich názvy, fotografie, dolet, maximální počet pasažérů, maximální rychlost atd.). Vtip je v tom, že letiště jsou rozeseta po celé České republice a ne všechny druhy letadel jsou na všech letištích. Jeden z úkolů tedy je systém nastavit tak, aby šlo přiřadit jednotlivá letadla k jednotlivým letištím. Když to řekneme takhle, zní to opravdu velmi jednoduše, ale pokud nahlédneme pod povrch, jedná se prakticky o velmi složitý úkol.

V první řadě je třeba upravit databázi. V tomto případě to znamená vytvořit tzv. číselník. Je to tabulka, která umožňuje databázovou relaci N ku N (tedy N letadel může být na N letištích). Dalším krokem bude toto propojení nějakým způsobem přenést do frontendu webu (aby to bylo viditelné pro návštěvníky). Dále je potřeba to přenést do administrace, a to jak do administrace letadel (abych si u letadla mohl zaškrtnout, na kterých letištích bude), tak do administrace letišť (tak abych si u letiště mohl zaškrtnout, která letadla má k dispozici). Tato činnost též není tak jednoduchá, jak vypadá, protože kromě úpravy dvou formulářů též obnáší do obou formulářů načítat patřičné proměnné (k letištím všechna letadla, k letadlům všechna letiště) a to včetně informací o tom, která letadla jsou již na tomto letišti vedena a která ne.

Všechny tyto kroky, včetně jejich menších částí, které jsem ani nerozepisoval, musí mít programátor v hlavě do chvíle, než je všechny zpracuje. Pokud ho vyrušíme úplně jiným úkolem (nebo třeba jen otázkou o jiném projektu), přeruší svůj myšlenkový proces (nevím jak u žen, ale u mužů prostě platí to, že nelze myslet na dvě složité věci najednou). Potom má programátor v hlavě prostě "vymleto". Až znovu sedne k počítači, bude si muset znovu promyslet, co přesně chtěl udělat, jak přesně to chtěl udělat a kde přesně se svou prací skončil.

Asi je každému jasné, že pokud takto programátora vyrušíme 10x denně příliš toho neudělá, zvláště pokud mu tyto úkoly zaberou např. půl hodiny.

Flow, neboli zóna

Pojem flow je známý zejména ze světa sportu. Je to stav mozku, kdy člověk dělá nějakou činnost, kterou již velmi dobře zná a je pro něj automatická. Lidský mozek má tu vzácnou vlastnost, že činnosti, které opakuje velmi často dokáže přesunout z čirého vědomí v podstatě do podvědomí a vědomí vypnout. Stává se tak hlavně při bojových sportech, při horolezectví, ale víceméně při každém sportu, kdy je třeba velmi hluboké soustředění. Profesionální horolezci bez jištění např. říkají, že si v podstatě cestu nahoru příliš nepamatují, jakoby měli okno. Je to právě proto, že vědomá část mozku se vypíná. Jednoduše řečeno přílišné přemýšlení činnostem nepomáhá. Pokud mozek dokáže z části vypnout, dokáže reagovat mnohem rychleji, než když pro každý pohyb či jednoduchou činnost prochází celým myšlenkovým procesem.

Ač to zní zvláštně, i programátoři se po delší praxi dokáží dostat do flow. Přestože programování je hlavně o přemýšlení, ve chvíli, kdy máte přesný plán a pracovní postup, můžete "vypnout" a jet takto v podstatě na autopilota. Pokud budete přemýšlet přílišně, můžete si u jednoduchých postupů být nejistí např. syntaxí (a vyhledávat), nebo dělat různé drobné chyby, které můžete potom (poměrně zbytečně) hledat a ladit.

A tohle je právě ta chvíle, kdy má programátor na uších sluchátka, udělá největší množství práce a opravdu by neměl být vyrušován. Dobrá otázka je, co v takovém stavu mozku poslouchat. Osobně jsem posluchačem metalu, ale u tohoto druhu hudby je jeden problém. Pracuji 8 hodin denně a tolik kvalitní metalové hudby, která by se příliš neopakovala prostě není. I z tohoto důvodu jsem časem přestoupil na (tvrdou) elektronickou hudbu. I ta vám (např. na Youtube.com) časem dojde, resp. přijdete na to, že ve všech mixech se opakují stejné dropy či remixy. Proto poslední dobou preferuji online rádio. Osobně poslouchám stanici Dubstep High Station z Francie, kterou můžu jen doporučit.

 

ZPĚT

David Rubek - sídlo - Žižkova 346, 273 09 Kladno -Švermov, IČO: 616 39 133, Zapsán u: Magistrát města Kladna / odbor obecní živnostenský úřad. Kladno 272 52, Starosty Pavla 44

Tento web k poskytování služeb, zabezpečení Vašich dat a anlýze návštěvnosti používá soubory cookies. Jeho používáním s tím souhlasíte. Rozumím