Mentorok és dementorok az IT-szektorban

Elöljáróban szögezném le, hogy nem szeretem a flame war-t és a flaming-et, de óhatatlan, hogy az ember belefusson szakmai vitákba, ha fórumokat böngész. Jelenleg cinikus időszakomban vagyok és talán manapság ért bennem össze az az élményhalmaz tapasztalattá, mely lassan egy éve érlelődik bennem. Csak emiatt nem írtam volna bejegyzést, de az informatikai mentorság probléma engem is érint, mint junior programozót – így gondoltam, hogy kifejteném a véleményemet. Úgy vagyok vele, hogy csak belecsöppent ez a téma is a blogomba, “mint Pilátus a krédóba“.

A mentorság és a szoftverfejlesztés kapcsolatáról írnék néhány gondolatot. A kérdés mindkét részéről érintve vagyok: egyrészt, mint valamikori mentor (leánykori nevén pedagógus, végül oktató), másrészt mint “még kicsike”, junior szoftverfejlesztő. Engedd meg, Nyájas Olvasó, hogy kissé távolabbról induljak.

1. A tapasztalat és a tanulás viszonya, a lehetőség hiánya

Úgy látom, hogy él az amerikai tinimozik romantikus képe a kezdő, magyar informatikusok nagy részében: programozáshoz nem kell a papír és nem kell a tapasztalat, csak némi skill (régi magyarul: finesz, furfang) kell, aztán a nagy, kapitalista IT-s vállalkozó majd felvesz.

Ez nincs így.

Több állásinterjú tapasztalatai alapján mondom: hiába az otthoni, folyamatos tanulás és önképzés, egész egyszerűen ezt egyik munkaadó sem ismeri el, mint releváns tapasztalatot. Másrészt, mint tegnap megtudtam: ha nincs valamilyen műszaki végzettséged (OKJ, diploma, satöbbi), akkor a munkáltató egyszerűen NEM vehet fel, mint szoftverfejlesztőt. Hibádzik tehát csonka Magyarországunkban az a külföldön már bevett tapasztalat, hogy “csak zseniként” programozhatunk majd – releváns tapasztalat és végzettség nélkül.

Senki se higgye el, hogy nem kell valamiféle végzettség a munkához. “Nem kell a papír.” – mondják a bootcampek tótumfaktumai csak azért, hogy az emberek zsebéből újra és újra kihúzzanak félmilcsit egy újabb “modulért”, amit pedig egyébként már az alap tananyaggal illő lett volna megtanítaniuk (tisztelet annak az igen kevés kivételnek, aki betartja azt az alapelvet, hogy nem tart vissza többletpénz reményében tudást a tanulóitól).

A tegnapi állásinterjúmon a végzettségeim felsorolása a következőképpen zajlott: “egy nem releváns doktorátus és kettő, nem releváns diploma, egy nem releváns nyelvvizsga és egy OKJ-bizonyítvány és angol felsőfokú nyelvvizsga”. S ezzel a “kedves” interjúztató hamar összegezte is a huszas éveim eredményét a programozás szempontjából. (Annyira visszakérdeztem volna, hogy “és neked hány releváns vagy nem releváns doktorátusod van, faszfejkomám?“)

A NoFluffJobs, tavalyi 2020-as elemzése (10. oldal a letölthető PDF-ben) az IT piacról a következő konklúzióval zárult: “A junior programozók keresése jelentősen csökkent. A legtöbben mid és senior fejlesztőt kerestek“.

Hadd legyek én most a junior szoftverfejlesztők szócsöve. Tehát a következő kérdéseket és megállapításokat intézném az érintett cégvezetőkhöz:

Értjük mi a visszaesést és a regressziót. Értjük, hogy nehéz helyzetbe került a céged. Ha hiszed, ha nem, azzal is tisztában vagyunk, hogy a projektjeidet időre kell leszállíttatnod a mediorjaiddal és seniorjaiddal.

De miért nem fektetsz be a juniorok képzésébe ahelyett, hogy csak a rövidtávú hasznodat lesnéd egy újabb senior levadászásával, aki havi 50 ezer pluszért 2 hónap múlva a konkurenciádnál fog programozni és hiába kódol viszonylag jól, amíg ott van a cégednél morogva ugatja a kollégáit a nulla soft skilljével?

Tudjuk, rosszak a tapasztalataid a juniorokkal. Elhinnéd, ha azt mondanánk, hogy sokkal nagyobb a valószínűsége annak, hogy egy tisztességesen megfizetett és kitanított junior lojálisabb lesz hozzád, mint egy sok kilométeres programozó?

Miért nem vállalsz be juniorokat a cégednél?

Legtöbbünk nem napi 8 órát akar tanulni, hanem menet közben akarja elsajátítani az általad választott technológiát. Mi is tudnánk unittesztet írni, dokumentációval bíbelődni, apróbb, majd egyre nagyobb feladatokat elvégezni. Nem tanítást kérünk, hanem lehetőséget a fejlődésre.

Miért nehezíted meg a saját és a mi dolgunkat is az álláshirdetések feladásakor “3-5 év tapasztalattal” és feleslegesen felpimpelt tech stackkel, melyből jó, ha a felét fogod a cégednél használni? Miért ördögtől való egy lelkes és lelkiismeretes, a pályája kezdetén levő programozót felvenni, akit a saját céged arculatára formálhatsz és még nincsenek meg a rossz beidegződései?

Mit gondolsz, meddig tudod még kitermelni a seniorok és mediorok mesterségesen egyre magasabbra pumpált fizetését? Mikor jut majd eszedbe, hogy 1 ún. “szakember” árából 3-5 juniort is felvehetnél és napi 1 óra mentorsággal/tanítással 1-2 hónap alatt tűrhető szintre hozhatnád őket?

