Interjú Döme Kázmérral, aki bölcsészből lett Senior Fejlesztő és mentor. Illés Anikó írása.

Döme Kázmér kollégámmal beszélgettem a minap, aki főállásban Senior JavaScript-fejlesztő és Devops szakember, mellékállásban pedig programozást tanít, pontosabban egy full stack webfejlesztő-képzés mentora. A szerepköreit illetően csak kettő szót nem értettem, azt, hogy mi a “devops” és a “full stack”.

Döme Kázmér

Anikó: Kázmér, elmagyarázod nekem, mit jelent a devops?

Kázmér: A devops egy viszonylag új kifejezés, ami egyszerre jelöl egy összetett feladatkört és szemléletet. Ebben a munkakörben a programozás-fejlesztés éppúgy szerepet játszik mint a szerveroldali üzemeltetés, vagy épp a szoftver infrastrukturális kiépítése. Emellett nagy hangsúlyt kap az automatizáció is. Egy jó Devops szakember egyszerre tudja segíteni a programozó kollégái mindennapi munkáját, és tartja egyben a szervereket, szoftvereket minden szemszögből.

Jelenleg két fő programozási nyelvet használok a napi munkám során: ezek a Javascript és a GO nyelvek. Emellett számtalan kisebb úgynevezett scriptnyelvet, illetve különböző frameworkoket, libraryket, segédprogramokat kell ismerned ahhoz, hogy hatékonyan tudd végezni a munkád (bash, groovy, react, nodejs, stb.).

Anikó: Két helyen is helytállsz, mennyit dolgozol egy héten? 

Kázmér: A 40 órás főállásom mellett a mentorkodás minimum heti 4, maximum heti 16 órát vesz igenybe.

Anikó: Mesélsz arról, hogy jött a programozás az életedbe? 

Kázmér: Elég kacifántos karrierutat jártam be. A logikai érzékem már általános iskolában felszínre került, igy hamar külön szakkörökön találtam magam, és ezeken találkoztam először a programozással.

Ezt követően műszaki szakközépbe jártam elektrotechnikára, itt alapszinten foglalkoztunk programozással, de főleg az elektrotechnika volt a domináns. Ám itt hamar rájöttem, hogy ez a szakma nagyon távol áll tőlem, és tudtam, hogy érettségit követően mással szeretnék foglalkozni. Az ötlet, hogy főiskolára jelentkezzek, a történelem- és magyartanáraimtól jött, jó voltam humán tárgyakból, és hallani sem akartam még több műszaki irányról, igy adta magát, hogy kipróbáljak valami teljesen újat, ez lett az andragógia.

A fősuli elvégzése után próbálkoztam a szakmában való elhelyezkedéssel, de gyorsan rájöttem, hogy semmi értelme nincs ennek, szóval megint egy új területen, egy privát banki szereplőnél helyezkedtem el mint értékesítő.

Anikó: Pontosan minek nem volt értelme?

Kázmér: Egy olyan szakmát megtanulni, amit azért írnak ki az egyetemek, mert kapnak rá támogatást, de nincs valós felvevőpiaca. Nevezhetjük büfészaknak is. Rájöttem, hogy az andragógiával nem tudok mit kezdeni, nem láttam benne semmilyen szakmailag vagy anyagilag bejárható karrierívet, ezért a masterdiplomát félbehagyva otthagytam.

A privát banknál volt egy belső szoftverfejlesztési projekt, ahol volt alkalmam konzulensként részt venni a termékfejlesztésben (a sales-es, aki elmagyarázza a programozóknak, hogy mit hogy használunk). A programozókkal folytatott közös munka során döbbentem rá, hogy a programozás nem valami távoli misztikus tudomány, hanem megtanulható dolog.

Addig ugyanis úgy gondoltam a programozókra, mint mondjuk a sebészekre, egy válogatottan tehetséges, magasan képzett kasztra, akik egy átlagember számára elérhetetlen dolgokat visznek végbe nap mint nap, és akiknek én soha nem tudok a szintjére lépni.

Sales-esként sok időm volt az ügyfelezés mellett, és ettől a felismeréstől kezdve tudtam, hogy mire akarom felhasználni ezt: tanulásra.

Anikó: Ha jól értem, az volt a fordulópont, hogy a belső termékfejlesztő csapat emberi arcot adott ehhez a kívülről nehezen megfogható szakmához.

Kázmér: Pontosan, és amint megtörtént bennem ez a felismerés, elkezdtem nagyon nagy erőkkel képezni magam. Minden energiám beleraktam a programozásba.

Volt olyan, hogy napi 10-14 órát foglalkoztam vele. Mindez abban az időkben volt, amikor nem voltak bootcampek, és nehezebben voltak elérhetőek az anyagok.

Nem lehettem biztos benne, hogy nekem való a programozás, de szerencsére hamar visszajöttek a gyerekkori emlékek, érzések, és az egész tanulási folyamat olyan flow-t alakított ki bennem, ami teljesen függővé tett. Ez a mai napig is tart.

Anikó: Mivel kezdted az önfejlesztést?

