... příběh PROG-STORY ... / kapitola 7.  >>  P - úvod do programátorské praxe

   Po debatách s lidmi, kteří s programováním nepřišli do bližšího styku jsem si uvědomil, že je na stránkách prog-story potřebný taky nějaký obecnější popis, co tato činnost vlastně obnáší.

   Měl jsem to štěstí, že se "programování" a přiměřeně též jeho širšímu pojetí, tj. sw-inženýrství, můžu na různých profesionálních i amatérských pozicích věnovat už více než 45 let, takže jsem si vyzkoušel kde-co. Od assembleru a hledání v hexadecimálních výpisech paměti, přes projektování, realizaci a refaktorizaci velkých podnikových systémů se stovkami programů a desítkami tisíc řádků zdrojových programů v Cobolu, až po ruční či automaticky generovanou tvorbu webových stránek.  Pokusím se tedy ze širšího časového i obsahového pohledu shrnout nároky a principy, které v této profesi považuji za klíčové.

   Na první místě musí být pochopení práce s programovým kódem*, jako základním nástrojem pro ovládání počítačů. Není důležitý konkretní programovací jazyk, operační systém, či programovací technika, protože ty se pro různé účely mohou dost zásadně lišit a dnes bývají často skryty za různým vývojovým prostředím či jinými nástroji. Podstatné ale je získat jistou zkušenost, jak vlastnoručně vytvořeným programovým kódem donutit počítač, aby beze zbytku a přesně vykonal to, co po něm programátor požaduje.

   Druhým principem je přiměřené uplatňování zásad systémového přístupu*, které jsou svým způsobem univerzální metodou k řešení běžných i těch nejsložitějších úkolů. To konkretně znamená, že je vždy nutné se neprve ptát na účel a následně na určité úrovni přiblížení vytypovat vše podstatné, co jeho dosažení ovlivňuje. Přitom je důležité, nezabývat se hned všemi detaily, ale podstatné prvky chápat jako "černou skříňku", která bude podobným způsobem zkoumána teprve na další, podrobnější úrovni. Uvedený postup je základem nejen strukturovaného programování*, ale uplatňuje se též v objektovém programování* při definování tříd se zapozdřením jejich dat a metod ale i při vytypování cílů pro postupné kroky agilního programování*.

   Zásadním principem pro úspěšné programování pak je otevřenost k novým podnětům a schopnost se učit. Vývoj techologií, metod i nových nástrojů totiž pokračuje takovým tempem, že bez respektování tohoto nároku, zařazovaného mezi "soft skills*", tj. "měkké dovednosti",  není šance dlouhodobě v branži uspět. K potřebným dovednostem určitě patří i trpělivost, protože v programátorském řemesle se s ohledem na celkovou složitost věci zpravidla nedají dělat "z jedné vody na čisto", ale k výsledku se dochází méně či vícekrát opakovaným vývojovým cyklem.


Modřice, 26. prosince 2015 - Vlastimil Čevela

*<<<^  Informace a systémový přístup
*<<<^  Strukturované programování - zatím pracovní vyhledávání
*<<<^  Objektové programování - zatím pracovní vyhledávání
*<<<^  Agilní programování - zatím pracovní vyhledávání
*<<<^  Soft skills