Nem gondolkodtál rajta, hogy az 5-10 éve képzett juniorok alkotják a mai seniorgárdádat?

Azon se tűnődtél még el, hogy ha nem fektetsz bele az utánpótlás nevelésébe, akkor nem lesznek seniorjaid?

Miért vágsz el bennünket azoktól a munkáktól, amiket mi is megcsinálnánk?

Miért hiszed, hogy mi az ellenségeid vagyunk?

2. Minden bunkó mentor, de nem minden mentor bunkó?

Ha egy kórházban nem nyúlhat a beteghez az, akinek nincsen vagy befejezett vagy folyamatban levő egészségügyi képzettsége, akkor miért oktathat juniorokat az, aki semmit sem tanult sem a pszichológiáról vagy a pedagógiáról?

Miért nem foglalkozunk vele, hogy egy rosszul kanyarított mondat vagy gondolat – főleg egy kezdőnek – őrült bajt tud okozni?

Mert igen, emberek vagyunk: sajnos aki nem foglalkozik tanítással (ismét megsüvegelem a kivételeket) nem emlékszik arra, hogy ő milyen balfasz volt kezdőként. Hogy nem hívta meg a metódust, hogy nem definiálta a globális változót, hogy elütötte a “foreach” parancsot, hogy másik branch-be commitolt.

Nálam is ez volt a probléma. Mr. Tizenhároméveskoromótaprogramozom szanaszét cincált lelkileg hónapok alatt, mert kezdőként nem ment a “clean code”. Bár halvány fingja sem volt arról, hogy hétről hétre mit akart velem csináltatni, de baromi büszke volt arra, hogy “ő nem pedagógus”. Nem volt feladatkiadás, nem volt értékelhető code review (csak névlegesen néha-néha), csak a destruktív kritika és a saját kisebbrendűségi komplexusának kezelésére a heti, intellektuális pöcspörgetés, hogy “mekkorászupermacsóeksönhiró” ő. És ez szétkúrta a lelkesedésemet és a munkakedvemet. Semmit sem tanultam, leszámítva az önfejlesztést, a gyakorlatba semmilyen szinten nemláttam bele, de legalább a főnökség azt hitte, hogy pornót pörgetek egész nap, mert nem fejlődök Mr. Antimentor szerint.

Megoldás – többszöri jelzésem ellenére – sem történt. Felmondtam, mert szerintem a “mentorom” erre bazírozott.

Most egy kísértetiesen hasonló eset jutott a tudomásomra – bár itt meggyőződésem, hogy a profi jó szándékú volt. Adott C., a menő 25+ éves tapasztalattal rendelkező IT-mentor, aki – többek szerint – meglehetősen sovány pedagógiai érzékkel sorozatot készít kezdők okulására. Rendben. Mindig is megsüvegeltem, aki profi létére értékelhető és könnyen felhasználható tudást ad a kezdőknek. Aztán: adott A. is, a túlérzékeny kezdő webfejlesztő, az önéletrajza szerint 1,5 év tapasztalattal és B a túlféltő mentor, aki tyúkanyó módjára virtuális kardpárbajt vív védence helyett.

C. videót készített és saját oldalán publikált A. GitHub-portfóliójából és weboldaláról. A későbbi információk szerint C. nem kért engedélyt A.-től erre és a videóban adott egy – szerintem meglepően korrekt – elemzést a kezdő fiú portfóliójáról. Az eset akkor jött fel egy Facebook-csoportban, amikor B., a kezdő srác mentora szinte habzó szájjal kikérte magának, hogy a személyiségi adatok kitakarása nélkül C. “szétoltotta a gyereket”. A. kézzel-lábbal tiltakozott, hogy őt most úgy megalázták, hogy így már sehová nem veszik fel és azonnal vegye le a kéretlen elemzést. Ráadásul elindult a B. baráti kör is, aki tényleg leoltották az elemző szakembert, hogy hogyan lehet ilyesmit tenni kérés nélkül? A kedvencem, hogy a manus beszédébe kötöttek bele, hogy “olyan unszimpatikus”. Mert erről aztán tényleg tehet a szerencsétlen. Szóval csupa-csupa szakmai vélemény hangzott el a hozzáértők szájából.

A gond az, hogy a profinak szerintem ebben az esetben igaza volt. Amiben szerintem hibádzott a dolog: nem szabad személyes adatokat feltüntetni és valóban jól jött volna egy-két refaktorálási tanács, vagyis: “ho’ keee’ eztet csinyányi?“.

Alapvető dolog, hogy például egy amőbajáték kiértékelésére nem írunk 950+ soros if-else if feltételszörnyet, hanem generálunk egy HashMapet<int, int>, HashTable-t (ekkor már gyakorlatilag egy teljes sort belepakolhatunk), tömböt vagy mittudomén mi van a JavaScriptben ehhez és egy for ciklussal kiértékeltetjük ezt az adatstruktúrát. Ezt elmondta C. is a videóban és adott neki néhány támpontot, melyeken elindulhatott volna.

Erre jön a közösségi hiszti.

Másfél év tapasztalattal/tanulás után A. programozói tudását én eléggé soványkának érzem, bár nem mondom, hogy én nem ejtenék hasonló hibákat. (Legutóbb papíron kellett rendezési algoritmust írnom Javában, de egyszerűen elfelejtettem, hogy két ciklust kellene indítanom. Itthon pár perc alatt megírtam nyugiban). C. videóit én kifejezetten hasznosnak értékeltem, hiszen öreg rókaként tényleg konyhakész tudást ad a kicsiknek és a dörzspapír stílusa ellenére tényleg látszik, hogy segíteni akar. Az én mentorom ehhez képest semmi sem volt.

Látszik, hogy így is lehet segíteni.


Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .