Archívy kategórie: CoderMania

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.