Archívy kategórie: programovanie

Život digitálneho nomáda

O digitálnom nomádstve som sa dozvedel pred pár rokmi a táto myšlienka ma zaujala keďže sa ma týka. Digitálny nomád pracuje cez internet a teda môže pracovať odkiaľkoľvek, kde je spoľahlivé internetové pripojenie. Môže cestovať a spoznávať svet popri práci.

Moje začiatky digitálneho nomádstva

Ako programátor pracujúci na diaľku som dlho rozmýšľal, že vyskúšam život digitálneho nomáda. V roku 2018 ma život doslova vykopol zo Slovenska keď som po rozchode potreboval prísť na iné myšlienky. Rozhodol som sa vycestovať do krajín, ktoré sú obľúbené medzi digitálnymi nomádmi vďaka dobrému internetu a lacnému životu – Thajsko a Bali.

Thajsko

30 dňové víza je možné získať na letisku po prílete do Thajska. Len vám dajú pečiatku do pasu, ktorá hovorí, že môžete v Thajsku zostať 30 dní a potom musíte krajinu opustiť. Získať víza na dlhšie som sa nepokúšal, nechcelo sa mi tým zaoberať. 30 dní v Thajsku muselo stačiť.

Keď som prišiel do Thajska, do mestečka Chiang Mai plného buddhistických chrámov, moc sa mi nechcelo pracovať a chcel som objavovať nové prostredie. Všetko bolo pre mňa nové a lákavé. Svoj prvý deň (nedeľu) som strávil niekoľkohodinovým chodením po meste a objavoval som jeden chrám za druhým.

IMG_20180114_141200 IMG_20180114_114047 IMG_20180114_141314

V pondelok som chcel objavovať viac, ale kvôli práci mi moc času neostávalo. Bol som z toho celkom nervózny a zúfalý, že som na novom mieste a chcem ho objavovať, ale musím pracovať. Trvalo mi viac ako mesiac, než som objavil pre mňa optimálny spôsob skĺbenia práce a cestovania. Ale to už som bol na Bali.

Bali

Na Bali boli pre digitálnych nomádov odporúčané hlavne 2 miesta – Canggu a Ubud. Rozhodol som sa stráviť 2 týždne v Canggu a aspoň týždeň v Ubude a potom cestovať kam ma intuícia zavedie. O Canggu som čítal, že sú tam pláže, dobré kaviarne a reštaurácie a dá sa tam surfovať. Znelo to lákavo, ale keď som tam prišiel, už po týždni som mal dosť. Bolo to miesto plné párty ľudí, turistov, reštaurácií, barov a hlučných motoriek. Nič pre mňa. Ale aspoň som si vyskúšal surfovanie a zapáčilo sa mi to a spoznal som zopár fajn ľudí. Po dvoch týždňoch som bol rád, že idem do Ubudu, čo malo byť kľudnejšie miesto v okolí ryžových polí.

IMG_20180222_160731

V Ubude je veľa jógových centier a ľudí praktizujúcich jógu. Žiaľ som nemal chuť na jógovú lekciu a tak som sa žiadnej nezúčastnil. Ubud je oveľa kľudnejšie miesto ako Canggu, ale aj tak je celkom preplnené turistami, reštauráciami, obchodíkmi so suvenírmi a masážnymi a jógovými centrami. Odporúčam Balijskú masáž, ktorá stojí okolo 5€/hod. Veľmi príjemná relaxácia za super cenu.

Menej pracovať

Na svojich cestách som si uvedomil, že ak chcem viac vidieť, buď obetujem spánok, alebo pár hodín denne práce. Ako digitálny nomád v podstate nepotrebujem pracovať 6 – 8 hodín denne. Bohate mi stačí 3 – 5 hodín a zvyšok času mám voľno. Alebo napríklad jeden deň odpracujem 3 hodiny a iný deň 5 – 6 hodín. Alebo si prácu rozložím aj na víkendy a cez týždeň mám viac času. Možností ako si rozvrhnúť prácu je veľa a každému vyhovuje niečo iné. Kamarát napríklad pracuje večer, ale ja som už večer príliš unavený.

(Ne)výhody digitálneho nomádstva

Veľa ľudí, ktorí si nevyskúšali život digitálneho nomáda, vidí len výhody. No má to aj svoje háčiky. Spoznáte síce veľa fajn ľudí, ale tieto priateľstvá sú väčšinou len na veľmi krátku dobu. Kvôli neustálemu presunu z miesta na miesto je ťažké nadviazať hlbšie vzťahy.

Spoznáte veľa krásnych miest, o tom niet pochýb.

Po dvoch mesiacoch cestovania mi už chýbalo nejaké trvalé zázemie. Miesto, kde ma poznajú a kde môžem priložiť ruku k dielu a byť nejako užitočný. Cestovanie je fajn, ale má aj svoje limity. Po Bali som ešte navštívil Indiu, ale iba časť Goa, ktorá bola pomerne zmodernizovaná oproti ostatným častiam Indie hlavne kvôli turizmu. Takže som nezažil ani pravú Indiu. Internet bol v Indii o dosť pomalší a každý deň na niekoľko minút vypadával prúd. A hovorím, že to som bol ešte v pomerne modernej časti Indie. India nie je moc odporúčaná krajina pre digitálnych nomádov práve pre nízku kvalitu internetového pripojenia a častých výpadkov elektriny. Ak chcete zažiť pravú Indiu, choďte tam na dovolenku, nie pracovať.

Mal som v pláne precestovať Indiu viac, ale nebolo mi to dopriate. Tak sa do Indie určite vrátim neskôr, ale tentokrát už nie pracovne. India je iný svet. Všade sú kravy, neustále niekto trúbi (v Indii je trúbenie akýsi dorozumievací prostriedok), ľudia sú iní, prostredie je iné, strava je iná, všetko je iné ako v západnom svete. No aj napriek tomu som sa cítil ako doma hneď ako som prišiel do Indie. India je blízka môjmu srdcu, určite som tu strávil niektorý z minulých životov… ale z nejakého dôvodu som sa v tomto živote narodil na Slovensku.

Ako a prečo som sa začal živiť ako programátor

Po maturite som rozmýšľal, čo budem robiť. Nemal som ani tušenia. Tak som si ešte užíval svoje posledné prázdniny. Až v septembri som išiel na úrad práce a čelil tvrdej skutočnosti – už nie si študent, si nezamestnaný a nezamestnaný budeš, kým si nerozmyslíš, čo by ťa bavilo robiť. Nemáš ani nárok na podporu, pretože na ňu majú nárok iba tí, ktorí majú aspoň 2 roky vkuse odpracované.

Motivácia

V októbri a novembri som si našiel brigádu v distribučnom sklade jedného supermarketu.

