Programování bez Ing. - i bez diplomu z informatiky
Lubo Herkoo
21.03.2017
10 minut čtení
Nemáš diplom z informatiky a chceš být programátor(ka)? Žádný problém! Během mého interview na pozici programátora v Learn2Code nikoho nezajímalo, co/kde jsem studoval. Důležité byly zkušenosti, portfolio a (snad) rozumné odpovědi na otázky.
Kniha o JavaScriptu, kterou jsem nikdy nepřečetl
Programovat webové aplikace jsem se naučil sám. Stavěl jsem na základech ze střední školy, kde jsem zjistil, že web dokáže "postavit" i obyčejný smrtelník. Tehdy jsme na hodinách informatiky programovali Pascal, později ve vyšším ročníku i VisualBasic nebo C++. Tyto jazyky mě však moc nezaujaly. Neřešili žádný zásadní problém v mém životě, proto nám v task-baru vždy svítil CounterStrike 1.6 nebo Divoké kmeny - browserová online hra. V maturitním ročníku nás však na předmětu multimédia naučili tvořit jednoduché weby s využitím jazyka HTML a pravidel CSS. HTML & CSS jsou super v tom, že jakmile změníte svůj kód, stačí refresh prohlížeče a změny vidíte okamžitě.
Žádná kompilace kódu, žádné využívání komplikovaných knihoven pro zobrazování grafiky. Jednoduchý systém: pravidlo - výsledek. Web také stačilo nahrát přes FTP na některý z volně dostupných free hostingových serverů a viděl to celý svět. Sice vám to oblepili reklamou od vrchu až dolů, ale kámošům jsem poslal jen link a voila... Fotky z dozvuků si mohl prohlédnout každý, kdo měl internet.
Během prodloužených prázdnin před studiem na vysoké škole jsem budoval svoji home-page. Chtěl jsem tam moc mít moderní vysouvací menu. Zjistil jsem, že takové menu bez JavaScriptu nedám. Koupil jsem si tedy svou první "programátorskou" knihu: JavaScript - programujeme internetové aplikace . V českém jazyce. Nikdy jsem se nedostal za 1. kapitolu: Začínáme - stáhl jsem hotový .js soubor s menu, které vypadalo tak, jak jsem chtěl. Vůbec jsem netušil, jak to celé funguje, ale hledal jsem. Tehdy mě Google poslal na neskutečný zdroj informací, web, který jsem jako jediný přečetl celý: jakpsatweb.cz. Boom!
Guestbook.PHP
Jelikož web bez knihy návštěv nebyl webem, zkoumal jsem možnosti. Potřeboval jsem nějaké PHP a to zase potřebovalo nějaké MySQL a nějak to bylo spolu propojeno. Pochopit princip PHP a databází mi pomohl český tutoriál, který jsem už dnes bohužel nenašel. Podařilo se mi dát dohromady soubor s asi 500 řádky PHP spaghetti kódu a guestbook.php byl na světě.
Výběr vysoké školy neměl nic společného s kariérou programátora. Studoval jsem učitelství anglického jazyka a informatiky na Katolické univerzitě v Ružomberku. Studium učitelské informatiky se moc neliší od středoškolské informatiky na technické škole, takže jsem se přes přednášky vrátil k Divokým kmenům. Moje spolužačka tehdy hledala někoho, kdo pomůže jejímu kamarádovi propagovat webem neziskovou organizaci, která pomáhá africkým dětem. Za peníze. Jelikož jsem zvládl guestbook.php, zvládnu i toto. Nevěřil jsem vlastním očím, když jsem při psaní tohoto textu našel svoji první zakázku v životě: LiveAid CZ. Pamatuji si, že můj honorář byl 400, - SK.
WordPress
Jelikož jsem pořád snořil kolem PHP, narazil jsem i na redakční systém Wordpress. Ten mi pomohl pracovat efektivněji a zvládnout zakázky rychleji. Při práci s Wordpress jsem zvládl i objektové programování v PHP – pomohla mi k tomu výborná kniha od O'reilly: Programming PHP, je to však spíše příručka než nějaký tutoriál.
Ruby on Rails
Během celé té doby jsem byl v kontaktu se svým kamarádem, spolužákem ze střední školy. Stále jsme debatovali o Apple, IT, programování. Jemu PHP nikdy nesedělo. Byl vždy trendy a také pořád něco programoval – nevěděl jsem však v jakém jazyce. Jelikož jsme oba studovali na VŠ (on na FEI STUBA) a bylo pro nás jako studenty poměrně snadné dostat se do USA, využili jsme toho. Po několika týdnech práce jsme objednali své první MacBook Pro. Podstatné na tom celém je to, že on za ty tři měsíce v USA po večerech naprogramoval vlastní verzi browserové hry Babylon (bohužel ji nikdy nepublikoval online). Občas zmínil nějaké railsy , ale nikdy jsem tomu nevěnoval pozornost. Až jsme začali kecat a já jsem postupně vyměnil PHP za Ruby on Rails.
To, že jsme investovali do laptopů, si všiml i majitel hotelu, ve kterém jsme pracovali. Dali jsme řeč, zjistili jsme, že mu umíme pomoci s webem pro jeho hotely a od té doby jsme měli teplé místo v kanceláři, kde jsme vytvořili http://angelinnhotels.com/ . Webdesign nic moc, ale nemuseli jsme čistit klimatizace a pokoje po Američanech s nevychovanými dětmi.
VIVANT
Po návratu z USA jsme s Josefem komunikovali intenzivněji. Vytvořili jsme firmu a dostali jsme se k profi zakázce od Ministerstva školství. Vyhráli jsme soutěž na vytvoření systému pro správu neziskových organizací v rámci ČR. Rozdělili jsme úkoly a pustili se do toho. Bylo to vzrušující období. Kupovali jsme svůj vlastní server, který jsme umístili do serverovny v Bratislavě. S pomocí Josefova bratra - linuxového guru - jsme ho nakonfigurovali. Na vývoj aplikace jsme samozřejmě použili Ruby on Rails a databázi PostgreSQL. Byl to první seriózní projekt, který však měl také své zasmluvené termíny. Projekt VIVANT, jak jsme jej nazvali, jsme dotáhli do úspěšného konce. Používá se dodnes ( http://adam.iuventa.sk ).
Restart - online kurzy
Během práce na VIVANT jsem dokončil vysokou školu a začal pracovat jako učitel na ZŠ. Nevím jestli to bylo správné rozhodnutí, nebo ne. Řekl jsem si, že programovat budu moci i při práci učitele. Než jsem učil na poloviční úvazek, tak to také bylo možné. Později jsem však zjistil, že práci učitele na plný úvazek jen stěží dokážu spojit s další mentálně náročnou prací po večerech. Učitelování mě však natolik vzalo, že jsem postupně přestal programovat téměř úplně. Sledoval jsem trendy, zajímal se o dění, ale nepracoval jsem na žádném projektu.
Přestávka trvala téměř 6 let. Představa sebe – učitele v důchodu – mě později natolik vystrašila, že jsem se rozhodl odejít ze školství a zkusit restart svého programátorského řemesla. Problém byl v tom, že jsem zameškal dvě verze Ruby On Rails, ve světě PHP přibyl nový důležitý framework Laravel a zjistil jsem, že svět JavaScriptu je totálně někde jinde než před pěti lety - React, Angular, EmberJS, NodeJS... Nic z toho jsem neovládal. I pozůstatky know-how před pěti lety už byly neaktuální. Mé znalosti potřebovaly refresh. Zvolil jsem cestu online kurzů. Díky dobré angličtině jsem sáhl na kurzy Udemy. Později jsem objevil i jiné portály – Codeschool, Pluralsight, Egghead, Codecademy.
Z každého portálu jsem absolvoval alespoň jeden kurz. Naučil jsem se co je nového v Ruby a Ruby on Rails, jak umím testovat své webové aplikace. Zlepšil jsem se v Git. Pochopil jsem, jak funguje JavaScript. Naučil jsem se základy EmberJS, React a NodeJS. Zlepšil jsem své znalosti v oblasti databází, naučil jsem se pracovat is NoSQL databázemi.
Nemusel jsem nikam chodit. Všechno jsem zvládl v pohodlí domova, vlastním tempem.
Job v Learn2Code
Když se mi jak-tak vrátilo sebevědomí a zrealizoval jsem pár malých projektů, na Facebooku zasdílel někdo pozici Ruby on Rails programátora v Learn2Code. Zlátal jsem svůj životopis, dostavil se na interview do velkého města. Rada (CEO) jsem upozornil na svou ztroskotanou učitelskou kariéru a promluvil jsem o svých projektech. Rozhodli se to se mnou zkusit. Já nelituji, Ráda se ale musíte zeptat vy :)
Do it!
Naučit se programovat weby není tak náročné, jak by se na první pohled mohlo zdát. Absolvovat online kurzy bylo příjemné a ve většině případů i zábavné, někdy to však byla i pořádná otrava – je třeba ale vydržet. Lidé, kteří kurzy vyrábějí tam nikdy nedají vatu, aby natáhli čas.
Teď mám možnost nahlédnout i do Yablkových kurzů a konstatuji, že můj guestbook.php by neměl podobu 500 řádkového spaghetti kódu, kdybych mohl můj český tutoriál vyměnit za jeho Webrebel .