Kázmér: Vizuális típus révén, nekem a látványos weboldalak különböző designmegoldásainak részletes megismerése volt az első lépés. Tudni akartam, hogy az Apple weboldalát hogyan tudnám megcsinálni notepadból, mert hallottam, hogy a ‘profik’ abban dolgoznak.

Anikó: Igen, az átlagember számára talán a weboldalak a leginkább megfogható output-ja a programozásnak.

Kázmér: Igen, mi is a a Braining Hubnál ezzel a résszel ismertetjük meg a diákjainkat először, vagyis a HTML és CSS nyelvekkel. Ezekről pár mondatban annyit érdemes tudni, hogy leíró nyelvek, és mindenki, aki böngészik az interneten, 99%-ban ezt látja valójában, amikor a böngésző ablakot nézi.

Bár nagyon szép szakma a sitebuild (az a pozíció, ami szinte kizárólagosan csak HTML- és CSS-kódolásról szól), rögtön tudtam, hogy nem akarok itt megállni. Ezen a ponton már tudtam, hogy hogyan lehet nagyon szép weboldalakat készíteni, de több kérdésem lett, mint amennyi előtte volt, így hát haladtam tovabb. Tudni akartam, egyes oldalakon miért mozognak bizonyos elemek, honnan tudjak egyes weboldalak, hogy mikor kattintom le az egeret, vagy egyáltalán hova tudom feltölteni az általam készített weboldalakat.

Javascript-tel, illetve PHP-vel folytattam a tanulást. Ezek a már ‘teljes értékű’, dinamikus programozási nyelvek sokkal jobban tetszettek. Ezek tanulásánál éreztem azt, hogy minden összeér, vagyis ez az eszköz, ahol a kreativitásomat és alkotási vágyamat a leginkább ki tudom élni. A PHP-t sosem szerettem, úgy gondoltam, hogy nem előremutató nyelv (persze ez inkább hitkérdés), így egy akkoriban újnak számító technológia mellett köteleződtem el: a NodeJS később jó döntésnek bizonyult, hiszen ma már a legnagyobb cégek közül is jó néhányan átálltak erre a technológiára (a server side runtime environment-re.)

A programozás egy olyan szakma, amelynek a tanulási ívét leginkább egy rétegekből álló gömbhöz tudnám hasonlítani, akár egy hagymához. A kezdő tanuló bent van a legkisebb kör közepén, és amikor felnéz az égbe, akkor az őáltala ismert legtávolabbi pontot látja, de az valójában csak a következő réteg. Elérhetetlennek tűnik, de elérhető, és egyszer csak a tanuló a szorgalmának köszönhetően el is éri azt, vagyis a következő rétegen találja magát, de rögtön felnéz az égbe és kezdődik a folyamat elölről. Meg se kérdezd, hány rétegű, mert én is csak szeretném hinni, hogy nem a legkisebb rétegből nézek a másodikra :D, de néha így érzem én is…

Programozóként a tanulásnak sosincs vége. Ez a szakma annyira dinamikusan változik, hogy sosem tanulhatsz meg mindent. Maga a tanulási folyamat is a szakmád része.

Anikó: Ez nagyon tetszik! Egyébként mit szeretsz ebben a szakmában?

Kázmér: A programozást szabadon választottam ki érdeklődési alapon. Számomra ez szerelem, ami azon kevés szerencsések közé emel, akik nem a munkájukat, hanem a hivatásukat élik mindennapjaikban. Egyszerre hobbi, alkotás, és sokszor az őrületbe kergető kibírhatatlan idegeskedes okozója.

Amikor hazamegyek egy hosszú munkanap után, azt érzem, hogy ma is azt csinálhattam, amit szeretek.

Anikó: Szerinted mik a programozással kapcsolatos leggyakoribb mítoszok?

Kázmér:

“Kell hozzá matek.”

Nem mondom, hogy haszontalan, de nem kell matematikusnak lenni. Van az a szint, ahová ez kell (core programozók, akik a programnyelveket, frameworkoket irják), de lássuk be, kicsi az esélye, hogy egy átlag programozó ezen a szinten fog dolgozni. Ha úgy gondolod, te fogod írni a következő angular-t vagy react-et, akkor ki kell ábrándítsalak… A legtöbb feladat nem túl romantikus favágás. Mondhatnám azt is, hogy ez egy asztalosmunka, a nyolclábú széket kell legyártani, és te csinálod a hetedik lábat.

“Ah, nekem nem menne, nem nekem való.”

Sokan mondják, ez nekik olyan, mint a Mátrix, az átlagember számára ez valami bonyolult, felfoghatatlan dolog, pedig ez egyáltalán nem igaz. Megijesztik az embereket a képernyőn futó karakterek, pedig a programozás is ugyanannyira megtanulható dolog, mint egy idegen nyelv, vagy hangszeren játszás. 

“Sok pénzt lehet keresni vele.”

A harmadik mítosz pedig, hogy sok pénzt lehet vele keresni. A programozásra is mint minden más szakmára igaz, ha kellően szorgalmas és motivált vagy, ne adj Isten van egy kis affinitásod, akkor jobban kereshetsz, mint az, aki motiválatlan és csak túlél. Itt sem adják ingyen a sikert.

Ezen a tévhiten sajnos az se segít, hogy hiányszakmaként a cégek valósággal vadásznak a programozókra az összes elérhető platformon. Ha véletlenül rákeresel egy szakmába vágó kifejezésre, akkor szinte biztos, hogy hetekig olyan hirdetések fognak követni (facebookon, google-ben), amik azt közvetítik feléd, hogy az adott cégnél programozóként nem kell dolgoznod, nem kell bejárnod, stb… Nem csoda, hogy ez sokakat elbizonytalanít a jelenlegi karrierjüket tekintve. De ez nem valós motiváció!

Szerencsére azért elmondhatom, hogy a komolyabb képzési központok nagy sikerrel szűrik meg a jelentkezőket, így a komolyabb helyeken sokkal kisebb a zaj, de sajnos a piac ettől függetlenül rendkívül zajos.

Anikó: Mik az alapvető készségek, amik ehhez kellenek? Hogyan csináljon valaki “self checket”?

Kázmér: programozói gondolkodás egy nagyon absztrakt, elvont dolog, hiszen alapvetően nem így működik az agyunk, ezért ennek a fajta gondolkodásnak a kialakítása az egyik alapvető feladatunk. Ennek elsajátításához sok türelemre van szükségünk elsősorban saját magunkkal. Maga a tanulási folyamat hasonlít egy hangszer megtanulásához. Ha valaki próbált már megtanulni gitáron lefogni akkordokat, akkor tudja, hogy az elején az ujjaink nem engedelmeskednek, és ezt csakis gyakorlással lehet feloldani. Itt nem működik a ‘majd a padtársról lemásolom a házit’ attitűd.

Emellett a kritikus “out of the box típusú gondolkodás (merni eltérni a sémáktól) is elengedhetetlen. Harmadikként a már sokat említett mérhetetlen motivációt es tudásvágyat említeném.

Anikó: Melyik nyelvet válassza egy kezdő? Egyáltalán mennyi időbe telik megtanulni egy programnyelvet?

Kázmér: A jó hír, hogy nincs rossz programozási nyelv! Nyilván ha kicsit előretekintünk, akkor érdemes olyat választani, ami valószínűsíthetően a jövőben is használatos lesz.

Minden igényre más-más nyelv a legoptimálisabb. Így elsősorban attól függ, hogy mivel szeretnél foglalkozni a jövőben. Sorolhatnék most nyelveket, de úgy gondolom, nem ez számít az elején. Ne csinálj hitkérdést a nyelvből!

Arra a kérdésre, hogy mennyi idő megtanulni egy nyelvet, nem lehet egy átlagértékkel választ adni. Minden az előbb említett absztrakt gondolkodás kialakulásának idejétől függ. Minel hamarabb fel tudod venni azt a szemléletet, annál gyorsabb a folyamat.

Anikó: Programozó agyat kell építeni. 

Kázmér: Így is mondhatjuk. Vannak, akik az alapokat elsajátítják hetek alatt, van, akinek több időre van szüksége. Az elején ez egy nehéz, küzdelmes, fárasztó folyamat, de meg lehet csinálni.

Anikó: És mi segíthet a nehézségek leküzdésében?

Kázmér: Elsősorban a saját magaddal szembeni türelem. Tanulás alatt probáld nem terhelni magad olyan kérdésekkel, hogy mi van, ha ‘én erre nem vagyok képes’, vagy ‘én ezt nem tudom megcsinálni’, ha nem megy, akkor gyakorolj.

Kérdezz! Ne félj kérdezni a közösségtől, mert ez egy nagyon összetartó és segítőkész közeg! Fontos hogy megtanuld, hogy az nem a te kudarcod, ha kérdésed merül fel, ez a folyamat része, az viszont kudarchoz vezethet, ha a kérdéseidet megválaszolatlanul önmagadba temeted.

Ezek mellett jó, ha képben vagy, milyen a tanulási stílusod. Ha vizuális vagy, nézz videókat. Ha leírva jobban megragad, akkor olvass utána. Ha úgy érzed, elveszel a területek sokféleségében, akkor érdemes egy tanárt, mentort, sulit keresni, akik utadra tudnak indítani.

Anikó: Mennyire jelemző, hogy nők is beülnek programozóképzésre? 

Kázmér: Én úgy látom, hogy egyre jellemzőbb. Jelenleg három női tanítványom is van.

Anikó: Szerinted miért van kevesebb nő IT területen?

Kázmér: Ez egy nagyon jó kérdés. Talán azért mert számítógépekről a közvélemény úgy tartja, hogy ‘fiús’ dolog, illetve nem lett a popkulturánk része a nők és a tech kapcsolata, így ez se segítette a női létszám növekedését. Pedig a piacnak nagy igénye van női programozókra. Én is úgy gondolom, hogy egy csapat akkor jó, ha minél több látásmódot tudunk kibontakoztatni a közös munkánk során.

Anikó: Mi alapján válasszunk ipart vagy programozási területet? 

Kázmér: Érdeklődés alapján.