Vďaka tejto brigáde som si uvedomil, že takto nechcem stráviť zbytok svojho života – pracovať na 12 hodinové smeny, chodiť z práce unavený a mať čas akurát tak na nákup, varenie polotovarov a spánok. Ráno som chodil do práce a večer z práce. Nakúpil som, najedol som sa, oddýchol som si a šiel som spať. A tak celý týždeň od pondelka do piatku. Aspoň víkendy som mal voľné, ale aj to len preto, lebo ako brigádnik som si to mohol dovoliť. Zamestnanci pracovali aj cez víkendy keď bolo treba. Sklad musí fungovať 7 dní v týždni. Už koncom novembra bolo cítiť, že idú Vianoce a Mikuláš. V sklade bolo stále viac a viac frmolu. Povedal som si, že toto nie a koncom novembra som skončil brigádu. Rozmýšľal som čo ďalej. Mal som už dosť zarobené, aby som mohol odísť do zahraničia. Ale čo tam? Zase drieť od rána do večera, len za väčšie prachy? Našťastie prišla hospodárska kríza a hromadné prepúšťanie v mnohých odvetviach. Ľudia prichádzali zo zahraničia späť do svojich rodných krajín. Ja som aj tak tušil, že by som v zahraničí dlho neostal, pretože by sa mi tam práca nepáčila. Opäť som rozmýšľal čo ďalej. Čo budem robiť? Čo by ma bavilo? Nad týmito otázkami som dumal už popri práci v sklade. Po niekoľkých dňoch vo mne skrsla myšlienka – budem programátor. Sused je programátor a pracuje z domu. Prečo by som nemohol byť aj ja? Práca z domu je super! Už odmalička som rád sedel za počítačom. Veľmi ma to lákalo. Požičal som si od suseda programátora knihu: “Učebnice jazyka C” a začal som sa z nej učiť. Po malých krôčikoch som sa učil programovať. Čítal som teóriu a skúšal si praktické príklady, aby som lepšie pochopil teóriu. Veľmi ma to bavilo. Keď som napísal svoj prvý jednoduchý program, bol som z toho mega nadšený. “Prikazujem počítaču čo má robiť a on to robí, to je úžasné!”, hovoril som si. Prechádzal som jednotlivé cvičenia rad za radom, ale nevedel som všetky vyriešiť. Išiel som si občas po radu za susedom, ale aj tak som toho moc nechápal. Učivo bolo čoraz ťažšie. A tak som usúdil, že by bolo dobré, keby idem na vysokú školu. Pôvodne som nechcel ísť na výšku, ale nechcel som ani pracovať za minimálnu mzdu, alebo sumu jej blízkej. Sused programátor vraj zarábal 100 000 slovenských korún (cca 3 330€) mesačne. Plat programátora a to, že ma programovanie bavilo, bola dostatočná motivácia, aby som šiel znova do školy aj keď som pôvodne nechcel. Skonzultoval som to s rodičmi a tí nadšeje odkývli “áno”. Tak som si podal prihlášky na Žilinskú a Masarykovu univerzitu a začal som sa učiť na prijímačky. Veľmi som chcel ísť aspoň na jednu z tých škôl. Masaryčka v Brne ma lákala viac. Po usilovnej príprave na prijímačky ma prijali na obe školy. A tak som začal študovať Informačné technológie na Masarykovej univerzite. Zaujimavosťou je, že som nevyštudoval ani technickú školu, ani gymnázium. Mal som maturitu a výučný list z učilišťa – odbor obchodný pracovník. Mal som pocit, že som na Masaryčke jediný z učilišťa. Moji spolužiaci boli väčšinou z gymnázia, alebo priemyslovky.

Život na výške

Prvý a druhý ročník na výške boli super. Bol som motivovaný a chcel som sa naučiť čo najviac. Zapísal som si aj predmety navyše, ktoré ma zaujímali. No v treťom ročníku mi začalo prihárať pod zadkom a zistil som, že už to nedávam. Navyše som si uvedomil, že na výške sme sa vôbec neučili to, čo som sa chcel učiť – tvorbu webových stránok a aplikácií. Keď som si predstavil, že ešte 4 – 5 mesiacov sa mám učiť niečo, čo sa ani nechcem učiť, bolo mi z toho zle. Keď som si predstavil úsilie, ktoré by som mal vynaložiť na získanie Bc. titulu, usúdil som, že úsilie budem radšej dávať na to, aby som sa naučil vytvárať webové stránky a aplikácie. A veru oplatilo sa. Kým ostatní písali bakalárky a učili sa na štátnice, ja som sa učil vytvárať webové aplikácie a veľmi ma to bavilo. Podarilo sa mi vytvoriť 2 aplikácie. Jednu na objednávku jedál online a druhú “Share a ride” na zdieľanie jazdy autom. Kamoš si všimol moju tvorbu a ponúkol mi prácu v jeho firme.

Moja prvá práca

V kamošovej firme som robil šablónové weby na zákazku a občas sa pritrafil aj nejaký zaujímavejší projekt. Bol som veľmi nadšený, že môžem robiť to, čo ma baví a mať za to aj slušný plat. 5€ na hodinu bol vtedy takmer trojnásobok minimálnej mzdy. Neskôr som sa osamostatnil a začal pracovať na živnosť za 7€ na hodinu. Za 160 odpracovaných hodín som mal 1120€. Výhoda bola, že som nemusel odpracovať ani tých 160 hodín mesačne ako bežný zamestnanec. Pracoval som z domu 120 – 140 hodín mesačne a mal celkom slušný plat.

Moja prvá zahraničná zákazka

Neskôr som si našiel prvú zahraničnú zákazku zo Švajčiarska a vypýtal som si 10€ na hodinu. Na moje počudovanie mi ponúkli 20€ na hodinu! Skoro mi oči vypadli, keď som to uvidel. 20€ na hodinu?! Veď to je suma, ktorú väčšina ľudí nezarobí ani za deň! A ja si sediac doma za počítačom zarobím za pár hodín toľko, čo iní za celý mesiac. Spočiatku mi bolo blbé zarábať toľko peňazí. Ale potom som si uvedomil, že je to vlastne normálne. Toľké roky som sa učil, aby som mohol mať taký plat. Veď čím viac človek vie, čím má väčšie skúsenosti, tým väčší má plat. Aspoň by to tak malo byť. Výhoda IT je v tom, že človek sa môže vyšvihnúť na vyššiu platovú priečku behom 3 – 5 rokov praxe. 20€ na hodinu je ešte pomerne malá sadzba. Skúsení programátori s viac ako 5 ročnou praxou zarábajú aj cez 40€ na hodinu. Ale žiaľ nie na Slovensku. Preto ak si vážite svoj čas, je fajn poobzerať sa po zahraničných projektoch. Je fakt rozdiel, keď robíte tú istú prácu za 10, 20, alebo 30€. Je rozdiel, či zarobíte 1600€, 3200€, alebo 4800€ mesačne za ten istý čas.

Nie je to len o peniazoch

Programátora sotva môže robiť človek, ktorého programovanie nebaví. Taký človek by sa pravdepodobne ani nenaučil programovať. Sú jednoducho ľudia, ktorých nebaví sedieť za počítačom. Ak sa niekto naučil programovať, tak pravdepodobne preto, lebo ho to baví. A keď práca človeka baví, bude ju robiť za 2, 5, 10, či 50€ na hodinu. Vyššia odmena je len príjemný bonus.

Je programovanie pre mňa?

Ak nevieš, či by ťa programovanie bavilo, najlepšie to zistíš tak, že sa začneš učiť programovať a uvidíš sám. Sú ľudia, ktorí sa nenaučia programovať, lebo ich to jednoducho nebaví. A potom sú ľudia, ktorí sa nevedia odtrhnúť od počítača a celé dni študujú a skúšajú nové veci.

Programovanie je jednoducho vášeň. Kto v sebe túto vášeň objaví, má zaručený dostatok, ba až nadbytok práce a veľmi slušný plat, za ktorý by sa nemuseli hanbiť ani politici.

Ako sa naučiť programovať?

Kto chce, ten si spôsob nájde. Na internete existuje nespočetne veľa študijných materiálov – zdarma, aj platených. Platené bývajú zvyčajne kvalitnejšie a obsiahlejšie ako voľne dostupné. Dajú sa nájsť aj študijné materiály v slovenčine a češtine, ale pokročilejšie veci sú už viacmenej v angličtine. Kým som sa učil programovať, učil som sa zároveň aj angličtinu, takže v tom nevidím problém.

Odporúčam veľmi kvalitné kurzy v slovenčine od Learn2Code:

970x90brand-1502371483.png

Treba vysokú školu?

Programátor vysokú školu (titul) nepotrebuje, ale je dobré prejsť si aspoň pár semestrami ako som to urobil aj ja. Učivo na vysokej IT škole poskytuje slušný základ pre programátora. Naučí sa tam aj to, čo by sa bežne sám nenaučil, pretože by v tom možno nevidel zmysel.

Mentoring

Je dobré, keď má človek niekoho, kto mu v začiatkoch poradí a pomôže.

Ak si nevieš rady, môžeš sa na mňa kedykoľvek obrátiť. Ak budem vedieť, rád poradím. Kontakt na mňa nájdeš na stránke www.hromnik.com

