Facebook RSS feed
Zveme vás v pátek 28.11. na pravidelný sraz komunity itnetwork.

Proč a jak začít programovat

Zpět na hlavní stranu

Tento článek je určený všem začínajícím programátorům, rodičům, kteří chtějí ze svého dítěte ajťáka a také těm, kteří mají již třeba po škole a chtějí se rekvalifikovat. Zodpoví většinu vašich dotazů a navede vás na správnou kolej. Také vám vysvětlí, proč být zrovna ajťákem.

Článek píši z vlastních několikaletých zkušeností, naprogramoval jsem několik velkých aplikací včetně itnetworku a programování také vyučuji.

Proč programovat

Na úvod se krátce zamysleme nad tím, proč vlastně programovat. Kromě toho, že je to hezká práce, kterou můžete jednoduše dělat i z domova, je tato práce také skvěle placená. Průměrný plat českého ajťáka byl pro rok 2013 42.000 Kč (zdroj ČSÚ). Je nutno říci, že se jedná o plat průměrného IT pracovníka. Pokud budete dobří, dostanete se na čísla 70.000 Kč měsíčně a více. Platy jsou tak vysoké ze dvou důvodů:

  • V IT se točí velké peníze. Obrovské zakázky poptávají zejména stát a finanční giganti, pro které informační technologie znamená obrovskou přidanou hodnotu. Díky informačnímu systému nemusí zaměstnávat armádu úředníků, díky technologiím rychleji vyrábí, rychleji obsluhuje klienty na pobočce a podobně. Zisk a konkurenční výhodu rádi zaplatí, několikrát se jim to vrátí.
  • Práce v IT je odborná a je třeba kvalitní vzdělání. Každá třetí IT firma se potýká s kritickým nedostatkem programátorů.

Výsledkem těchto dvou faktorů je, že se ajťáci mají opravdu dobře. Druhou stranou mince je, že ne každý dokáže problematice plně porozumět a kdyby to bylo tak jednoduché, dělal by to každý.

Školy

Dovolím si ještě malou vsuvku pro středoškoláky nebo rodiče středoškoláků. IT školy v České republice jsou poměrně rozporuplné. Zatím, co vysoké školy mají opravdu skvělou úroveň (možná zas až moc vysokou), střední školy jsou naprosto nedostatečné. Je to dané tím, že na základních školách se učí opravdu pomalu, aby to všichni stíhali. Ideálně by se potom nadanější děti měly dostat na technické školy, kde by měla výuka nabrat nějaký zajímavější směr. V praxi si však většina kluků řekne, že je baví hrát ty hry a tak půjdou na IT střední. Máme tedy střední školu plnou lidí, co tam nemají co dělat. Školství se s tím vyrovnalo tak, že snížilo laťku, aby jich většina prošla. Naopak na vysoké škole zažijí šok, jelikož tam to funguje jinak. V prvním semestru se nabere 500 lidí, školu poté nevyjde více než 50 lidí, často ještě méně. Ti, kteří nepochopili, že se ve škole musí učit, vypadnou již v prvním semestru. Naopak absolventi jsou opravdoví profesionálové v oboru. Vyšší odborné školy (VOŠ) jsou kvalitou podobné těm středním, pro dobrou práci v IT potřebujete VŠ.

Teď mluvím ke středoškolákům: Abyste předešli zklamání, učte se a nenechte se spolužáky zdržovat, jinak na to doplatíte. Pokud vám škola nedokáže nabídnout dostatek vzdělání, najděte si ho jinde, třeba tady na itnetworku. Osobně doporučuji spíše gymnázia než průmyslovky, ale to je jen můj názor.

Schopnosti programátora

Programátorem se nestanete ze dne na den. Musíte být trpěliví. To je jedna z vlastností, kterou by programátor měl mít. Programátor by měl mimo jiné:

  • Mít logické myšlení, protože to je v programování velmi důležité
  • Ovládat dobře základní matematiku, tu úplně pokročilou většinou nepotřebujete
  • Ovládat angličtinu, protože jazyky a dokumentace k nim jsou v angličtině
  • Určitě by měl být cílevědomý, aby se nevzdal hned při první překážce

Umět programovat neznamená umět vytvořit konzolovou kalkulačku, ale ovládat objektově orientované programování a dokázat tvořit komplexní systémy. Samozřejmě vše nejde najednou, říkám to proto, abyste měli představu o rozsahu vzdělání.

Výběr jazyka

Tento bod je velmi důležitý. Programovat byste měli začít v moderním jazyce. Jazyk byste měli vybírat podle dvou kritérií:

  • Jak se s jazykem uplatníte v praxi
  • Pro jakou platformu je jazyk určený (Web, PC, Telefon...)

Již několik let (2013) jsou dva nejdůležitější jazyky v businessu Java a C#. Java je v podnikové sféře alfou a omegeou, C# je vlastně Java od Microsoftu. Těsně za nimi je C++ a PHP.

Nevhodné jazyky

Mezi nevhodné jazyky patří např. zastaralý Pascal, Delphi nebo céčko. Pro začátečníky není vhodné ani C++, jelikož je příliš složité, to samé platí pro JavaScript.

Vhodné jazyky

Pro začátek si ideálně vyberte jeden z těchto jazyků:

Java - Jednička v podnikové sféře, moderní jazyk s virtuálním strojem, funguje na všech platformách (PC s Windows, Linuxem, Mac, pohání mobily, tiskárny, automaty...). Oracle tvrdí, že Java pohání 3 miliardy zařízení. Java je otevřená technologie, to znamená, že je úplně zadarmo a každý do ní může přispívat. Java je univerzální jazyk, běží na něm aplikace, hry i weby.

C# .NET - Jistě mi ostatní odpustí, když C# nazvu "Javou od Microsoftu". V základní verzi je zadarmo a jelikož je jazyk centrálně spravovaný jedinou firmou, jsou jeho knihovny přehlednější a lépe zdokumentované než v Javě. Jazykově je mnohem dále než Java, obsahuje mnoho konstrukcí navíc, což programování později velmi usnadňuje, ale nejprve je potřeba se tyto konstrukce naučit. Pro korporátní řešení je třeba placené licence. Schopnosti jazyka i jeho reálné použití je shodné s Javou (univerzální - aplikace, weby, hry), běží na něm také mnoho podniků.

PHP - Otevřený jazyk, který se stal populárním na poli webu. Běží na straně serveru a generuje stránky, o které si lidé žádají. Je v něm naprogramovaný např. itnetwork a Facebook.

Jazyk C++

Jazyk C++ se vžil lidem do povědomí zřejmě kvůli svému názvu ("plus plus přeci musí znamenat nejlepší"). Začátečníci v něm často chtějí programovat. C++ umožňuje programovat extrémně výkonné aplikace. Používá se hlavně pro systémové aplikace a hry. Nemá automatickou správu paměti, což pro programátora znamená mnoho práce a ladění navíc. C++ neodsuzuji, je to dobrý jazyk, pracovní poptávka po něm je, jen je opravdu pro profesionály a lidi, co se rádi šťourají na té nejnižší úrovni. Pro běžné aplikace je zbytečně složitý.

Další jazyky

Nejen na poli webů se se serverovým jazykem (PHP, Java, C#) míchají ještě jazyky:

  • HTML - Jednoduchý značkovací jazyk, který nemá s programováním nic společného. Slouží k označování části textu na stránce, kterému přiděluje určitý význam.
  • CSS - Jazyk se vyčlenil z HTML a slouží k vizuálnímu stylování HTML značek. Opět to není programovací jazyk.
  • JavaScript - Jazyk používaný zejména pro webové doplňky (slideshow, galerie, chaty, načítání webu na pozadí).
  • SQL - Databázový jazyk, který je navržený pro dotazování dat z databáze.

Pro běžné použití vám z výše zmíněných jazyků stačí jen úplné základy, které nejsou složité. Neztrácejte s nimi tedy tolik času a věnujte se hlavně jednomu z jazyků, uvedených výše. Později budete zdokonalovat hlavně SQL, se složitějšími aplikacemi totiž potřebujete složitější dotazy na databázi.

Vidíte, že technologií je spousta. Doba, kdy Jan Novák naprogramoval celé účetnictví sám v Pascalu je nenávratně pryč. IT odvětví expanduje, má obrovskou budoucnost a technologie se rychle zdokonalují. Nároky na aplikace jsou také stále vyšší a vyšší, již nestačí jen jedna technologie. Musíte držet krok s dobou a učit se. Co se týče práce v IT, tak ta byla, je a bude.

Jak začít programovat

Hlavě se nesmíte bát, musíte být trpěliví a musíte sami chtít.

Škola

Již bylo řečeno, že pro práci v IT potřebujete vysokou školu. Kromě výběru dobré střední a vysoké školy je také potřeba programovat ve svém volném čase. Pokud si myslíte, že vás škola naučí programovat, tak vás zklamu. Programovat se musíte naučit sami. Škola by vám jen měla dát dobré materiály a učitele, většina z nich bohužel neudělá ani to. Potom se nemůžeme divit, že těch ajťáků moc není :)

Pokud mohu nějakou českou IT školu doporučit, je to Unicorn College, kde jsem studoval. Jedná se o školu, kterou založila velká česká IT firma a která učí věci tak, jak jsou v praxi opravdu potřeba. Škola je soukromá a při dobrém prospěchu hradí plné školné.

ITnetwork

Projekt itnetwork byl vytvořený k tomu, aby suploval za nešťastné české státní školství a abyste zde nalezli všechny informace, co potřebujete. Dá se přirovnat k ajťácké Wikipedii.

Kromě školy tedy potřebujete materiály s osnovou a příklady, které vás povedou většinou jazyka. Každý jazyk má na itnetworku rozsáhlou sekci, kde jsou kompletní seriály včetně toho jak začít, co k tomu potřebujete a podobně. K tutoriálům navazují příklady k procvičení látky.

Také musíte programovat vlastní aplikace, na kterých si vše zkoušíte a naučíte se nové věci. Programátoři také často Googlují, zabere jim to velkou část jejich pracovního dne. Nikdy se totiž nemůžete naučit všechno a ani to není důležité. Musíte hlavně pochopit základní principy a být si schopní dohledat další věci ve chvíli, kdy je potřebujete. Když něco nevíte, použijte zdejší Diskuzní fórum, zkušenější vám tam pomohou.

Co programovat

Hrajte si a programujte hry. Ačkoli to může znít kontraproduktivně, opak je pravdou. Tvorba her vás přímo baví, jelikož je to záživnější než tvorba evidence skladu. Při programování her vznikají zajímavé problémy, které řešíte a tak se zdokonalujete. Učení zábavou je nejefektivnější, říkal to již Komenský. Říká se, že když dokážete naprogramovat Tetris, tak jste nadějný programátor. Budete překvapeni, co všechno v Tetrisu budete muset řešit.

Samozřejmě také tvořte další užitečné aplikace, např. upomínání narozenin přátel, výpočet docházky ve škole, spotřeby automobilu a podobně.

Doučování

Pokud vám něco nejde nebo se chcete učit efektivněji s vedením zkušenějšího programátora, využijte individuální kurzy programování, jejich nabídka je v každé sekci a může si je dovolit opravdu každý. Vyučuji přímo já a rád vám pomohu přesně s tím, čemu nerozumíte a nasměruji vás na správnou cestu.

Práce

Jak na první práci v IT již sepsal náš kolega v článku Moje první práce v IT. Určitě si ho také přečtěte.

Pokud jste dočetli článek až do konce, jste na nejlepší cestě za kariérou v IT. Držím vám palce!

P.S. V článku jsem preventivně zakázal komentáře, jelikož zde hodnotím programovací jazyky a lidé se kolem tohoto tématu často dohadují. Kdybyste měli jakékoli dotazy, napište do Diskuzního fóra