Történet a "programozóról", aki nem hajlandó megtanulni Mavent használni

"Most tanulom a Gradlet, nem fogom a Mavent is megtanulni!" - hangzott el a mondat a fejlesztőtől, aki már 5 éve fejleszt és még mindig junior szintű problémákkal akad meg.

Tegnap reggel egy ügyfélnél kezdtem, amikor megcsörrent a telefon, Lacika hívott - az egyik supportosunk, hogy a nemrég belépett új junior fejlesztő kollégának problémája van az egyik rendszer elérésében és állítólag én és a másik szerveres kollégám "pingpongozunk az új arccal ahelyett, hogy segítenénk neki". Szóval Lacikát a jó szándék vezérelte, a userekkel jól tud bánni, de a belső csapatos kommunikáció nem az erőssége.... Ez abban teljesedik ki, hogy általában  a kályhától kezdi a mondókáját, ami most is így történt.

-Szia, Lacika vagyok!

-Hello, mondd mi a helyzet!?

-Nem tudom mennyire vagy ma elfoglalt, be tudnál jönni az irodába?

-Nem, mert mint mindig, most is ügyfélnél vagyok, legkorábban 2-re tudok odaérni. Miért?

-Hát, Zsoltinak kellene egy kis help, mert Gáborral ide-oda dobáljátok és haladni kellene! A 2 óra nem jó, mert meeting van. Fél 1?

-Oké, megoldom...

 

Le is léptem hamarabb, odacsattogok az irodába, ahol már várt rám a 2 jómadár és Gábor. Kérdezte tőlem, hogy mi a faszért vagyok ma ott, mondtam neki, hogy Lacika szervezte az összejövetelt, mert állítólag te és én nem vagyunk hajlandóak valamit megcsinálni Zsoltnak. Gábor nézett rám nagy kerek szemekkel, hogy WTF. Mondtam neki, hogy én is pont ennyit tudok az egészről, szóval várjuk meg mi lesz a vége.

 

Zsolt előadja a problémáját, miszerint "Nem jó a Git". A Git jó, tudom mert én tutujgatom. Megkértem, hogy regélje el kicsit bővebben, hogy mi az ami nem felel meg a magas szintű elvárásainak...

-Egy db schema update-t szeretnék betolni az XY repoba Mavennel, de az hibaüzenetet dob.

-Mutasd meg a hibaüzenetet please.

-Click click click

A hibaüzenet valami olyasmi volt, hogy "Unauthorized access on devserver.tld/repo".

Kiderült, hogy nem is a git szerverre akar csatlakozni, hanem a dev-re (szóval nem is a git a "nem jó"). A devszerveren lévő folder felhasználónév jelszó párossal van autholva, amit szemmel láthatóan nem evett meg a Maven. P.S.: nem használok Mavent, ez volt az első találkozásunk.

Itt mondtam, hogy ez a hiba nem igazán az én scope-om, mivel a fejlesztőkörnyezete nincs jól beállítva, szóval menjünk már oda a másik sráchoz (Dénes). Dénes már vagy 5 éve itt dolgozik, bíztam benne, hogy ragadt rá valami a koszon kívül is.

 

- Hello Dénes, ez meg ez a probléma, hol tudom megadni a Mavennek, hogy honnan szedje az auth adatokat?

- Env.var-ban van XY néven.

- Igen, ott van, viszont szemmel láthatóan nem eszi meg. Szóval azt kellene kigugliznotok, hogy hogy tudod megadni neki a usert és a pass-t hogy működjön...

- Nekem működik.

- Oké, azt értem, hogy neked működik, de Zsoltinak nem, ezért is vagyunk itt. Szóval Senior fejlesztő úr kérem segítsen...

- Nem vagyok senior! - csattan fel a művész úr. Most tanulom a Gradle-t nem fogom most ezt is megtanulni, ne várjátok!

- Dude, abban biztos lehetsz, hogy én sem fogom. Már az is kívül esik a scopeomon, hogy eddig kidebugoltam nektek. Megmondtam, hogy mire kellene rákeresni és próbáljátok ki.

- Bla bla bla... itt vartyogott még valamit, aminek a lényege az volt, hogy ő kurvára nem fog csinálni semmit meg miazhogy....

 

Időközben kigugliztam, hogy merre van az auth a Mavenben (settings.xml) és beírtam plaintextben teszt gyanánt a usert és a pw-t. Láss csodát működött, szóval a hiba az env.var környékén van. Azzal hagytam őket ott, hogy ezt oldják meg és ne legyen plaintext pw a configban. Ment a bólogatás, de valószínűleg nem fogják megszerelni...

 

A junior csókát nem bántom, elvégre első munkahelye, honnan a faszból tudná, hogy merre van a Google. Dénes viszont eléggé elszomorított, hogy nem tud hibaüzenetet értelmezni, nincs tisztában a processel, még csak nagy vonalakban se (melyik rendszer mire van és mihez kapcsolódik). Arról nem is beszélve, hogy próbálnak feszültséget kelteni köztem és Gábor között, csak azt felejtik el a kiscserkészek, hogy több mint 10 éve dolgozunk együtt, szóval esélytelen összeugrasztani minket....