Prajem veľa šťastia pri kódení!

Prečo som prestal programovať

Programovanie patrí medzi najlepšie platenú prácu. Ako programátor som dokázal zarobiť za hodinu viac ako bežný človek vo fabrike zarobí za celý deň. Prečo by sa niekto vykašľal na tak dobre platenú prácu?

Programovanie je fajn

Programovanie ma veľmi bavilo. Robil som to, čo ma baví a zarábal som vďaka tomu slušné peniaze. Nemusel som dochádzať do práce, pracoval som z domu. Mohol som prakticky robiť kedy chcem a koľko chcem. Boli dni kedy som pracoval len 3 hodiny. Boli dni kedy som pracoval 14 hodín. Na zákazkach som nikdy nestrávil viac ako 150 hodín mesačne. Väčšinou som pracoval na zákazkach približne 100 – 130 hodín mesačne a zbytok som venoval svojim projektom. Môj najúspešnejší projekt je e-learningová platforma pre interaktívnu výuku programovania s názvom CoderMania. Neustále mi chodili pracovné ponuky a ja som ich nemal komu posunúť. Rozhodol som sa preto učiť ľudí programovať a popri CoderManii som vytváral Letnú web developerskú školu. Učil som programovať ľudí z celého sveta. Neskôr som začal vytvárať Web developerskú školu v slovenčine, ale ešte som ju nedokončil pretože už mám iné priority.

Programovanie je občas fuška

Ťukať príkazy do počítača a sledovať či všetko funguje ako má, je celkom zábava. Občas. Občas vie byť programovanie aj celkom fuška. Keď niečo nefunguje a programátor netuší prečo to nefunguje, to sú najťažšie chvíle pre programátora. Nájsť chybu v niekoľko tisíc riadkovom zdrojovom kóde už nie je sranda. Ak niečo nefunguje, pre programátora končí veškerá sranda a začína byť zúfalý ak nevie chybu nájsť. Navyše ak chybu v programe objaví šéf a tvrdí, že chyba je kritická, vtedy začína skutočný tlak na programátora a zažíva stres. Stres nie je príjemný. Žiaľ programátor, ktorý má na starosti celý projekt, zažíva stres celkom často. Má síce za to slušne zaplatené, ale stres sa nedá vyčísliť peniazmi. Ak niekto zažíva pravidelný stres v práci a nechá si za to platiť, je to blázon. Blázon, ktorý hazarduje so svojim životom. Stres v sedavej práci je celkom nebezpečný. Dlhodobý stres môže vyústiť do vážnych chorôb.

Návrat do reality

Viete… sedieť a čumieť 7 a viac hodín denne do počítača nie je z dlhodobého hľadiska príliš lákavé a ani zdraviu prospešné. Už ako 10 ročného ma fascinovali počítače a bavilo ma sedieť za počítačom celý deň. Ale ako 27 ročný som si povedal “A dosť!“. Asi som konečne dospel.

Sedieť celé dni za počítačom a zarábať celkom slušné prachy, to sa môže zdať ako práca snov. Áno, je to práca, po ktorej som vždy túžil. Ale zistil som, že virtuálna realita mi nesedí. Stačí len keď vypadne internet alebo elektrina a celý virtuálny svet je fuč. Virtuálny svet je ilúzia vytvorená ľuďmi. Je občas fajn uletieť si do virtuálneho sveta, ale už mi nepríde až tak fajn byť vo virtuálnom svete väčšinu dňa. Chcem žiť viac v reálnom svete.

Čo budem robiť?

Môže sa vám vynoriť otázka: “A čo budeš robiť keď nebudeš programovať?“. To, čo bežný človek. Môžem robiť animátora v detskom tábore. Môžem pracovať na farme. Môžem variť. Môžem učiť programovanie. Môžem robiť čokoľvek, v čom vidím zmysel a čo robiť viem. Nebaví ma robiť len jedno povolanie. Baví ma robiť viac vecí zároveň. Môžem robiť čokoľvek čo viem a čo ma v súčasnosti napĺňa. Keď ma to prestane napĺňať, môžem robiť niečo iné. Ak aj niečo neviem robiť, tak sa to naučím. Naučil som sa programovať, naučím sa čokoľvek.

Robím čo ma baví. Píšem články, vytváram videá, spoznávam nových skvelých ľudí a vďaka týmto činnostiam prichádzajú do môjho života nové príležitosti. Nekódil som už viac ako 10 mesiacov a patrím medzi najšťastnejších ľudí na svete. Môžem robiť veľa vecí, ktoré mám rád. Nepotrebujem zarábať veľa peňazí. Som šťastný keď môžem robiť veci, ktoré milujem, keď jem skvelé jedlo, keď som obklopený skvelými ľuďmi. Som novodobý hippie a som šťastný.

Snažím sa tešiť ľudí, snažím sa pomáhať kde sa len dá, občas cestujem a spoznávam nové miesta a nových ľudí. Chcem pracovať s ľuďmi namiesto počítačov. Pomaly prechádzam z virtuálnej reality do skutočnej reality, kde začína skutočný život.

A čo peniaze?

Môžete sa spýtať: “A čo peniaze?“. Toto je najčastejšia otázka, ktorú dostávam. Viem, že veľa ľudí potrebuje veľa peňazí na živobytie. To je pasca Matrixu (tohto systému). Podarilo sa mi minimalizovať výdavky a peniaze potrebujem len na jedlo, lacné ubytovanie a cestovanie (ktoré môže byť tiež zadarmo – stopovanie). To je všetko. Dokázal som si našporiť dostatok peňazí aby som dokázal prežiť viac ako rok bez toho aby som musel pracovať za peniaze.

Peniaze boli, sú, aj budú. Ako programátor som bol zvyknutý mať väčší príjem. Ale peniaze nie sú všetko. Radšej budem robiť niečo, čo ma baví za menej peňazí ako niečo, čo ma nebaví za veľa peňazí. Mali by ste si zo mňa brať príklad ak chcete byť naozaj šťastní. Šťastie si za peniaze nekúpite, verte mi. Šťastní môžete byť len vtedy, keď robíte prácu, ktorá vás baví. Pokiaľ robíte prácu, ktorá vás štve, nemôžete byť šťastní. To nejde.

Peniaze sú síce fajn, ale šťastný život má pre mňa oveľa väčšiu hodnotu ako peniaze. Pre niekoho môžu byť peniaze najvyššie v rebríčku hodnôt, ale ja už som z toho vytriezvel. Bažil som po peniazoch a chcel som mať veľa peňazí asi ako každý. Teraz chcem byť šťastný a chcem aby boli ľudia okolo mňa šťastní. Človek nepotrebuje ku šťastiu veľa peňazí. To je ilúzia dnešnej doby. Šťastie a sloboda sú v mojom rebríčku hodnôt najvyššie. Peniaze nie sú priorita. Peniaze vnímam ako nástroj, ktorý môžem využívať na rôzne účely. Šikovný človek si dokáže zarobiť na živobytie čímkoľvek. Poznám ľudí, ktorí sa živia ako pouliční muzikanti. Ak je človek naozaj dobrý v tom čo robí, dokáže si zarobiť čímkoľvek.

Zmysluplná práca ako zmysel života

Ak človek robí to, čo ho napĺňa a robí to naozaj dobre, má o živobytie postarané. Vykonávanie zmysluplnej práce je jedna z najdôležitejších činností pre človeka. Ak človeka práca baví a ešte ho aj dokáže uživiť, je to najvyšší level bytia. Taká práca nie je práca, ale záľuba a človek dokáže robiť záľubu prakticky neustále. Nepotrebuje víkendy aby si odpočinul a tým pádom nenadáva na pondelky pretože sa teší z dobre vykonanej práce. Prajem to zažiť každému.

Rob čo miluješ a buď šťastný

