A programozás mint képesség elsajátítása nem jön csak úgy magától. Megfelelő mennyiségű munkát kell beletenni. Ha munka nélkül csak úgy magától egy programozó képzés elvégzése garantálná a programozói képesség elsajátítását, a lakosság jelentős része ma programozó lenne. Hiszen ki ne szeretne egy kényelmes irodában vagy otthon kockázatmentesen sok pénzt keresni? A piaci igény hiányában túlképzetté vált diplomások, útépítők, árufeltöltők, az életüket kockáztató munkások mind átképeznék magukat.
A valós helyzet az, hogy egy programozó képzés elvégzése önmagában ritkán elég ahhoz, hogy egy sikeres programozói karriert indíts. Vizsgáljuk most meg, hogy mi szükséges ahhoz, hogy sikeresen vedd az akadályokat.
1. Tiszta célkitűzés
Fontos tisztáznod magadban, hogy miért jelentkeztél programozónak. Ha csak egy gyors meggazdagodási lehetőséget látsz a programozásban, akkor javasoljuk, hogy keress egy másik pénzkereseti módot.
Ha hosszútávon elköteleződsz, akkor jobban fog menni a tanulás is. Anders Ericsson a Peak című könyvében leírta, hogy a csúcsteljesítőkre jellemző elmélyült munka hatékonyságát jelentősen növeli az elkötelezettség. A hangszeren játszani tanuló gyerekek közül lényegesen jobb eredményt értek el azok, akik tíz-húsz évre köteleződtek el.
Akár elköteleződsz, akár nem, számos nehézséggel fogsz találkozni. Ha nem köteleződsz el, akkor a nehézségeket nehezebben viseled, majd végül könnyebben feladod az egészet.
Éppen ezért jelentős előny lehet, ha elgondolkodsz, hogy miért fontos neked a programozás tanulása. Mit ad neked a programozás?
Amint megvan a miérted, rátérhetünk a második pontra. Ez a pont biztosítja, hogy az álomból valóság legyen.
2. Reális elvárások a programozó képzés irányában
Főleg az Egyesült Államokban elterjedt az a hozzáállás, hogy a tananyagon elég végigmenni. Ezt a magyar egyetemeken is láttuk: sokan úgy gondolják, hogy a tananyag elsajátításának a jutalma ötös. Régen számos professzor osztályzott úgy, hogy a követelmények elsajátítása az elégséges vagy közepes teljesítmény. Ez a minimum elvárás. Ötöst kapni nagyon nehéz, és hatalmas kiváltságot jelent. Ötöst kapni annyit jelent, hogy kiemelkedik a teljesítményed.
Napjainkban viszont sok éltanuló is úgy gondolkodik, hogy az ötös jár neki. Sokan úgy gondolkodnak, hogy a diploma megszerzése feljogosítja őket egy kiváló állásra. Mi is beleestünk annak idején ezekbe a csapdába a diplománk megszerzése előtt.
Számos programozó képzés tanulói szintén csodát várnak. Sokan az anyagon való végigmenetel jogán úgy érzik, hogy jár nekik az állás. Néhányan csak a konzultációkon való részvétel jogán gondolják úgy, hogy valahogy a fejükbe fog vándorolni a tudás.
A programozóvá válásban ezek a tényezők az időd 10%-át kellene, hogy kitegyék. Hatékonyságban lehet, hogy a fejlődésed 40-50%-át a konzultációknak és a tananyagoknak köszönheted. Ez viszont csak akkor lehetséges, ha megfelelően állsz hozzá a tanuláshoz. Erről szól a következő pont.
3. Több tréning, kevesebb tanulás
A programozó képzés nem véletlenül végződik képzéssel és nem tanfolyammal. A tanfolyam a programozó képzés egy része, de a csomagban rengeteg más értékes eszköz megtalálható. Gyakori tévhit, hogy elég a tananyagokon végigmenni. Sok bootcamp a piacról veszi a tanfolyamait. Legyen a szolgáltató az EdX, Coursera, Udemy, vagy más szolgáltató, ezek a tanfolyamok gyakran mérsékelt összegért cserébe vagy teljesen ingyen elérhetők. Ezzel nincs semmi gond, mert az angol tanfolyamon sem saját anyagból tanítanak az oktatók, hanem egy jó minőségű, számos iskolában letesztelt tankönyvből.
Néhány bootcamp saját tanfolyamokat és anyagokat fejleszt és frissít a piaci igényeknek megfelelően. Ennek megvannak az előnyei és a hátrányai, de megfelelő kivitelezés mellett minőségben nincs számottevő különbség a két megközelítés között.
Egy közös tényező van a két megközelítésben: az anyagok értéke elég alacsony. Tegyük fel, hogy a tanfolyamok önmagukban megvásárolhatók százezer forintból. Maga a bootcamp viszont másfélmillió forintba kerül. Érezhető, hogy a szolgáltatásban az érték máshol van.
Lássunk egy példát. Megvásárolhatod a Modern JavaScript a Gyakorlatban című könyvünket egy-két kávé áráért cserébe. Ebben rengeteg információ van, feladatokkal, megoldásokkal, és tényleg rengeteget tanulhatsz belőle.
Akár írott anyagot, akár videót veszel, van egy ennél magasabb szint: például a közösséghez való tartozás, az élő webinárok, és a privát oktatás.
A közösséghez való tartozás már rákényszerít téged arra, hogy haladj. Amikor te feladnád, mert túl nehéz az anyag, extra motivációt merítesz abból, hogy más hasonló cipőben járó tanuló veled együtt megy végig a programon.
Ez az extra löket a felelősségvállalás, angolul taking responsibility. Elsősorban külföldön elterjedt az Accountability csoport fogalma. Az account szó számlát jelent. Az accountable az elszámoltathatót. Az accountability pedig elszámoltathatóságot, felelősségre vonhatóságot. Miért fontos ez? Mert az emberi agy nem a modern életre termett.
Az agyunk a vadonban szolgálja a túlélésünket, és éppen ezért egyben segít is nekünk minimalizálni az erőfeszítéseinket. Az evolúció nem tanított meg minket a késleltetett jutalmazás felismerésére. Ugyanakkor az emberi agy szociális, ami azt jelenti, hogy egy nagyobb célt csoportban könnyebben érünk el, mint egyedül. Ha az emberek nem tudnának együttműködni, nem emelkedtek volna ki civilizációk az állatvilágból, hanem még ma is vadásznánk és barlangokban élnénk.
Az accountability és a csoport támogató ereje segít végigmenni a programon.
A privát oktatáson belül tudsz a leggyorsabban fejlődni, mert az oktatás sebessége személyre szabott. A csoportos oktatáson belül az oktató egy csapattal foglalkozik, és bárkinek a kérdését válaszolja meg, maga az üzenet az egész csapatnak megy. Így könnyen tanulhatsz mások kérdéseiből.
Ha alaposan felkészülsz, sokat profitálsz a csoportos alkalmakból és a privát oktatásból is. Elképzelhető, hogy két napot szenvedsz egy hibával. Odaviszed a programot az oktatóhoz, aki fél órán belük nemcsak a problémádat oldja meg, de egyben felhívja három másik hibára is az okot a programodban. Ezeketről a hibákról addig nem is tudtál, így hibásan tanultad volna meg őket. Ez a csoportos tanulás lényege.
Online közösségekben, fórumokon, Discord, Slack, vagy Facebook közösségeken más tanulókkal cserélhetsz tapasztalatot, sőt oktatóktól is kérdezhetsz. Ez egy hatalmas érték, mert sokszor egyetlen válasszal órákat, napokat, heteket spórolhatnak meg neked. Egyetlen válasz ugyanis elég arra, hogy a hibás útról egy helyesebb útra tereljenek.
Minél személyre szabottabb a programozó képzés, annál többe kerül. Ugyanakkor megvan az oktatásnak az a veszélye, mint az autó vezetésnek. A forgalomban semmi szükség nincs Formula-1-es technikára, mert rengeteg erőforrást pazarolsz el vele. Ha egy bootcampben az online tananyagokat tartod értékesnek és nem élsz a személyes vagy csoportos foglalkozások nyújtotta előnyökkel, akkor hasonlóképp pazarolsz, mintha egy versenyautóval próbálnál a városi dugóban munkába menni.
Ahhoz, hogy élni tudj a programozó képzés nyújtotta előnyökkel, túl kell lépned a tanuláson. A képességek fejlesztéséhez tréningre van szükség. Programokat kell írnod. A tananyagot tovább kell gondolnod, és a gyakorlatban olyan feladatokat kell megoldanod, amelyekhez a tréning csak az alapokat adja meg.
A munkahelyen sem csak tanulsz, hanem valós feladatokat oldasz meg. Projekteket kapsz, és a munkaadódat nem fogja érdekelni, hogy ezekhez a projektekhez milyen tananyagot használsz. A lényeg, hogy eljuss a megoldásig. Ez az út pedig lényegesen több tapasztalattal ruház fel téged, mint maga a tananyag.
Ha a tananyagokra koncentrálsz és nem használod fel ezeket az anyagokat arra, hogy minél jobb minőségű projekteket építs, lassan fogsz haladni. Hiszen csak azt tanulod meg, hogy hogyan kövesd mások utasításait. A munkahelyeden pedig nem kapsz mindenre kész megoldást, amit követni tudsz.
A tréning a tanulás felett megközelítésben sokat segítenek a mentorok, akik olyan kérdésekben is utat tudnak neked mutatni, amelyek nincsenek benne a tananyagban. Ehhez viszont le kell térned a tananyag ösvényéről.
4. Elmélyült munka a programozó képzés során
A haladáshoz tehát gyakorlással töltött időre van szükség. A tanulás csak arra elég, hogy az alapokat megadja neked. Ez kicsit olyan, mint a legózás. Kapsz egy kis könyvet, amelyben van egy útmutató. Semmit nem érsz azzal, ha lapozgatod az útmutatót és megtanulod a lépéseket. A gyakorlat megszerzéséhez építkezned kell. Sőt, az építőelemekből mást is fel tudsz építeni, nem kell egy adott útmutatót követned.
Az elmélyült gyakorláshoz idő kell. Gyakori hiba, hogy a tanulók túlbecsülik a rendelkezésükre álló időt vagy energiát.
Kezdjük az idővel. Egy héten 168 óra áll rendelkezésedre. Tervezd meg, hogy hány órád megy el fix tevékenységekre, mint pl. munka, alvás, utazás, étkezés, családi élet. Végül nézd meg, hogy mennyi szabadidőd marad. Sokan mondják, hogy „no problem, megvan a heti húsz órám”. Aztán amint megkérdezem, hogy beleszámolták-e a felébredés utáni rutint, higéniát, utazást, bevásárlást, kiderül, hogy nem. Sőt a legnagyobb tényező sokszor a semmittevés. Erre később visszatérünk.
Amint megvagy az időbeosztásoddal, a következő legalább egy, de inkább két-három héten mérd meg, hogy mire megy el az időd. Jó eséllyel meg fogsz lepődni.
Végül hasonlítsd össze a mérésed eredményét a terveddel. Mindjárt látni fogod, hogy hol megy el az idő.
Halogatni, szervezetlennek lenni emberi dolog, nekünk is becsúszik néhány ilyen nap. Itt a tudatosság rengeteget segít. Ha tudod, hogy miért is akarsz annyira programozóvá válni, akkor látni fogod, hogy egyre többször választod majd a Facebook helyett a programozást. Sőt, kevesebb ingert fogsz érezni arra, hogy egy kisebb nehézség után felmenj a Facebookra. Ezáltal több időt tudsz elmélyült munkával tölteni és gyorsabban fejlődsz.
Sokszor megszokásból végzünk olyan tevékenységeket, amelyekre kevesebb szükség van, mint a programozási képesség fejlesztésére. Ezen is a tudatosság és a célod szem előtt tartása segít. Mert akkor könnyebb nemet mondani az autószerelés tanfolyamra vagy a heti számmisztikai elemzéses összejövetelre, ha tudod, hogy programozni akarsz tanulni helyette. Dobd ki a szemetet és szabadíts fel időt.
Egy tevékenységcsoportot viszont mindenképp hagyj meg a napi rutinodban: minden, ami a fenntartható haladást segíti, maradjon meg. Ilyen a napi megfelelő mennyiségű alvás, a meditáció, az egészséges étkezés, és az egészséged megőrzéséhez szükséges testmozgás.
A programozás tanulása olyan, mint egy maraton. Ha elég energiád van, nincs szükséged akaraterőre a haladás fenntartásához. Ha nincs elég energiád, az akaraterőd egy ideig fenntartja a haladás látszatát, de végül az is elfogy. Ilyenkor szokás feladni az egészet.
Ha elég időd és energiád van, akkor maximalizálod az esélyét annak, hogy fenntartható módon fogsz haladni a programozó képzés során.
5. Nincs kifogás
Ha elvégezted a házi feladatod, akkor tudod, hogy miért tanulsz programozást, tudod, hogy hogyan tanulsz programozást, reálisak az elvárásaid magaddal szemben, és fenntartható módon haladsz.
Ha ez megvan, akkor beszélhetünk komolyabb dolgokról is. A leendő munkaadóidat vagy ügyfeleidet nem fogja érdekelni sok dolog. Ilyen például az élethelyzeted, a nehézségeid, a családi problémák, a vészhelyzetek, amelyeket kezelned kell.
Az életünkben gyakran történnek dolgok. Ez teljesen normális, és én az időbeosztásomban erre elteszek heti legalább 4-5 órát. Ezt gyakran munkával töltöm, de inkább felkészülök a legrosszabbra, minthogy hamis elvárásokat támasszak magammal szemben.
Ha a projektfeladatot nem adod be időre, az egy időmenedzsmentbeli probléma. Túl kell tervezned a rendelkezésedre álló időt, és hamarabb érdemes a projektnek nekikezdeni, mint amit a legtöbben megszoktak.
A nyolcvanas években még elterjedt volt az orosz tanulás. Számos orosz tanár arra lett figyelmes, hogy az első hónapban kongott a tanterem az ürességtől. Az első hónap végén így megkérdezték a tanulókat, hogy miért volt ennyi hiányzás. A tanulók így válaszoltak: „Kivettük az összes szabadnapunkat amint lehetett, így ezt már nem vehetik el tőlünk. Most meg itt vagyunk és kényszerítjük magunkat a tanulásra, mert úgysincs más választásunk, hiszen a szabadnap gondolatát is elfelejthetjük”.
Az emberi elme pont így működik. Az azonnali jutalmat keresi. Az azonnali jutalom ára viszont hosszú távon a fájdalom.
6. Nyitottság
Egyszer egy mentorom feltette nekem a következő kérdést: „Mije van egy sikertelen embernek?”. Elsőre nem értettem a kérdést, így visszakérdeztem, mire gondolsz? Aki sikertelen, az általában nem cselekedett, lemaradt, lemorzsolódott, gondoltam.
A mentorom viszont számos példát hozott elő, ahol a sikertelen emberek a mentorukkal vitatkoztak, amíg a mentor meg nem elégeli őket és elválnak útjaik. Ekkor a sikertelen tanuló tovább bizonygatja az igazát, még akkor is, amikor a hajó már elment.
Így megtanultam, hogy a „Mije van egy sikertelen embernek?” kérdésre a valóságot helyesen leíró válasz az „Igaza”.
Ha sikeres szeretnél lenni az életben, vitatkozz kevesebbet azokkal, akik előtted járnak. Ha hallgatsz másokra, akkor tanulsz. Ha vitatkozol, akkor tanítasz. Ha befizetsz egy tanfolyamra, elképzelhető, hogy azért fizetsz, hogy tanulj, tehát egyértelmű, hogy nincs sok értelme vitatkozni.
Természetesen vannak kivételek, hiszen jelezned kell, ha egy magyarázat után sem érted, hogy miről van szó. Ebből az oktatók leszűrik, hogy más módszerre van szükség az esetedben. Ez viszont nem vitatkozás, nem az igazadat bizonyítod, hanem segítséget kérsz.
Ugyanígy tanulhatsz a visszajelzésekből ahelyett, hogy vitatkoznál velük. Ha az oktató értékeli a munkádat és kéri, hogy javítsd a feladatodat majd add be újra, valójában jót akar neked, mert visszajelzésből tanulhatsz is. Ha vitatkozol, nem fogadod be a visszajelzést, és az egésznek semmi értelme nincs.
Végül pedig fontos, hogy akármilyen élethelyzetben vagy, nem vagy áldozat. Aki áldozat szerepbe helyezi magát, az veszít. A haladáshoz elengedhetetlen, hogy nyitott legyél arra, hogy még nem tudsz dolgokat, de haladsz az utadon.
Ahhoz, hogy bizonyítsd, hogy nem vagy áldozat, a legjobb mód, hogy kitöltöd az oldalunkon a „Lehet belőlem is programozó?” című tesztet, majd követed a pontszámod fejlesztéséhez szükséges útmutatónkat. Látni fogod, hogy a kifogásaid egytől egyig el fognak fogyni, és a kifogások helyett haladni fogsz.
Amint megérsz arra, hogy felgyorsítsd a haladásod, jelentkezz a képzéseinkre, és amint elindul egy új csoport, elindulhatsz a programozóvá válás útján. Addig is ingyenes anyagainkat követve gyakorolhatod a programozóvá váláshoz szükséges képességeket.