Hozzászólások

Az idő őt fogja igazolni, csak lehet már nem éli meg! :P

hehe, ismerős ...

Fedora 42, Thinkpad x280

A "nem vagyok senior" megjegyzés nem azt jelentette, hogy "majd megcsinálom, ha senior fizetést kapok, addig kapjátok be" ?

Ez igaz, de mivel nem vagyok a főnöke (még csak nem is ugyanaz a munkáltatónk) nem tudok ellene mit tenni, viszont kurvára idegesít a folyamatos tutyimutyisága, hogy nem tud (hajlandó) megoldani semmit ami nem az IDE-n belül van. Lehet csak amolyan fejlesztői ego vagy nem tudom...

1904.04.08.
RIP Jákub.
neut @

Miert fektetne energiat olyanba, aminel
-ismer jobbat (Gradle)
-5 evente kell valamit hozzanyulni
-most sem az o problemaja, hanem egy keresni nem tudo juniore? (ok, rakereshetett volna o a junior helyett, igazabol mindegy, gondolom volt jobb dolga neki is)

A strange game. The only winning move is not to play. How about a nice game of chess?

Hát a Maven-t én sem akartam, de muszáj volt :)

Oh, rengeteg ilyen történetem van. Talán a kedvenc, ahol S kolléga (szigorúan senior a címben) kiharcolta, hogy X feature ne a már létező A app-ban kapjon helyet, mert A az régi és gány és ránézni sem szeret, de ő majd megmutatja, hogyan kell ezt rendesen csinálni. Jó, vezetőség rábólintott, szabad kezet kapott, from scratch, vitte egy ideig a projectet de aztán úgy látta, hogy mi nem érdemeljük meg őt és továbbállt. Oké, eggyel több hópelyhet kell karbantartani, csak megleszünk valahogy. X kapott dedikált csapatot, legyenek boldogok.

Igen ám, de közben valahogy elkezdett kifogyni a szusz a prod adatbázisokból (és nyilván nem tudjuk rendesen monitorizni, hogy mi eszi a teljesítményt). Valahogy megsejtettük, hogy a fenti új X app lehet a ludas és ezt megosztottam a dedikált csapattal is. Na ekkor kaptam egy fejmosást a team lead-jüktől, hogy én azt hogyan várom el, hogy egy fejlesztő értsen a DB-hez is.

Szerencsére az egyik dev önszorgalomból utána olvasott aminek pár héttel később egy Service Release lett az eredménye rögtön lefelezve a DB load-ját.

Szóval üzemeltetőként az egyetlen egy dolgot nem tudjátok elvégezni, ami a feladatotok lenne, nevezetesen a rendszerek monitorozását, majd miután benyögtök egy "valami szar, de halvány lila segédfogalmunk sincs mi, de azért oldjátok meg" és mivel a fejlesztők ennél egy picivel több hasznos információt várnának el, mielőtt kaszát-kapát elhajítva és a business felé tett határidős ígéreteit leszarva rohannának, hogy megfixálják a "fogalmunk sincs mi az" problémát... hát persze, hogy a fejlesztő a hülye :)

Azt hiszem a hozzászólásod a második szavánál siklott ki. Nem vagyunk üzemeltetők. A tényleges üzemeltetők magasról tesznek az egész rendszerre és hárítanak át ránk, dev-ekre mindent úgy, hogy semmihez sem férhetünk hozzá. Nagy cég, értelmetlen felosztás, nulla kommunikáció a részlegek között.

De azt azért elvárnom dev társaimtól, hogy ha egy app 5s-enként poll-ozza a DB-t, akkor arra csak rá néz, hogy az index-ek a helyükön legyenek.

Szóval üzemeltetőként az egyetlen egy dolgot nem tudjátok elvégezni, ami a feladatotok lenne, nevezetesen a rendszerek monitorozását

Jó látni, hogy olyan írások születnek amiből elsőre látszik, hogy nincs mögötte tapasztalat, mi lehet a dolga egy üzemeltetőnek.  

Simán lehet, hogy az a baj, hogy az adott environment változó nem exportálódik ki. Azt még megnézheted neki, hogy ha ${env.MAVEN_PASSWORD} a kifejezés, akkor ki van-e exportálva neki ilyen változó, és mondjuk egy bash látja-e (a meglevő shellen belül indítasz egy bash -t). Gyakori hiba ugyanis, hogy amikor environment változókkal kell dolgozni, akkor csak annyit adnak meg, hogy HELLO=foobar, és az export-ot meg elfelejtik előle, így maga az env var az adott shellből látszik, de a belső bash már nem látja.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Lacikától csak egy jobb van, amikor jön a "Hi, how are you?" - és addig nem teszi fel a kérdést amig nincs small-talk, írásban.
Zsolti hozzáállása nem értelmezhető hacsak nem internettől elvágott környezetben történik.

A példám hibajelentésre vonatkozott.
Ez tipikus small talk bevezető és általában a milyen volt a hétvége stb kérdések követik. Komolyan nincs ilyesmire idő és csak kifejezetten külföldiekkel van ilyen probléma, angol nyelvterületről származó emberek csak szóban nyomják és nagyon effektíven, nem hibajelentés közben.

Most tanulom a Gradlet, nem fogom a Mavent is megtanulni!

A maven kiirthatatlan basic java -s tool, nem lehet nem tudomást venni róla. A gradle -t már 10 éve is az egekbe magasztalták nekem az első melóhelyemen, de ma is akárhova megyek, 80%- eséllyel maven lesz. Szóval aki ezt nem tudja/hajlandó megtanulni, az nem lesz java programmer, és pont.

(a java artifact -ok nevezéktanát és kezelésének az alapjait a gradle és az ivy és az sbt és az akármi is pont ugyanúgy csinálja, ahogy a mavenben definiálva van, szóval..)

Maventol elvonatkoztatva: nagyon sok olyan dolog van, amit meg lehetne tanulni, de vagy felesleges, vagy van valaki az ember mellett, aki ugyis jobban ert hozza, es jobb, ha o csinalja. Nekem volt anno szabalyozastechnika oram, amit nagyon nem szerettem, de amikor szabalyzot kellett hangolnia valakinek, egy kollegam csinalta, mert neki pont az volt a kedvence. Mindenki jol jart vele.

Van, amit bizonyos kornyezetben nem lehet meguszni, de szerencsere eleg keves. Rengeteg dolgot megtanultam hobbibol, de olyan is van, amit valoszinuleg meg tudnek tanulni, de amivel nem akarok foglalkozni (AAPL kornyezet pl. nalam ilyen - inkabb keresek mas munkahelyet, ok meg olyat, aki kifejezetten Mac-re/szifonra szeretne fejleszteni).

Voltam olyan projecten, ami - tobbek kozt - Androidra is fordult. Az akkor kb. 400 fos cegbol 1-2 ember osszerakta hozza a forditokornyezetet (nativ C++ volt a kod nagy resze, szoval nem trivialis), eleg, ha ok hozza tudnak nyulni, hasznalni mar mindenki mas is tudta (valami shell scriptet vagy .cmd-t kellett elinditani). Ez is kicsit hasonlo lehet, valoszinuleg 5 eve egyszer beallitotta valami tutorial alapjan (vagy valaki mas beallitotta neki), aztan azota elfelejtette, hasznalni viszont tudja, mukodik.

A strange game. The only winning move is not to play. How about a nice game of chess?

Kedvencem, amikor meló kapcsán mindig valami aktuális hülyeséghez kellene érteni. Amiből van olyan munkahely, olyan munkakörnyezet, olyan beosztás, hogy végtelen ilyen eset előfordul. Ezt a karrierje elején fiatalon még kihívásnak fogja fel az ember, és beleugrik. Aztán telnek az évek, rájön hogy feleslegesen teszi bele az energiát ezekbe a side quest-ekbe. Az előremenetelben általában nem segít (hosszú évek tapasztalata, h. ahhoz seggnyalás és politikai érzék kell, nem műszaki kiválóság). A saját tudáshalmazát meg nagyon felhígitja ha mindenféle piszlicsáré hülyeséggel elkezd foglalkozni az ember csak hogy minden nekiadott feladatot szépen megoldjon. Amikre általában 1 alkalommal 1 konkrét hülyeség megoldására van csak szükség, nagyon ritka a visszatérő probléma. Aztán továbbiakban jön más új issue, aminél megint elölről kell kezdeni a kutatómunkát. Egyszerűen 1 emberélet kevés ennyi mindenben elmerülni. És itt kezdődik el a vita, vajon hozzáállásbeli probléma a szenior embernél, ha inkább hagyná hogy más oldja meg a nem konkrétan hozzá tartozó ilyen bazdmegeket? Mindenképpen ki kell rúgn(at)ni a szenior embert, mert nem 1.éves egyetemista lekesedéssel ugrik bele minden szarságba amit rálőcsöl fentről a főnöke, menedzsment?

Ha a főnöködtől jővő minden random felbukkanó hülyeségre ugrasz hevesen bólogatva (10-ből 9 ilyen megkeresésből tapasztalat alapján végül soha nem lesz tényleges munka), akkor az ilyen YESMEN-kedés vezet valahova? Szigorúan úgy, hogy közben mellette persze csináld minden erőddel az amúgy valóban hozzádtartozó (amúgy is bőven elég) rengeteg melót.

Mint öreg és szenilis programozó csak annyit mondhatok, minél több korszerű és felhasználóbarát megkönnyítőprogramot használunk, és pláne minél gyakrabban váltogatjuk is őket, annál könnyebb a munka. Hol vannak már azok a sötét idők, amikor csak `make` volt, és a fejlesztőről fel lehetett tenni, hogy képes megtanulni pár unixos alapműveletet!