Nemám rád prácu 8 hodín denne, 160 a viac hodín mesačne. Tento systém nie je pre mňa. A tiež nie je pre ďalších ľudí, ktorí sa chcú odpojiť z Matrixu a chcú robiť čo majú radi bez ohľadu na to koľko zarobia. Peniaze sú pasca Matrixu. Ľudia sú jediný druh na planéte, ktorý musí platiť za to, aby žil. Veľa ľudí si nemôže dovoliť prestať pracovať a byť slobodný. Sú otrokmi svojich výdavkov a peňazí. Je to krutý život. Je to moderné otroctvo, ktoré je zdrojom stresu, strachu, úzkosti, rakoviny a iných chorôb. Mohol by som tu písať o Matrixe viac, ale už o ňom viete dosť. Veď v ňom žijete. Ale možno neviete ako sa z neho vymaniť. Len minimalizujte výdavky, zarobte dostatok peňazí aby ste mohli opustiť súčasnú prácu a začať robiť to, čo vás baví, niečo užitočnejšie a zmysluplnejšie. Robte čo vás baví, buďte slobodní a šťastní. Dúfam, že bude viac ľudí šťastných a budú si navzájom pomáhať. Spolu dokážeme spraviť svet krajší.

Nech vás láska sprevádza.

Ako som vytváral študijný plán web developerskej školy

V júni 2015 som sa pustil do vytvárania študijnej osnovy letnej web developerskej školy. Zbúchal som ju docela rýchlo. Obsahovala 13 týždňový program. Pôvodne mala škola trvať 13 týždňov. Zamyslel som sa, či to nie je málo a zistil som, že je. Pridal som ďalšie 2 týždne. Je možné, že aj to bude málo. Vecí, ktoré sa treba naučiť je hrozne moc ale snažím sa ich filtrovať len na tie najpodstatnejšie.

Pôvodné myšlienky

Pôvodne som chcel v kurze preberať aj front-end JavaScriptové frameworky a postupne jeden za druhým skúšať. Zistil som, že je to somarina. Študentovi stačí ovládať jeden. Nakoniec som názov lekcie zmenil na “Quick overview of front-end frameworks” a jeden si možno vyskúšame.

Pôvodne som moc nechcel učiť PHP, ale nakoniec som dal do osnovy Nette framework a MySQL. O pár dní nato som si spomenul ako som začínal ja s Nette, keď som nevedel objektovo programovať. Nette som vôbec nechápal a nevedel som sa v ňom ani pohnúť. O rok na to, keď som sa naučil OOP (Object Oriented Programming), som do Nette nakukol znovu a už som mu chápal oveľa viac. Takže Nette som vyškrtol a lekciu som nazval “Quick overview of PHP and PHP frameworks”.

Pridal som do osnovy “Introduction to OOP”. Bude to naozaj len krátky a rýchly prehľad na čo slúži OOP a aké je dôležité ho ovládať. Študentom stačí vedieť na začiatok len základy. Neskôr budem pravdepodobne učiť OOP viac do hĺbky.

Počas týždňa som osnovu niekoľkokrát upravil a prekopal a ešte ju aj budem upravovať. Chcem, aby si študenti odniesli nie len prehľad technológií, ale aj vlastné skúsenosti na projektoch, skúsili si párové programovanie, prácu v tíme a mnoho iných vecí.

Prekvapivé zistenie

Nakoniec som zistil jednu zaujímavu vec. Človek, ktorý nemá žiadne skúsenosti s programovaním, sa dokáže naučiť tvoriť webové aplikácie do 7 týždňov vďaka super jednoduchej technológií zvanej Meteor.js. Osnovu som upravil tak, aby sa študenti najskôr naučili základ webu – JavaScript, HTML a CSS. Hneď na to učím jQuery, ktoré je súčasťou snáď každého moderného webu, a prehľad ostatných JavaScriptových technológií. Šiesty týždeň web developerskej školy zoznámim študentov s Meteor.js a od tohto momentu sú schopní vyvíjať vlastné webové aplikácie. Siedmy týždeň učím Meteor viac do hĺbky, študenti tak získajú slušný základ pre vývoj ich vlastných aplikácií. Vývoj webových aplikácií nebol nikdy tak jednoduchý ako dnes s Meteor.js.

Ostatné týždne učím už len doplnkové veci, ktoré by mal vedieť každý dobrý web developer.

Nauč sa tvoriť (webové) aplikácie

Dnes, keď je vývoj webových, ba dokonca mobilných aplikácií pomerne jednoduchý, je škoda to nevyužiť a nenaučiť sa vytvoriť si vlastnú aplikáciu do dvoch mesiacov. Nemusíš študovať 5 rokov na vysokej škole, aby si dokázal vytvoriť aplikáciu. Stačí ti len chuť učiť sa a vášeň pre programovanie.

Pridaj sa do študijnej skupiny “Online web developerská škola” a využi jedinečnú šancu stať sa web developerom.

Ak máš akékoľvek nejasnosti, môžeš sa pýtať priamo v študijnej skupine, prípadne vo FB skupine “Web development school“, alebo priamo mňa cez Facebook.

Ak ešte váhaš, či do toho ísť, alebo neísť, prečítaj si článok “Ako mi programovanie zmenilo život “. Dúfam, že ťa to motivuje a aspoň vyskúšaš či by ťa kódenie náhodou nebavilo.

Letná web developerská škola

Čoraz viac ľudí ma oslovuje s tým, že sa chcú naučiť kódiť a robiť webové aplikácie. To ma vyhecovalo k tomu, aby som spravil 3 mesačnú letnú web developerskú školu. Veľa študentov sa bude cez prázdniny nudiť, takto môžu pre seba aspoň niečo spraviť.

Všetko podstatné som popísal na stránke Web developerskej školy: http://www.codermania.com/kurzy/letna-web-developerska-skola.

Pôvodne som to chcel robiť za dobrovoľný príspevok, ale zistil som, že ľudí by to moc nemotivovalo a nevážili by si nadobudnuté znalosti. Tým, že to bude platené, odfiltrujem špekulantov a získam študentov, ktorí majú seriózny záujem sa naučiť tvoriť webové aplikácie. Cena nie je ani vysoká, ani nízka. Teda oproti ostatným kurzom je pomerne nízka. Mojim cieľom nie je momentálne na tom zbohatnúť. Mojim cieľom je zvýšenie počtu a kvality web developerov, ktorým budem môcť posúvať pracovné ponuky, ktoré mi chodia.

Takže dúfam, že sa nazbiera dostatok serióznych záujemcov, ktorých naučím veci, ktoré by sa sami len tak nenaučili.

CoderMania – priebeh výuky

Utriedil som si v hlave ako bude prebiehať výuka programovania a web developmentu na CoderManii.

Študijné skupiny a týždňové “šprinty”

Na CoderManii som vytvoril študijné skupiny týkajúce sa HTML, CSS, JavaScriptu a celkovo web developmentu. Študijná skupina je vlastne chat, kde sa študenti môžu pýtať otázky a komunikovať medzi sebou (niečo ako Slack chat). Na otázky môže odpovedať každý študent. Šikovní študenti sa tak môžu zároveň stať učiteľmi.

Zo začiatku budem cez chat zadávať na každý týždeň čo by sa mali študenti naučiť. Na CoderManii budú pribúdať interaktívne lekcie a cvičenia, ktoré si študenti budú môcť preštudovať a vypracovať. Akonáhle budú študenti ovládať HTML, CSS a JavaScript, zadám im vypracovať reálny projekt, na ktorom sa naučia uviesť nadobudnoté poznatky do praxe a ešte k tomu sa naučia niečo nové. Opäť môžu svoje riešenia konzultovať cez chat. Tempo učenia sa študentov bude s veľkou pravdepodobnosťou rozdielne. Niekto môže za týždeň zvládnuť všetky lekcie na CoderManii. Taký študent môže vypracovať projekt, učiť ostatných a začať pracovať na vlastných projektoch. Pokiaľ študent nebude mať za sebou aspoň jeden väčší projekt, nebude mať veľkú šancu sa zamestnať. Každému študentovi by som rád prisľúbil kontrolu jeho kódu (code review), ale zatiaľ neviem, či to budem stíhať.

Online výuka a osobné stretnutia

Väčšina výuky bude prebiehať online. Pokiaľ to bude potrebné, môžem sa s ľuďmi zo študijnej skupiny raz za mesiac (podľa možností aj viackrát) stretnúť a skonzultovať nejasné veci. Študijné skupiny budú zatiaľ v Brne a v Dubnici nad Váhom. Ak bude viac študentov aj v inom meste, môžem spraviť stretnutie aj v ňom pokiaľ bude v rozumnej vzdialenosti (~150km) od Brna, alebo Dubnice.

Som toho názoru, že človek v IT by mal byť schopný vygoogliť si všetko, čo potrebuje. Nechcem študentov vodiť za ručičku. Ja môžem iba poradiť, dovysvetliť učivo, inšpirovať a motivovať.

Koniec výuky

Hlavným cieľom CoderManie pre začiatok je naučiť študentov HTML, CSS a JavaScript (prípadne jQuery). Na konci výuky budú študenti vedieť vytvoriť webovú stránku, prípadne aplikáciu bez databázy. Na konci (alebo aj v priebehu) výuky študentom poodhalím technológie, ktoré sa používajú v praxi a ktoré by sa mali naučiť a zase si v nich vytvoriť projekt. Pomôžem študentom rozhodnúť sa, či sa chcú stať front-end, full-stack, alebo back-end vývojármi.

Je dosť možné, že vytvorím ďalšiu študijnú skupinu pre výuku programovania webových aplikácií, ktoré pracujú s databázou.

Pokročilé kurzy

Keďže sa zameriavam už iba na vývoj čisto JavaScriptových aplikácií, pokročilé kurzy budem robiť v JavaScripte. Mojim miláčikom je Meteor.js, ktorý sa zatiaľ v ČR a na Slovensku takmer vôbec nepoužíva, ale má obrovský potenciál do budúcnosti a je pravdepodobné, že ho slovenské a české firmy začnú čoskoro používať a hľadať Meteor vývojárov. Ak nie, práce v Meteore v zahraničí je dostatok. Hlavne v USA, ale aj v Holandsku, Nemecku, Švajčiarsku,… vo veľa prípadoch sa dá pracovať na diaľku za peniaze, o ktorých sa vám ani nesnívalo. S ostatnými technológiami by som vedel poradiť asi na takej úrovni, ako ujo Google.

V Čechách a na Slovensku sa stále hojne používa PHP, s ktorým už nepracujem a neviem, či by som ho dokázal učiť. Ak by chcel niekto učiť PHP a niektorý z PHP frameworkov, nech sa mi ozve. Ostatné technológie uvítam tiež.

Motivácia

Aby som študentov trochu motivoval, tak najlepší z nich dostanú možnosť exkurzie a následne pohovorov v rôznych IT firmách. Dozvedia sa aké technológie firmy používajú a aké technológie sa treba doučiť. Je veľká šanca, že najšikovnejších žiakov firmy prijmu a budú im platiť za to, aby sa naučili technológie, ktoré používajú. IT je jeden z mála oborov, kde ľudia dostávajú plat za to, že sa učia nové veci.

Začiatok prihlasovania na kurz

Od dňa 19. mája 2015 je možné sa prihlasovať do verejných študijných skupín, kde výuka prebieha v angličtine: http://www.codermania.com/study-groups. Ak ste v Brne, môžete sa pridať do skupiny Web developeri Brno. Ak ste v Dubnici, alebo inej časti Slovenska, pridajte sa do skupiny Web developeri Slovensko. Môžete sa samozrejme pridať do oboch skupín. Ak máte pripomienky, nápady na vylepšenia, napíšte mi ich na Facebook.

Zvýšenie kvality a kvantity web developerov

Už minulý rok (2014) som dostal nápad, že by bolo dobré, keby sa zvýši počet a kvalita programátorov a hlavne web developerov. Každá IT firma má non-stop otvorené pracovné pozície pre programátorov a kodérov. (Kvalitných) Ľudí v IT je akútny nedostatok. Každý mesiac dostanem aspoň 3 pracovné ponuky, ktoré musím odmietnuť z časových, alebo osobných dôvodov. Headhunteri sa ma vždy pýtajú, či nepoznám niekoho, kto by mal čas a mal o danú pozíciu záujem. S ľútosťou odpovedám, že nepoznám. Všetci programátori, ktorých poznám, majú práce viac než dosť.

Preto som začal robiť programátorské kurzy pre začiatočníkov za dobrovoľný príspevok. Bolo to síce fajn, ale zistil som, že takto kvalitu a počet web developerov nezvýšim. Chce to niečo dlhodobejšie, niečo väčšie. Chce to buď niekoľkomesačné intenzívne kurzy, alebo niečo ako programátorskú školu.

Vízia

Chcem zvýšiť počet a kvalitu web developerov. Chcem učiť ľudí programovať, vyvíjať weby a webové aplikácie. Mám určitú víziu ako by to celé mohlo fungovať.

Financovanie

Keďže programátorské kurzy sú pre bežných ľudí dosť drahé, chcem ísť na financovanie inou cestou. Každá IT firma hľadá ľudí non-stop a kým nájde schopného človeka, môže to trvať niekoľko mesiacov. Firmy by mohli ponúkať financovanie kurzov. Povedzme, že za 6 mesiacov (hrubý odhad) dokážem vytrénovať človeka natoľko, aby mohol pracovať na reálnych projektoch. Študent sa môže dohodnúť s firmou, že mu kurz zaplatí a keď získa požadované znalosti, pôjde do firmy pracovať. Firma tak získa juniora cestou, ktorá síce nie je lacná, ale bude mať istotu prísunu kvalifikovaných ľudí.

Už existujú financované projekty ako CodeCamp, ktorý ale požaduje predošlú znalosť programovania. Ja mám trochu inú cieľovú skupinu.

Ďalšia možnosť financovania je crowdfunding. V poslednej dobe vzniká množstvo zaujímavých projektov a ľudia na ne prispievajú. Chcem skúsiť aj túto možnosť.

Cieľová skupina

Cieľová skupina sú ľudia, ktorí nemajú žiadne, alebo len malé skúsenosti s programovaním. V krátkych kurzoch základov programovania zistia, či by ich programovanie bavilo. Keď zistia, že ich programovanie baví, môžu sa prihlásiť na dlhodobé kurzy.

Ďalšia cieľová skupina sú ľudia, ktorí sa hlásili na pozíciu web developera/kodéra ale na pohovore neuspeli. Týmto ľuďom by kurzy pomohli naučiť/doučiť sa potrebné technológie. Sám som niekoľkokrát neuspel na pohovoroch a nevedel som prečo.

Tretia cieľová skupina môžu byť študenti so znalosťou programovania, ktorí sa chcú dozvedieť aké technológie sa používajú v praxi, aby sa ich mohli naučiť a následne sa zamestnať. Podľa mojich skúseností sa na VŠ web developmentu príliš nevenujú.

Výuka

Výuka bude prebiehať prostredníctvom e-learningovej platformy CoderMania, ktorú vyvíjam práve pre tento účel. Má to byť Ultimátna príručka pre web developera.

Zatiaľ nemám jasno v tom, či chcem robiť kurzy ako e-learning, aby sa ich mohol zúčastniť každý nezávisle na lokalite, alebo budú kurzy prebiehať lokálne. Ideálna by bola kombinácia týchto dvoch spôsobov.

Plán

Viem, že vytvorenie niečoho veľkého je proces, ktorý bude trvať niekoľko mesiacov. Môj plán je stihnúť zrealizovať Web developerskú školu do Októbra 2015.

Na študijnom pláne zatiaľ pracujem.

Cieľ

Cieľom kurzov je zvýšiť počet a kvalitu web developerov.

Po absolvovaní kurzu/školy

