Konstatování "dělá s počítačem" se postupem času proměnilo z popisu podivné záliby geeků v popis úspěšného a výnosného zaměstnání. "Dělat v IT" je, alespoň podle velké části společnosti, prostě terno. Práce v oboru je celkem dobře placená a moc se při ní neušpiníte.

Nedávno jste již předplatné aktivoval

Je nám líto, ale nabídku na váš účet v tomto případě nemůžete uplatnit.

Pokračovat na článek

Tento článek pro vás někdo odemknul

Obvykle jsou naše články jen pro předplatitele. Dejte nám na sebe e-mail a staňte se na den zdarma předplatitelem HN i vy!

Navíc pro vás chystáme pravidelný výběr nejlepších článků a pohled do backstage Hospodářských novin.

Zdá se, že už se známe

Pod vámi uvedenou e-mailovou adresou již evidujeme uživatelský účet.

Děkujeme, teď už si užijte váš článek zdarma

Na váš e-mail jsme odeslali bližší informace o vašem předplatném.

Od tohoto okamžiku můžete číst neomezeně HN na den zdarma. Začít můžete s článkem, který pro vás někdo odemknul.

Na váš e-mail jsme odeslali informace k registraci.

V e-mailu máte odkaz k nastavení hesla a dokončení registrace. Je to jen pár kliků, po kterých můžete číst neomezeně HN na den zdarma. Ale to klidně počká, zatím si můžete přečíst článek, který pro vás někdo odemknul.

Pokračovat na článek

Protože jsem ajťák, dostávám od svého okolí velmi často dotazy typu, jak se naučit programovat. Pokusil jsem se tedy dát dohromady obecný návod pro ty, kdož by rádi změnili obor a chtěli se vrhnout na IT s vidinou zajímavější i lépe placené práce. Než se ale pustím do rad, dovolím si rozbít tři mýty, které část zájemců zbytečně odrazují.

Mýtus první: Abyste mohli dělat v IT, musíte umět programovat

Ve spojení se zaměstnáním v IT se mluví o programátorech nebo chcete-li kodérech a vývojářích (pro účely začátečníka a tohoto článku jsou tyto pojmy záměnné). Nicméně populaci "lidí od počítačů" lze rozděliti minimálně do dvou skupin a vývojáři jsou jenom jednou z nich. Té druhé se zpravidla říká "IT profesionálové" a její příslušníci mají za úkol nikoliv psát nové programy, ale udržovat v běhu a provozu ty stávající. Spravují klientské počítače (a udržovat a podporovat síť o stovkách či tisících počítačů je trochu jiná káva než opečovávat domácí desktop s Windows), servery a síťové prvky. Vývojáři naopak nic z toho typicky nedělají, a je-li to po nich požadováno (například rodinnými příslušníky), může to být zdrojem oboustranných frustrací.

V tomto článku budu psát o programování, neboť já sám jsem primárně vývojář, mám v tomto oboru nejvíce zkušeností, a cítím se tudíž kvalifikován rozdávat dobré rady jiným. Nicméně pokud vás tato cesta neosloví, pořád je tu možnost věnovat se správě IT systémům. Tam se znalost programování může v některých případech hodit, ale není to podmínka.

Mýtus druhý: Není to nic pro mě, ve škole mi nešla matematika

Pravděpodobně bude trvat několik generací, než se podaří napravit škody, které na české populaci působí systematická výuka předmětu, který je sice nazýván matematika, ale jeho základním znakem je, že s matematikou nemá prakticky nic společného. Stručně řečeno: vaše známky z matematiky mají naprosto nulovou vypovídací hodnotu o vašem potenciálním nadání pro programování.

Hodí se samozřejmě matematický způsob myšlení – logický, systematický, analytický. Jenomže ten se podle známky z matematiky nepozná. Prakticky vzato si jako běžný aplikační programátor vystačíte s malou násobilkou.

Mýtus třetí: Nemá cenu to zkoušet, protože stejně nebudu dost dobrý

Současný stav je pro začátečníky velmi příznivý. Pracovníků je takový nedostatek, že v oboru stačí naprosto minimální dovednosti, aby zájemce získal zaměstnání na juniorské pozici. Firmy většinou nabízejí různé varianty vzdělávání nových zaměstnanců a jsou ochotny přijmout i někoho, kdo nemá žádné praktické zkušenosti a napsal si jenom pár věcí "pro sebe". Jsou tací, kteří dokonce tento typ juniorů vítají, protože si je mohou vytvarovat podle svého a nemusí mýtit zažité špatné návyky. Důležitá je pro ně ochota a schopnost se učit.

Jak začít? Pořiďte si Arduino

Dospělý zájemce o programování to dnes má paradoxně složité. Když jsem já zapnul před lety svůj první počítač, československý osmibitový PMD 85, jediné, co jsem na něm měl k dispozici, byl jednoduchý interpreter jazyka BASIC. To byla jasně daná cesta, jak s počítačem něco dělat. Dnešní zájemce o vstup do světa programování je zahlcen možnostmi. Musí volit mezi C#, Javou, Pythonem, Ruby, PHP, JavaScriptem a milionem dalších programovacích jazyků a mezi jejich variantami.

Dobré rady zkušenějších nováčkovi se zájmem o programování příliš nepomohou, protože spory mezi zastánci jednotlivých jazyků a platforem mnohdy dosahují až fanatické intenzity. A už jenom rozjet toolchain, tedy sadu nástrojů, která vám umožní napsaný program přeložit a spustit, je dosti komplikované. Řada jazyků navíc vyžaduje jisté prerekvizity: chcete-li psát webové aplikace, musíte nejprve rozumět HTML a CSS, u mobilních aplikací je zase komplikované nastavení propojení s vaším mobilním zařízením a různé toolkity pro tvorbu uživatelského rozhraní…

I dnešním začátečníkům proto doporučuji začínat s osmibity. Konkrétně s osmibitovým procesorem ATmega328p, který najdete na vývojové desce Arduino Uno. O platformě Arduino jsme již na stránkách IHNED.cz psali. Obecně je Arduino vnímané spíše jako hardware, nástroj pro tvorbu vlastních elektronických výrobků. Z hlediska programátora začátečníka je ale podstatné, že Arduino je de facto jednoduchý osmibitový počítač, který lze programovat pomocí standardního jazyka C. Máte možnost si na něm vyzkoušet základní koncepty programování, aniž byste se museli prodírat vrstvami nástrojů, frameworků a vším, co s sebou moderní programování nese.

Arduino je zcela oddělené od vašeho hlavního počítače, takže nehrozí, že si na něm něco "rozbijete". Má začátečníkům přístupné jednoduché rozhraní, respektive vývojové prostředí Arduino IDE, které vás hned na začátku nezahltí milionem voleb a složitých nastavení; navíc má i webovou podobu. Pro Arduino dále existuje velké množství materiálů pro začátečníky, podrobných návodů a průvodců programováním. Navíc je Arduino velmi levné: stojí stokoruny, pokud si jej koupíte lokálně, nebo desetikoruny, pokud si jej necháte poslat z Číny.

Za tuto cenu a s investicí několika odpolední si můžete ujasnit sami pro sebe, jestli vám to jde a jestli vás to vůbec baví. V malém si prožijete to, co jako budoucí programátor budete zažívat v různých obměnách v dalších letech. Frustraci s hledáním chyb, ale i opojný pocit kontroly nad strojem, který pak můžete využít téměř k čemukoliv.

Programování Arduina vás i přes svou jednoduchost seznámí se vším, co budete jako programátor v zásadě potřebovat: co jsou proměnné, podmínky, cykly, vstupy a výstupy… Všechno ostatní jsou jenom nadstavby, jiné provedení téhož. Je jedno, jestli vstupní hodnotu zadáváte přes sériovou konzoli Arduina, do webového formuláře nebo na dotykové obrazovce mobilu.

Použitý jazyk C je navíc takovým praotcem většiny moderních programovacích jazyků a jeho znalost vám pomůže ve chvíli, kdy pak budete přecházet na jiný programovací jazyk.

Jak dál…

V klasickém jazyce C používaném v rámci Arduina se dnes už moc aplikací nepíše, takže profesionální programátorská cesta vyžaduje naučit se po něm nějaký modernější jazyk. Bohužel tady už možnosti univerzálních rad končí, protože dál byste se měli rozhodovat podle toho, jaký druh aplikací (desktopové, mobilní, webové) chcete psát a také jaké příležitosti máte ve svém okolí. Obecně se dá říct, že na konkrétní programovací jazyk by se programátor neměl příliš vázat. Jakmile člověk zvládne jeden, naučí se celkem snadno jakýkoliv další. Pomineme-li různé účelové speciality, vycházejí všechny ze stejných základů a zjednodušeně řečeno se liší jenom tím, kde se píší jaké závorky. Je tak jedno, jestli začnete s Pythonem, C# nebo JavaScriptem – když na to přijde, naučíte se základy nového programovacího jazyka za týden.

Ideální je mít trpělivého, schopného a ochotného kamaráda, na kterého se budete moci obracet se svými začátečnickými dotazy. Nemáte-li takového, zkuste nějaké diskusní fórum nebo on-line komunitu. Vytyčte si cíl vytvořit konkrétní aplikaci, klidně jako kopii nějaké existující. Už teď vám mohu říct, že ji nikdy nedopíšete, nikdy nebude pořádně fungovat, ale hodně se na ní naučíte.

Jakmile se dostanete do fáze, že to bude dělat aspoň něco z toho, co si přejete, gratuluji: právě jste se stali zaměstnatelnými. Nebude to stačit na zaměstnání v Microsoftu, Googlu nebo Applu, ale v Česku je dost podniků, které jsou ochotné přijmout začátečníka a vychovat si ho, investovat do něj.

Raspberry Pi mění svět: Seznamte se s nejzajímavějším počítačem dneška

Programovat lze i na malém počítači Raspberry Pi, ten hned po instalaci systému obsahuje programovací jazyk Scratch, který je určený spíše dětem, ale základy programování se v něm mohou naučit i dospělí. 

Raspberry Pi mění svět: Seznamte se s nejzajímavějším počítačem dneška