Absolventi budú mať vysokú šancu, že sa zamestnajú ako web developeri. Môžu sa zamestnať, alebo si môžu začať realizovať vlastný projekt/nápad (startup).

Motivácia

Prečo to vlastne chcem robiť? Akú mám motiváciu?

  1. Chcem odpovedať headhunterom: “Áno, poznám človeka, ktorému môžem posunúť pracovnú ponuku”.
  2. Mám veľkú potrebu predať svoje skúsenosti ďalej. Nevidím zmysel v tom, aby som programoval pre nejakú firmu. Vidím väčší zmysel v tom, že vytrénujem desiatky, ba možno stovky ďalších programátorov.
  3. Dostatočne kvalifikovaných ľudí v IT je akútny nedostatok. Ak sa s tým nezačne niečo robiť, firmy budú stagnovať. Nebudú môcť vyvíjať nové produkty, lebo ich nebude mať kto vyvíjať.
  4. Chcem vybudovať komunitu začínajúcich programátorov.
  5. Chcem vytrénovať vlastnú armádu programátorov a postupne dobiť svet.

Inšpirácia

Inšpirujú ma chalani z Learn2code, ktorí robia kurzy v Slovenských mestách a už dlhšie plánujú rozbeh v ČR. Dohadovali sme sa, že by som mohol robiť kurz Web designer v Brne, ale zatiaľ sa k tomu nedostalo.

Inšpirovali ma chalani z Truniversity, ktorí robili road trip po Slovensku a učili základy marketingu. Dostal som chuť spraviť niečo podobné, no zatiaľ je to len v štádiu nápadu, pretože sám to nedám.

Jedna z čerstvých inšpirácií je UX Akademie. Je to síce drahé ako prasa (98.850 Kč), ale princíp sa mi veľmi páči. Za rok sa ľudia stanú UX profíkmi vďaka profi lektorom. UX Akademie sa mi tak zapáčila, že som si prečítal blog zakladateľa. Inšpiroval ma a namotivoval spraviť niečo podobné a napísať tento článok.

Možnosti vzdelávania

Človek sa môže učiť aj sám. Ale nikdy sa nenaučí toľko, koľko by sa naučil pri niekom skúsenejšom, kto by ho mohol naviesť  na správnu cestu. Ja som sa učil sám, potom som pracoval vo firme, ktorá robila weby na zákazku. Tam som sa naučil toľko vecí, ktoré by som sa sám len ťažko naučil.

Ďalšia možnosť vzdelávania sú kurzy. Kurzy ale bývajú pre bežných ľudí príliš drahé. Ja osobne by som si nezaplatil niekoľkotisícový kurz, len aby ma tam naučili niečo, čo sa môžem naučiť aj sám, aj keď by mi to trvalo dlhšie. Som toho názoru, že vzdelávanie by malo byť pokiaľ možno zdarma. Na svete je veľa šikovných ľudí, ktorí si nemôžu dovoliť zaplatiť drahé kurzy. Ostáva im len možnosť samoštúdia, ktorá je zdĺhavá.

Osobné kurzy vs. e-learning

Osobné kurzy sú fajn, kontakt žiakov s učiteľom je na nezaplatenie… študenti sa môžu pýtať a okamžite dostávajú odpovede.

Keďže som freelancer, nechcem sa (dlhodobo) viazať na výuku v konkrétnej lokalite. Mám rád svoju voľnosť. Chcem sa zamerať na e-learning. Musím vymyslieť zábavnú a chytľavú formu e-learningu, ktorá by ľudí donútila si k tomu sadnúť na pár hodín týždenne a niečo nové sa naučiť.

Výhoda e-learningu je v tom, že môžem učiť ľudí po celom svete. Zo začiatku aspoň v Česku a na Slovensku. Keby chcem robiť iba osobné kurzy trebárs v Brne, ukrátil by som kamarátov v Dubnici, ktorí sa chcú naučiť programovať.

Keďže ľudí v IT je nedostatok, existuje dosť pracovných pozícií, ktoré sa dajú robiť na diaľku. To je ďalší dôvod prečo chcem robiť výuku formou e-learningu.

Sám to nezvládnem

UX Akademie má veľa lektorov. Sám zakladateľ Berka UX mi ponúkol pomoc s mojim nápadom, za čo som mu vďačný a dúfam, že sa to podarí dotiahnuť do úspešného konca.

Potrebujem lektorov

Potrebujem zohnať lektorov, ktorí by mali čas a chuť učiť ľudí vyvíjať webové aplikácie. Sám môžem učiť HTML, CSS, JavaScript, MongoDB, MySQL, Meteor.js, prípadne základy PHP/Nette.

Potrebujem spoluzakladateľa

Potrebujem nájsť spoluzakladateľa, s ktorým budem vymýšľať osnovu, priebeh kurzov a mnoho iných vecí. Na jedného človeka je toho moc. Predsalen “Ve dvou se to lépe táhne“.  S ideálnym spoluzakladateľom by sme sa mali dopĺňať a zároveň by sme mali mať aj niečo spoločné. Ideálny spoluzakladateľ by sa mal zaujímať o:

  • programovanie a web development (aspoň trochu)
  • marketing
  • startupy

Mal by mať hlavne čas sa projektu venovať. Ak si myslíš, že by si bol pre projekt prínosný, ozvi sa mi cez Facebook, alebo e-mail.

Potrebujem študentov

A samozrejme v neposlednom rade potrebujem zohnať študentov. Ak by ste mali záujem naučiť sa tvoriť webové aplikácie, alebo poznáte niekoho, kto by sa to chcel naučiť, napíšte mi buď na e-mail:  alebo správu na Facebooku. Ak o nikom neviete, pomôžete aj tým, že budete zdieľať tento článok. Nikdy neviete, kto z vaších priateľov by mal záujem vyskúšať niečo nové. Pomôžte mi splniť jeden z mojich životných cieľov: Naučiť aspoň 5 ľudí programovať tak, aby si našli programátorský job.

Ako mi programovanie zmenilo život?

Programovať som sa začal učiť v roku 2008. Prečo a ako som sa začal učiť programovať? Ako mi programovanie zmenilo život?

Nechcem pracovať za minimálnu mzdu

Zmaturoval som v roku 2008 a rozhodoval som sa čo budem robiť ďalej. Nevedel som čo chcem robiť, tak som si našiel brigádu v sklade. Pracoval som v sklade 2 mesiace, 5 dní v týždni, 12 hodín denne. Za minimálnu mzdu. Nebolo to niečo, čo by som chcel robiť do konca života.

Rozmýšľal som čo by som chcel v živote robiť, čo ma bavilo keď som bol dieťa? Mal som rád počítače a počítačové hry. Bol som facscinovaný ako počítače fungujú. Požičal som si knihu o programovaní a začal som sa učiť programovať v jazyku C. Napísal som svoj prvý program “Hello world”, potom som napísal program “Hello Tomas”. Keď som sa naučil trochu viac, bol som schopný napísať program, ktorý sa ma spýtal na meno a vek a vypísal na obrazovku: “Hello Tomas, you are 19 years old”. Bol som užasnutý. Dokázal som si vypýtať informácie, spracovať informácie a poskytnúť informácie.

Chcel som sa naučiť viac o programovaní a počítačoch, tak som si podal prihlášku na vysokú školu. Pripravil som sa na prijímačky a spravil som ich.

Vysokoškolský život

Bol som plný odhodlania. Chcel som sa naučiť čo najviac. Naučil som sa veľa, dokonca veci, ktoré pravdepodobne nikdy nevyužijem. Ale je dobré vedieť viac ako potrebuješ, pretože nikdy nevieš kedy to budeš potrebovať. Vysoká škola mi dala prehľad o rôznych odvetviach a  technológiach.

Bol som v treťom ročníku keď som si povedal: “Dosť! Nebudem sa pokúšať dokončiť skúšku z matematiky, ak neuspejem, vyhodia ma zo školy. Nerozumiem matematike, nechcem jej rozumieť. Chcem sa učiť veci, ktoré mám rád. Mám rád keď ľudia môžu vidieť moju prácu online, rád vyvíjam weby.” Na škole sme sa neučili robiť weby, učili sme sa vyspelé technológie, ktoré používajú staré firmy. Chcel som vytvoriť vlastnú webovú aplikáciu, ktorú môže použiť hocikto na svete. Tak som sa vykašlal na školu a začal som sa učiť zase sám.

Tvorba mojej prvej webovej aplikácie

Už som vedel HTML a CSS a vytvoril som niekoľko webových stránok v PHP a vedel som, že v PHP môžem tiež vytvoriť webové aplikácie. Takže som sa začal učiť PHP poriadne. Nechcel som robiť aplikáciu v čistom PHP, tak som sa začal učiť PHP framework Zend. Bol som schopný vytvoriť moju prvú webovú aplikáciu pre objednávku jedla online za 2-3 mesiace. Bola to hlúpa aplikácia, ale fungovala a naučil som sa veľa. Chcel som tú aplikáciu predať reštauráciam, ale nebol som obchodník. Mal som rád vytváranie aplikácií, nie komunikovanie s ľuďmi. Snažiť sa ľudí presviedčať, že môj systém je pre nich to najlepšie, nebolo pre mňa to pravé orechové. Chcel som vytvoriť ďalšiu aplikáciu a naučiť sa niečo nové.

Chcel som sa naučiť Nette framework, ktorý bol populárny v Čechách. Tak som začal vytvárať novú aplikáciu v Nette nazvanú “Share a ride”. Bola to Facebooková aplikácia, kde ľudia mohli ponúkať miesta v ich aute z miesta A do miesta B. Ľudia tiež mohli vytvárať dopyt, že potrebujú cestovať z miesta A do miesta B. Nebola to krásna aplikácia, ale fungovala. Pár ľudí ju začalo používať. Mohlo ju používať viac ľudí, ale existuje Facebooková skupina “Share a ride”, ktorá ľuďom stačí a nechceli používať “Share a ride” aplikáciu. Opäť, nechcelo sa mi presviedčať ľudí, aby použili moju aplikáciu. Vytvoril som ju pretože som si myslel, že bude lepšia ako tá skupina a chcel som sa naučiť Nette. Vďaka tejto aplikácii som dostal prvú pracovnú ponuku. Kamarát môjho kamaráta uvidel Share a ride aplikáciu a spýtal sa ma, či by som chcel robiť v jeho firme. Prečo nie? Tak som začal pracovať v jeho firme.

Práca na voľnej nohe

Za rok pracovania vo web developerskej firme som sa naučil veľa. Chcel som skúsiť pracovať na voľnej nohe (freelance) z domu. Práca z domu bola mojím snom. Podarilo sa mi nájsť svoju prvú zákazku. Bol to 2 roky starý projekt napísaný v Nette. Kód bol hnusný a dokázal som pracovať na tom projekte pol roka. Potom som sebe a svojmu šéfovi povedal “STOP!”. Už viac nezvládam túto šialenosť. Bol som frustrovaný tým projektom. Tak som na ňom prestal pracovať a chcel som znova robiť na svojich projektoch.

Mal som nápad na aplikáciu menom “Seenist” – aplikácia, kde si môžete vytvoriť zoznam kapiel, ktoré ste videli naživo. Seenist bol online po 2 mesiacoch vývoja. Chcel som sa naučiť znovu niečo nové, tak som Seenist vytvoril v Meteor.js. A zase, aplikáciu nepoužívalo veľa ľudí. Zistil som, že je to docela neužitočná aplikácia pre väčšinu ľudí. Ale bola užitočná pre mňa a pre pár ostatných ľudí. Došli mi nápady, tak som začal pracovať pre startup.

Našiel som jeden startup v Brne a pripojil sa k nemu. Vytvárali sme startup od piky. Bol to nový druh zľavového portálu podobný Droptilyoushop. Po 4 mesiacoch vývoja a 2 mesiacoch čakania na schválenie platobnej brány sme mohli konečne spustiť projekt. Spustili sme ho a zlyhali sme. Mali sme programátorov a obchodníkov v tíme, ale ani jeden z nás nevedel marketing. Zlyhali sme na získavaní zákazníkov.

Po práci v neúspešnom startupe som potreboval zarobiť nejaké peniaze. Našiel som si zákazku v Meteor.js. Po zarobení dostatku peňazí som mohol začať nový projekt. Mal som veľkú potrebu učiť ľudí programovať. Urobil som pár osobných programátorských kurzov, kde som použil Jsfiddle pre príklady a cvičenia. Jsfiddle bol fajn, ale potreboval som miesto, kde by som mohol vidieť kód študentov. Tak som začal pracovať na CoderManii – e-learningovej platforme pre výuku JavaScriptu a neskôr HTML & CSS. CoderManiu som použil na mojich kurzoch a väčšina študentov bola schopná prejsť cez lekcie rýchlo a bez mojej pomoci. Bol som veľmi prekvapený keď som uvidel ich pokrok. Myslím, že CoderMania pomáha študentom pochopiť kód rýchlo. Vytváranie niečoho, čo môže mať dopad na to, ako sa ľudia učia kódiť je veľmi vzrušujúce a motivujúce.

Menenie sveta

Programátori majú neskutočnú moc. Vytvárajú z ničoho niečo. Sú ako bohovia. Vytvárajú niečo, čo môže zmeniť svet.

Nauč sa programovať aj ty

Veľa ľudí si myslí, že programovanie je zložité a že musia mať nejakú špeciálnu zručnosť, aby sa naučili programovať. V skutočnosti stačí vedieť základy matematiky a logiky. Programovať sa môžeš začať učiť už dnes a ak ťa to bude baviť, môžeš vytvoriť svoj prvý projekt a nájsť si poriadne ohodnotenú prácu. Alebo môžeš vytvoriť projekt a zarábať na ňom.

Ako mi programovanie zmenilo život?

Môžem robiť to, čo ma baví a dostávať za to slušné peniaze. Ako freelancer môžem pracovať hocikedy, hocikoľko, na hocijakom mieste na svete, na akomkoľvek projekte, ktorý sa mi páči. Môžem si realizovať každý svoj nápad. Žijem si svoj sen a ty by si mal tiež!

Programovanie pre neprogramátorov – JavaScript prakticky

Ak vás doteraz teória nebavila, možno vás bude baviť JavaScript prakticky. A možno sa ho prakticky rýchlejšie naučíte keď si ho budete môcť vyskúšať.

Ak máte Google Chrome, ste za vodou. Ak máte Firefox, nainštalujte si Firebug. Ak máte iný prehliadač, stiahnite si Chrome alebo Firefox. Ak máte všetko hotovo, zmačknite klávesu F12, objaví sa vám developerská konzola:

firebug-img

Skúste do konzoly napísať “Ahoj” aj s uvodzovkami (Je to String) a stlačte enter. Môžete skúsiť matematické operácie 5 + 2 – 3, 3 * 4, 6 / 2. Vyskúšajte jeden dlhší príklad: 1 + 2 * 3 / 6 – 4. Platia matematické pravidlá zo základnej školy. Najskôr sa vyhodnotí násobenie a delenie, potom plus a mínus. Takisto mínus mínus dáva plus: -1 – -5.

Definujme si premennú name (v konzoli):

var name = 'Tomas';

Hodnotu premennej name vypíšeme v konzoli jednoducho:

name //vypíše "Tomas"

Takto môžeme zisťovať hodnoty všetkých definovaných premenných.

Určite na vás niekedy vyskočilo také otravné chybové okienko:

alert('ahoj');

Sranda, však? Môžete napísať viacero alertov za sebou:

alert('ahoj');alert('Nazdar!');

V konzoli môžete skúšať naozaj hocičo. Ako ale vytvoriť reálny skript, ktorý môžem niekomu poslať? Vytvorte si súbor s názvom index.html do súboru napíšte nasledujúce:

<script>// <![CDATA[
&nbsp;&nbsp;alert('Ahoj, ja som skript');
// ]]></script>

A tento súbor otvorte v prehliadači. Ak súbor nejde otvoriť klasicky, klikni na pravé tlačítko myši, vyber z menu “otvoriť čím” a vyber Firefox alebo Chrome. Všetko, čo je medzi <script> a </script> je považované za JavaScript. Skúste si do vašeho skriptu napísať:

console.log('Ahoj, toto sa zobrazí v konzoli');
console.log('2 + 4 = ', 2 + 4);

Stlačte F5 (refresh) a uvidíte výsledok v konzoli. Konzolu zapnete/vypnete slačením klávesy F12. Po každej zmene skriptu je treba stlačiť F5 alebo refresh prehliadača. Na výpis do HTML dokumentu použite funkciu document.write:

document.write('Ahoj, toto sa zobrazí v HTML dokumente');
document.write('2 + 4 = ', 2 + 4);

Ops, všetko je na jednom riadku a pravdepodobne vám nefunguje diakritika. Nevadí, diakritikou sa teraz nebudeme zaoberať. Medzi jednotlivé riadky pridáme HTML značku <br />, ktorá nám pridá nový riadok.

document.write('Ahoj, toto sa zobrazí v HTML dokumente');
document.write('');
document.write('2 + 4 = ', 2 + 4);

Ok, vieme písať do HTML dokumentu pomocou JavaScriptu a vieme odriadkovať. Teraz si napíšeme skript, ktorý bol medzi mojimi prvými:

for (var i = 1; i <= 30; i++) {
&nbsp;&nbsp;document.write('Ahoj');
}

V príklade vyššie je už aj trochu HTML a CSS. Inak to nepôjde, budete sa musieť naučiť aj HTML a CSS. Čo ten skript robí? Jednoducho použijeme cyklus for a vypíšeme 30x Ahoj, okrem toho nastavíme veľkosť písma cez CSS pre každý riadok podľa hodnoty i (1 – 30). Skúste stránku scrollovať dole a hore. Pekné však?

Kde všade sa používa JavaScript?

Všade. Naozaj. Facebook používa JavaScript, Google používa JavaScript, všetci používajú JavaScript. Viac o tom kde, ako a prečo sa používa JavaScript by bolo na samostatný článok. Tu vám iba ukážem čo všetko sa dá vytvoriť pomocou JavaScriptu, HTML a CSS:

Čo ďalej?

Keď sa chcete programovaniu webových aplikácií venovať ďalej, musíte sa naučiť poriadne JavaScript, HTML, CSS a angličtinu. Bez nich sa ďalej nepohnete. A ešte je dobré vedieť používať Google pre hľadanie informácií, budete to určite potrebovať.

Viac o JavaScripte sa dočítate na w3schools (anglicky) kde nájdete aj veľa praktických príkladov alebo na jakpsatweb.cz (česky). V oboch zdrojoch nájdete aj HTML a CSS.

Môžete skúsiť aj Codecademy.

Ak ste to dočítali až sem, môžete si vyskúšať CodeCombat. Hra, pri ktorej sa naučíte programovať a programátorsky premýšľať. Prešiel som si pár levelov a je to super. Hra vás núti premýšľať a zároveň je to zábava. Klobúk dole pred tvorcami CodeCombat.

Pozrite si videá web developerskej školy:

Programovanie pre neprogramátorov – 4. lekcia

Blížime sa ku koncu základov programovania. Ostáva nám naučiť sa čo sú funkcie a objekty. V ďalšej lekcii si ukážeme už aj praktické využitie JavaScriptu. Tešíte sa?

Funkcie

Funkcia vo veľa programovacích jazykoch vyzerá takto:

//definícia funkcie
function addition(a, b) {
  return a + b;
}

//zavolanie funkcie
var additionResult = addition(5, 2); // 7

Definícia funkcie začína kľúčovým slovom “function“, nasleduje názov funkcie a jej parametre v zátvorke oddelené čiarkou. Funkcia môže mať ľubovoľný počet parametrov. Aj nula. Parametre môžu mať ľubovoľný názov. Kľučové slovo return vracia výsledok/hodnotu funkcie. Existujú funkcie bez return, ktoré zvyčajnie niečo vykresľujú alebo robia iné výpočty. Samotné definovanie funkcie nerobí nič, musíme ju zavolať. Funkciu zavoláme tak, že napíšeme jej názov a v zátvorke jej predáme parametre. Nesmieme zabudnúť na ukončenie príkazu stredníkom ; Všimnite si, že za definíciou funkcie nemusí byť stredník. Hodnotu, ktorú vráti funkcia môžeme uložiť do premennej, alebo s ňou inak pracovať.

Načo sú dobré funkcie? Funkcie sa používajú keď potrebujeme ten istý kód spustiť viackrát. Napríklad nasledujúca funkcia toCelsius, môžeme ju použiť na viacerých miestach a nepotrebujeme si tak pamätať vzorec:

function toCelsius(fahrenheit) {
  return (5/9) * (fahrenheit - 32);
}

//Niekde chceme previesť 90 stupňov
var temp90 = toCelsius(90);

//Niekde inde chceme previesť 60 stupňov
var temp60 = toCelsius(60);

Objekty

Na http://www.w3schools.com/js/js_objects.asp sú objekty pekne vysvetlené aj s obrázkom. Ja sa ich pokúsim vysvetliť bez obrázku.

var person = {
  firstName: "John",
  lastName: "Doe",
  age:50,
  getFullName: function() {
    return this.firstName + ' ' + this.lastName;
  }
};

console.log(person.firstName); //John
console.log(person.getFullName()); //John Doe

Vytvorili sme objekt s názvom person, ktorý má niekoľko atribútov. Medzi atribútmi je aj funkcia getFullName(), ktorá po zavolaní person.getFullName() vypíše “John Doe”. Všimnite si, že atribútom priraďujeme hodnotu dvojbodkou, nie rovná sa. Vo funkcii getFullName používame kľúčové slovo this. This znamená, tento objekt. This.firstName nám vráti hodnotu atribútu firstName daného objektu.

Pomocou objektov môžeme simulovať objekty reálneho sveta. Každý objekt má nejaký atribút a môže obsahovať aj funkcie.

var car = {}; //definujeme prázdny objekt
car.name = 'Porsche'; //postupne objektu pridávame atribúty
car.color = 'red';
car.getNameAndColor = function() {
  return  this.color + ' ' + this.name;
};

Môžeme definovať aj prázdny objekt “{}”, ktorý nemá žiadne atribúty a neskôr mu môžme atribúty pridať. Z hľadiska výkonu kódu sa to ale nevyplatí. A je dobré vopred poznať štruktúru objektu.

var car = {
  name: null, //null je prazdna hodnota
  color: null,
  getColorAndName: function() {
    return this.color + ' ' + this.name;
  }
};

console.log(car.getColorAndName()); //null null
car.name = 'Porsche';
car.color = 'red';
console.log(car.getColorAndName()); //red Porsche

Problematika objektov je široká, nám zatiaľ stačia základy. Viac o objektoch sa dočítate na w3schools alebo na Mozilla Developer Network.

Cvičenie

Funkcie: http://jsfiddle.net/elfoslav/3gwd3xa5/
Objekty: http://jsfiddle.net/elfoslav/xt227wtb/

Ako odovzdávať cvičenia? Keď sa ti zobrazí stránka s cvičením, klikni v hornom menu na “Fork”. To vytvorí tvoju kópiu cvičenia. Keď budeš chcieť spustiť kód, klikni v hornom menu na “Run”. Keď budeš mať cvičenie hotové, klikni na “Update”, to uloží tvoje cvičenie. Potom už len skopíruješ link cvičenia a odošleš mi ho do mailu. Ja ti cvičenie skontrolujem a oznámkujem.

Prihlásiť sa k odberu noviniek o programovaní

* povinné pole



Chcem dostávať novinky o: