Vissza a közösséghez

Termékeny mentor és rendszerautomatizáló

Negatívan címkéztek meg ezermesterként? Lehet, hogy ez valójában jó dolog, különösen akkor, ha különböző hátterű, programozási tapasztalatú és kultúrájú embereket mentorálsz! Isaac magát tech-rajongónak és ezermesternek tartja... és még sok másnak!

Nézd meg YouTube-on
HOSSZ 37PERC

Jonathan: Sziasztok, és üdvözlök mindenkit az Exercism közösségi podcastjában. Nagy megtiszteltetés, hogy itt van velem Isaac, aki az egyik karbantartónk és közreműködőnk, és nemrég rengeteg tanulót mentorált a GoHorts programunkban, a tanulócsoportjainkban, amelyeket 30 napig futtattunk, azt hiszem, már kétszer, főleg Go-ban és Elixirben. Isaac a Go-kurzusnál segített, ami fantasztikus volt. Szóval Isaac, nagyon szívesen köszöntelek. Elmondanád egy kicsit, hogy hol élsz, honnan származol, és hogyan kerültél a tech világába?

Isaac: Igen, Kaliforniában élek. San Jose-ban, Kaliforniában. Az igazat megvallva azért kerültem a tech világába, mert a bátyám benne volt, és mindent megcsináltam, amit ő. Sok testvérem volt. Szerettünk együtt lógni, vagy néhányunk jobban szeretett másokkal lógni, mint mások. Volt egy bátyám, akivel nagyon szerettem lógni. Ő nem feltétlenül élvezte annyira, hogy velem lóg, de sokat követtem őt, és azt akartam csinálni, amit ő. Kb. 15 éves volt, amikor felvett egy C for Dummies könyvet, ami a házban hevert, én pedig 9 éves voltam, ha jól emlékszem. Szóval ő C-t írt, és én meg: ha ő csinálja, akkor én is. A programjaim akkoriban elég egyszerűek és alapvetőek voltak. Inkább olyanok voltak, hogy mi a neved, helló Bob típusú gyakorlatok. Nem voltak túl bonyolultak. Valahol el kell kezdeni. Ott kellett kezdeni. Meg: ó, ki lehet írni a vizuális files karaktert, és hangot ad ki. Ez nagyon menő. Írtam egy programot, ami szó szerint csak kiírja a slash A-t. De 9 évesen kezdtem. C programokat írtam. Volt egy régi Windows 3.1-es gépünk, ami DOS-ba bootolt, aztán a bátyám beállított egy batch szkriptet, hogy amikor a gép bootol, megjelenjen egy menü, ahol ki lehetett választani, hogy Windows indítása, játékok indítása, van ilyen játékmenü. Be lehetett írni, hogy 5, például Warcraft vagy ilyesmi. Szóval batch szkripteket írtam, ahogy más játékok is voltak telepítve meg minden. Innentől kezdve tulajdonképpen minden ment magától. A bátyám számítógép-mérnökinél ment egyetemre, és megint csak: ha ő csinálja, én is. Szóval 9 évesen kezdtem C-t írni. Írtam... középiskolában Visual Basic 6-ot. Volt egy POM pilotom, amin különféle programokat írtam középiskolában. A matektanárom nagyon menő volt. Az egyik olyan régi...

Jonathan: Az olyan volt, mint... emlékszel, megpróbálták kiadni az iPad előtti kütyüt, és néhány emberhez eljutott, és volt rajta az a kis tollal firkálós dolog. Mindenki azt hitte, hogy szuper menő, mert kijött a végén, és olyan volt, mint zoop, aztán lehetett rajta kopogtatni. Olyan volt, nem is... Mindig emlékszem rá, mert aztán elkezdett jönni az iPad, és mindenki azt mondta: hú, egy kicsit korai. A One pilot épp csak egy kicsit járt a kor előtt, érted, mire gondolok?

Isaac: Nagyjából egy évtizedig remek volt, de igen, ott volt a palm graffiti, amivel be kellett írni. Van egy kis beviteli lap, és karaktereket kellett írni, de azok valahogy az ábécén alapultak. Az A például egy háromszög volt, az F pedig egy derékszög. Igen, a középiskolai matektanárom azt mondta: hé, ha megírtad a programot, menő, ha használod a dolgozaton. Szóval középiskolában POM pilot programokat írtam, ami nagyon menő volt. Számítógép-mérnöki szakra mentem egyetemre. Láttam, hogy az emberek szkriptnyelvekről beszélnek. Nem igazán tudtam, mik azok, szóval véletlenszerűen Perl-t választottam. Aztán kijöttem a mesterképzésről, és felvett a Google. 2013-ban áthelyeztek a keleti partról Kaliforniába. És ott vettem fel a Python-t nagyjából egy évtizeddel ezelőtt. A Python az elmúlt évtizedben a fő nyelvem volt. A Google-nál dolgoztam, szóval a stílusomra nagyon hatott a Google stílusa. Ezért írtam elsősorban. Aztán úgy négy évvel ezelőtt, azt hiszem 2018 körül, a Google elkezdte belülről tolni a Go nyelvet, és akkor felvettem a Go-t.

Jonathan: Menő. És Isaac, amikor a Google stílusáról beszélsz, volt egy meghatározott érzés, hogy ez a helyes módja, vagy ez inkább olyan... Hogy is... Fejtsd ki egy kicsit, mert ez érdekes.

Isaac: A programozási stílus nem feltétlenül a helyes mód, hanem inkább egy egységes mód, amit mindenkinek követnie kell. Azt mondják, a jó kompromisszum vagy jó üzlet az, ahol senki sem boldog. Senki sem igazán boldog a stílusútmutatóval, de amíg mindenki követi, a code egységesnek tűnik. Ez azt jelenti, hogy bárki kivehet bármelyik code-részletet a Google code base-ből, és módosíthatja, és amíg ugyanazokat a stílusirányelveket követi, a code egységes. Nem kell azon agyalnod, hogy ó, ez a code base négy szóköz behúzást használ, ez meg kettőt, vagy ez ilyen meg olyan elnevezési konvenciót követ. A teljes code base-ben minden ugyanúgy készül. Nem mindenki boldog ezzel. Mindenkinek megvannak a maga területei, ahol másképp szeretné, de mivel van egy dokumentált stílusútmutató, ami nyilvánosan elérhető, csak rákereshetsz a Google Python stílusútmutatóra, és megmondja, hogyan írunk code-ot a Google-nál. Amíg mindenki tartja magát ehhez az útmutatóhoz, a code nagyon egységesnek tűnik, ami igazán jó, mert bármelyik code base-t megnyithatod, és úgy tűnik, nincs meglepetés, hogy ó, ezt másképp írnák.

Jonathan: Ezért illik a Go ilyen szépen ebbe a kontextusba? Mert formázott, és tényleg olyan, hogy ez így van. A Google hatása egyértelműen látszik rajta.

Isaac: Igen, nem tudom, mennyire hatott Rob Pike-ra a Google megközelítése, vagy mennyire hatott ő a Google megközelítésére. Nem tudom, melyik vezetett melyikhez, de a Go ezt egyértelműen egy másik szintre emeli, ahol... Még több van, mint a Pythonnál, ahol különböző stílusok vannak, és az emberek átállítják a lintereiket, hogy különböző dolgokat fogadjanak el. Például a Google belsőleg két szóköz behúzást használ Pythonban, mert sok a mélyen egymásba ágyazott code, és nem akarnak egy hatalmas falnyi szóközt. Kívül pedig a legtöbben négy szóközt használnak, és ez valahogy benne van a Python dokumentációjában. De igen, ami a Go-t illeti, ezt egy másik szintre emelték, és azt mondták, hogy magában a nyelvben megvan a formázás. Csak egyféleképpen lehet formázni. Nincsenek online viták arról, melyik a helyes mód. Csak egy mód van.

Jonathan: Rengeteg oda-vissza kommunikációt spórol meg. Fogalmazzunk így. Igen. Szóval ez jó.

Isaac: Igen.

Jonathan: Szóval, oké, amikor a Google-hoz kerültél, soha nem foglalkoztál Pythonnal, vagy már kacérkodtál vele, vagy könnyű ugrás volt? Mert úgy hangzott, mintha megkaptad volna a Google-os állást, és aztán: oké, menő, tanuljunk Python-t, gyerünk.

Isaac: Így van. Úgy hiszem, mielőtt a Google-hoz kerültem, soha nem írtam Python-t. Perlt írtam egy-két évig. Azt hiszem, akkor már pár éve Perlt írtam. Az első nyári munkám. Ez egy egészen más történet. Hat évvel a Google előtt kezdtem Perlt írni, szóval akkor már elég sokat írtam Perlben. Írtam egy kicsit Bash-t is, szóval ismertem a szkriptnyelveket. De Python-t soha nem írtam. De ha egyszer elég nyelvvel foglalkozol... A tanulási görbe kicsit laposabb, amikor egy új nyelvet veszel fel, mert a legtöbb konstrukciót már láttad, és csak kicsit más a szintaxis, kicsit más az eszközkészlet. De sok minden ugyanaz, csak kicsit más, másképp írva. A konstrukciók általában nagyon hasonlóak. Szóval ha már felvettél négy nyelvet, az ötödik felvétele olyan, hogy ó, ez csak kicsit másképp van írva.

Jonathan: Igen, igen. Ez érdekes. Szóval nevettél egy kicsit az első munkahelyeden, még középiskola után. Szóval, mindig is úgy voltál, hogy én a mérnöki pályára megyek, én a számítógépes dolgokat fogom csinálni? Ez mindig is tudatos gondolat volt, vagy mindig csak úgy volt, hogy ez az, ahová természetesen illeszkedem, élvezem, és kész? Hogy is volt ez...

Isaac: Gondolom. Nagyon próbáltam a bátyám nyomdokaiba lépni. Ő számítógép-mérnökinél ment. Elkezdett programozni. Gyerekkoromban kezdett programozni. Követtem. Fiatal korom óta programoztam. Ő számítógép-mérnökinél ment, és ez volt az, tudod, ugyanazt akartam csinálni, mint ő, és közben nagyon élveztem a programozást meg mindent. Szóval középiskolás koromtól, amikor a bátyám már egyetemre járt, tudtam, hogy ide akarok kerülni.

Jonathan: Szóval néhány évvel idősebb nálad, és úgy tűnik, óriási hatással volt rád emberként. Hány testvéred van még? Vagy ő volt a te szemedben a csúcs?

Isaac: Nyolc testvérem van, de ő volt az, akivel igazán jól kijöttem. Ő az egyik, azt hiszem, néhányukkal jobban kijövök, mint másokkal. Ha nyolc van, mindig van skála. Vele egész jól kijöttem. Hajlamosak vagyunk hasonlóan gondolkodni. Hasonló érdeklődésünk van. Folyton a számítógépekről geekeltünk. Még most is. A felesége nem szereti, amikor ez a vacsoraasztali beszélgetés témája lesz. Azt mondja: nincs munka a vacsoraasztalnál. Csak folyton a programozásról geekelünk és beszélünk. Nehéz megmondani, mennyi volt abból, hogy utánozni akartam őt, és mennyi abból, hogy egyszerűen hasonló érdeklődésünk volt. Most biztosan hasonló érdeklődésünk van. Nem tudom, ebből mennyi a természet és mennyi a nevelés. Nem igazán tudom megmondani, mennyi abból, hogy utánoztam őt, és mennyi abból, hogy hasonló érdeklődésünk volt. De mivel korán követtem a nyomdokaiba, követtem őt, ő pedig bizonyos mértékig kijelölte az utat, én meg követtem.

Jonathan: Igen, ez nagyon menő. És ő, hol van most? Csak kíváncsiságból, a keleti parton van?

Isaac: Még mindig a keleti parton van, tech-iparban dolgozik. Rövid ideig ugyanannál a cégnél dolgoztunk.

Jonathan: Igen, oké, menő. Szóval ez is megvan. Ez menő. Csak érdekelt, megkérdeztem. Most pedig, az egyik dolog, szóval nagyon benne voltál abban a csoportban, amit most tartottunk. A legutóbbi tanulócsoportban, különösen Go-val, 30 napos dolgot futtattunk Go-val... és a korábbi Exercism-ös részvételeid főleg a karbantartásra irányultak, de tudtommal elég sok mentorálás is volt. Hogyan élted meg ezt a kettősséget? Úgy értem, hogyan találtál rá az Exercism-re, és melyek azok a különböző területek, amelyekhez szívesen járulsz hozzá?

Isaac: Eredetileg azért találtam rá az Exercism-re, mert megpróbáltam újratanulni a Haskellt. A Google-nál elvégeztem egy Haskell 101 kurzust, ami elég szórakoztató volt. Aztán úgy voltam vele, hogy ó, több időt kellene ezzel töltenem. Aztán félretettem. Később megpróbáltam visszatérni hozzá.

Jonathan: és a következő alkalommal találkozunk.

Isaac: Bármelyik nyelvnél úgy találom, hogy a legkönnyebb megtanulni, ha tényleg írod. A legkönnyebb írni, ha van célod vele. Nem találtam jó célt a Haskell írására, ami miatt nagyon nehéz volt felvenni. De rátaláltam az Exercism-re, és úgy voltam vele, hogy ó, ez segíthet több Haskellt írni. Így találtam rá eredetileg az Exercism-re. Amikor ott voltam, azt láttam, hogy van egy Python-kurzus, egy shelf kurzus, meg ilyen psychoride gyakorlatok? Szóval le a nyúlüregbe?

Jonathan: És le is mentél a nyúlüregbe.

Isaac: Igen. Elkezdtem feladatokat megoldani Pythonban. Elkezdtem feladatokat megoldani Bashben. Megcsináltam egy pár Go gyakorlatot. Amikor a Go Horde feljött, és átnéztem néhány korábbi megoldásomat, láttam, hogy sok közülük három évvel korábban lett beküldve. Szóval, 2019-ben először iratkoztam fel a Go-kurzusra, és akkor megoldottam egy csomó gyakorlatot. Aztán mostanra már egy évtizede csinálom a Python-t. Szóval viszonylag kényelmesen éreztem magam, amikor Python-mentorként csatlakoztam, és mostanában a legtöbb időmet a gyakorlatokkal töltöm. Aztán elkezdtem PR-okat, pull requesteket beküldeni a Python-kurzusra, mert voltak dolgok, amik nem illettek oda. Aztán elkezdtem részt venni a Bash-kurzusban. Nem egészen tudom, hogyan történt, de a Bash-kurzus javításainak beküldésétől eljutottam oda, hogy Bash-karbantartó lettem.

Jonathan: Csak így, úgy értem, vigyázz, mire iratkozol fel, igaz?

Isaac: Igen, aztán Glenn megírta az Ock-kurzust, és én meg: ó, ismerem az Ock-ot, szeretem az Ock-ot, hadd ugorjak fel erre a szekérre. Szóval segítettem felépíteni az Ock-kurzus gyakorlatait. Nem vagyok benne teljesen biztos, de azt hiszem, három évvel ezelőtt, amikor megláttam a Go gyakorlatokat, végigcsináltam az egész kurzust, és akkor az egyik mentor azt mondta: ó, befejezted az összes gyakorlatot, talán mentornak kellene lenned. Nem vagyok elég jó, nem írok Go-t elég gyakran, elég rendszeresen ahhoz, hogy kényelmesen mentoráljam. Szóval nem igazán voltam Go-mentor. De amikor csatlakoztam a Go Horthoz, és volt egy csomó ember, aki mentorálást szeretett volna, úgy voltam vele, hogy ó, hát jelentkezhetek egy hónapra mentorálni, és segítek ott. De valójában nemrég csatlakoztam a Go Horthoz tanulóként. Aztán át fogok csúszni a tanulói részből, gondolom.

Jonathan: Én csak átcsúsztam a tanulói részből, gondolom. Vigyázz, mire iratkozol fel. Mondom, úgy tűnik, kialakulóban van egy minta, hogy feliratkozol valamire, aztán valami más leszel, de ez nagyon menő. Oké, szóval ami azt illeti, amikor a Go-kurzuson tanulókat mentoráltál, mik a leggyakoribb dolgok, amiket látsz? Úgy értem, a Go-kurzuson valószínűleg elég sok tapasztalt fejlesztő volt, mondanám, akik megcsinálták, olyan emberek, akiknek volt némi fejlesztői múltjuk, de mik voltak azok a dolgok, amiket észrevettél, hogy oké, ezek a gyakori dolgok, amin az emberek elakadni látszanak? Voltak olyan minták vagy dolgok, amiket úgy találtál, hogy oké, ez gyakori, ez elég... következetesen előfordul, esetleg?

Isaac: Nem tudom. A legtöbb mentorálás, amit láttam, kész megoldásokon volt. Az emberek többsége általában már megoldotta a gyakorlatot, mielőtt mentorálásra megy. Szóval a legtöbb interakcióban az emberek általában nincsenek elakadva. Uh, szóval leginkább, tudod, sikeresen befejeztek egy gyakorlatot, és aztán a visszajelzés nagy része az, um, tudod, van-e hatékonyabb módja ennek? Van-e jobb algoritmus? Um, az egyik gyakori, ami túl gyakran előjön, a string-építés, uh, ban. A Go-hoz és Pythonhoz hasonló nyelvekben, ahol a stringek megváltoztathatatlanok, a sok string-összefűzés nem túl hatékony. Szóval sok olyan van, hogy hé, ezt felépíthetnéd egy tömb segítségével, majd összefűzhetnéd a stringeket, vagy használhatnál string buildert Go-ban. Szóval sok olyan van, tudod, hogy jobb, azt hiszem, minták, legjobb gyakorlatok és minták felé tereljük őket. Köszönöm, hogy nézted.

Jonathan: Oké, ez menő. Ez lenyűgöző. Szóval most, jelenleg, hogyan néz ki a mindennapod a munkával, ahol a fejlesztés beleillik? Mondjuk, már egy ideje a tech-iparban vagy, milyen a napod? Mik a kihívások? Mely részeit élvezed most a munkádnak?

Isaac: Szóval site reliability engineering pozícióban vagyok, ami lazán hasonlít a DevOps-hoz. Van benne egy kis sysadmin dolog. Az elmúlt évtizedben pagerrel jártam on-call rotációban. Szóval a mindennapjaim nagyban függnek attól, hogy épp az on-call hetem van-e vagy sem. Amikor on-call vagyok, sok a pager figyelése, van egy ticket queue, support queue, biztosítani kell, hogy a hibás folyamatokat vagy problémákat diagnosztizálják és javítsák. Ez nagyjából hat hétből egy hét, vagy amekkora a csapat éppen. A többi időben on-call vagyok.

Jonathan: Mm-hmm.

Isaac: Sok időt töltök az automatizálással való bütyküléssel, szóval sok olyan folyamatot azonosítok, amelyek nehézkesek, és kevésbé nehézkessé teszem őket. Lehet, hogy... Lehet rá ok, hogy megtörténjen, de általában úgy találom, hogy amíg valami el nem kezdődik, tudod, amikor ez a probléma előjön, le kell futtatnunk, tudod, manuálisan javítunk ezekkel és azokkal a parancsokkal, és akkor az van, hogy miért futtatjuk ezeket a parancsokat kézzel? Írhatnánk egy Python szkriptet, ami mindezt megtenné helyettünk? Vagy javíthatnánk a toolingot, hogy ne hibázzon, és maga kapja el a problémát? És sokszor csak próbálom javítani a rendszerek futtatásának mindennapjait, hogy az emberek kevésbé legyenek benne, vagy ne kelljen olyan mélyen benne lenniük, tudod, hogy a dolgok gördülékenyen menjenek.

Jonathan: Szóval a napod, élvezed, hogy megpróbálod megtalálni azokat a kis területeket, ahol optimalizálni lehet? A munkád mekkora része a dolgokra való reakció, és abból a reakcióból, hogy ó, menő, ez egy lehetőség, a proaktív keresésé? Mi a tipikus egyensúly?

Isaac: Élvezem az automatizálást, valószínűleg ez az, amit a legjobban élvezek a munkámban, hogy automatizálhatok dolgokat. Ez nem mindig reakció. Úgy értem, a reakció jelentheti azt, hogy valami eltörik, de azt is, hogy ó, tudod, az emberek futtatják ezt a parancsot, és észrevettem, hogy van ez a parancs, amit hajlamosak vagyunk copy-paste-olni, javíthatnék rajta? Amikor látom, hogy valaki módosít egy runbookot vagy javít egy parancsot, és én meg: ó, az a parancs elég rendetlen, átírhatnám a nulláról? És persze a figyelem túl sok, egyensúlyba kell hozni a vonzerővel, kevesebb nagy szó kell, jobb nyelv, minden ilyesmi. Felül kell kerekedned ezen azzal, hogy megpróbálod csinálni. Őszintén, úgy értem, a munkámban minden igazából passzol, ha belegondolok. Szóval nagyon motivált ember vagyok, mint nem, a munkám gondolom ott van bárhol, de bármely munkában, amit szeretek, az időt magamnak ölöm, az csak azért van, hogy megpróbáljak

Jonathan: gyártásnak is nevezhetnéd

Isaac: Refaktorálás, észreveszem, hogy vannak olyan eszközök, amiket tudod, nehézkes használni, és eldöntöm, hogy átírom őket, vagy wrappereket írok köréjük. Látni fogom, igen, meglátom, hogy valami nagy, bonyolult program code-ja megváltozik, és úgy vagyok vele, hogy ó, az a program egy káosz. Bemehetek és átírom vagy refaktorálom? Vagy újakat készítek, úgy értem, ez nem mindig refaktorálás, néha csak új eszközöket készítek. Olyan, hogy ó, van egy folyamat, ami 20 lépésből áll, hadd zsúfoljam bele mindet egy programba. Sokszor ez tényleg olyan, tudod, valahogy fel kell fedeznem ezeket. Néha azért fedezem fel, mert kijelölnek egy feladatsor elvégzésére, és akkor úgy vagyok vele, hogy nem akarom ezeket kézzel futtatni. Néha csak úgy veszem észre, hogy megnézek valami code-részletet valahol, és azt látom, hogy ó, ez a másik code itt, amit egy másik csapat tart karban, rosszul csinálja a dolgokat, refaktoráljam, vagy használjak modern könyvtárakat, vagy ilyesmi, igen.

Jonathan: Szóval sok... Csak hogy észre tudod venni. Mennyi szabad kezed van? Elég sok szabad kezed van ahhoz, hogy körbejárj, és belecsapj, itt-ott igazíts? Úgy értem, ez elég szórakoztató lehet, elég élvezetes.

Isaac: A menedzserem sok szabad kezet ad, ami igazán jó. Nem tudom, ebből mennyi jött abból, hogy jelenleg nem a Google-nál vagyok, de nem tudom, mennyi származik a Google-os hátteremből. A Google-nál az emberek nagyon nyitottak voltak arra, hogy belecsapjanak, és azt mondják: ó, észrevettem a többieket, tudod, használtam ezt a könyvtárat, és így lehetne javítani. Hadd javítsam meg. Um, nagyon-nagyon rövid ideig dolgoztam egy startupnál, ahol a kultúra nagyon más volt, sokkal kevésbé nyitott. Uh, és a startupnál az emberek nagyon féltették a code base-eiket, és nem nagyon fogadták el, ha mások módosítják a kódjukat. Szóval azt mondtam volna: ó, van egy probléma ezzel a code base-szel. Tényleg változtassam meg azt a code base-t?

Jonathan: Igen, hátrálj meg. De ez érdekes, mert... az ember azt feltételezné, hogy egy startup sokkal inkább olyan, hogy hát, csak csináld meg a munkát, a lehető legolcsóbban, tudod, de valójában talán a Google sokkal jobban tudta kezelni ezt koncepcióként. És ez... bocs, most kapcsoltam fel a lámpákat, mert nálunk, mindenkinek, aki hallgat, nincs áram most Fokvárosban, időnként nincs. Most épp vakítom magam, de semmi baj. De ez érdekes, visszatérve a startup kultúrára, és arra, hogy az emberek mennyire ironikusan ragaszkodnak a dolgok tulajdonlásához, és aztán talán kicsit megbénítják a dolgokat, tudod?

Isaac: Igen, nem tudom, hogy a startupnak lenni feltétlenül jól kapcsolódik-e ahhoz, hogy az ember nyitott... mint egy játékalapú munkakultúra. A Google-nál sok minden, amit az emberek csináltak, játék volt, élvezték, amit csinálnak. Azért csinálják, mert élvezik. Nagyon barátságosak vagy nagyon nyitottak voltak vele. Más munkahelyi kultúrákban kevésbé arról szól, hogy feltétlenül azért csinálod a dolgokat, mert élvezed, hanem inkább az, hogy ez egy munka, vagy ez az én code-om, és tudom, hogyan működik. Nem akarom, hogy mások babráljanak vele. Nem vagyok benne teljesen biztos, mi kell ezeknek a munkahelyi kultúraváltásoknak a létrehozásához. De a Google nagyon is táplálta azt az érzést, hogy mindenkinek hozzáférése van az összes code-hoz. Mindenki fel van hatalmazva, hogy változtasson rajta. Menj, és csináld, amit helyesnek gondolsz. Aztán a jelenlegi munkámban a jelenlegi menedzserem is sok szabad kezet adott. Azt mondja: persze, találtál valamit javítani. Rajta, javítsd. Találtál egy területet, ahol lehet javítani. Csak félreállok az utadból. Szólj, mit tehetek, hogy segítsek. Szóval nagyon is képes vagyok önállóan irányítani sok mindent, amit csinálok, és tudod, ha találok egy területet, ahol úgy vagyok, hogy ó, jobbá tehetném. Azt mondja: igen, ez menő, hajrá.

Jonathan: Oké, szuper. És te, a cég a keleti parton van, jól mondom, szóval valójában távolról dolgozol? Azt hiszem, emlékszem, azt mondtad, készültél átköltözni, aztán jött a COVID, és az egész véget ért. Hogyan éled meg a távmunkát, a távolságot, az időeltolódást, mindezt? Hat rád, vagy...

Isaac: Határozottan hiányzik az iroda és a személyes kapcsolattartás. Uh, szóval ez van, um, az időeltolódást a csapatom nagyon, uh, rugalmasan kezelte. Szóval három órával vagyok lemaradva a csapat többi részéhez képest. Uh, van egy rövid napi standup, amit kihagyok. Két napi standupunk van két különböző termékhez. Uh, szóval az elsőt hiányolom, és a csapatom nagyon jó volt abban, hogy alkalmazkodjon hozzám, és sokat használunk belsőleg Slacket. Szóval nagyon jók abban, hogy van egy napi Slack szál a felmerült problémákkal, hogy lépést tudjak tartani, és ha kell valami, pingelnek, um, én, én igyekszem a legjobb tudásom szerint reagálni, uh, és reggel a lehető leggyorsabban elintézem ezeket. Szóval, uh, kicsit olyan, hogy az időeltolódás nem ideális, de az sem, sikerült egész jól megoldanunk. Um, aztán fordítva, a másik oldal is megvan, mert tudják, hogy van a csapatban valaki, aki kicsit később van ébren. Szóval voltak kollégák, tudod, hat óra van a keleti parton, és azt mondják: ó, ez elromlott. Hé, Isaac a nyugati parton van, Isaac segíthet ebben, mert ott még csak három óra van. Uh, szóval mindkét irányban működik. Um, igen, a,

Jonathan: Igen.

Isaac: Igen, szóval 2019-ben, bocs, 2020-ban hagytam el a Google-t. 2019-ben interjúztam. 2020 májusában kellett volna csatlakoznom. 2020 augusztusában, áprilisában terveztem a költözést, de elkezdődött a COVID meg minden, és az iroda bezárt, és csak annyi volt, hogy ó, az iroda még nem nyitott ki. Amint kinyit, átköltözik. Aztán a világjárvány második évében újra kezdték nyitni az irodát. És úgy voltam vele, tudod, nem vagyok benne biztos, hogy még akarok költözni. New York nagyon izgalmasnak hangzott, de nyitva voltak a vállalkozások, tudod, helyszínek és dolgok. De most, hogy világjárvány van, sok minden már nem hangzik olyan izgalmasnak. Szóval távmunkába váltottam, miután két évig távolról dolgoztam.

Jonathan: És te városi ember vagy, vidéki, vagy valahol a kettő között? Mert New York város. 100%-ban város. Úgy értem, nincs kétféleképpen. Tudod, mire gondolok? Szóval ez elég nagy váltás lett volna, gondolom. Igen. De izgalmas mindenképp.

Isaac: Nagyvárosi környéken nőttem fel, szóval nem idegen tőlem a városi élet. Jelenleg külvárosban élek. Szeretek túrázni és kerékpározni, és igyekszem minél gyakrabban kint lenni a szabadban. Szóval élvezem, hogy külvárosban élek, közel csodálatos túra- és kerékpárutakhoz meg ilyesmihez. New Yorkba költözni elég nagy változás lenne. De úgy gondolom, hogy néha keverni a dolgokat nem rossz dolog. És ha utálom az életem New Yorkban, mindig elköltözhetek.

Jonathan: Ez nem is olyan nehéz. De ez menő. Szóval most valószínűleg, javíts ki, ha tévedek, sok időt töltesz a képernyő előtt, mint egy irodában, otthoni irodában vagy ilyesmi. Kijársz minden nap, hogy... hogyan egyensúlyozod a képernyős világot a... van napi időd, amikor azt mondod, ki kell mennem, és csinálni valami mást?

Isaac: Bárcsak így tenék. Néhány nap vagy hónap vagy év jobb, mint mások. 2020-ban. Egész jó voltam, szinte minden nap kerékpároztam. A legtöbb hétvégén kimegyek. Igyekszem hetente egyszer túrázni. Nem voltam ebben túl jó, de megyek túrázni. Évszaktól függ. Kaliforniában vagyok. Néhány hét rendkívül meleg. Most is volt egy hőhullám, amikor... egy hétig folyamatosan 40 Celsius fok felett volt. Ez nehezíti a szabadba jutást. Kaliforniában vagyunk, ahol tüzek vannak, szóval tudod, néha egy-két hétig a kinti levegő minősége nem teljesen biztonságos a lélegzéshez. Ez nehezíti a szabadtéri tevékenységet Kaliforniában néhány héten. Aztán a világjárvány idején bent lenni szintén kihívás. Szóval biztosan vannak hetek, amikor sokkal többet vagyok bent, mint máskor. De szeretek kint lenni. Voltak, tudod, voltak hat hónapos időszakok, amikor túráztam, legalább kéthetente elmentem túrázni.

Jonathan: és aztán.

Isaac: Voltak időszakok, amikor havonta egyszer sátoroztam, tudod, hat hónapig egyfolytában. Szóval vannak időszakok, amikor jobb vagyok, és vannak időszakok, amikor csak bent vagyok a házban két hétig egyfolytában.

Jonathan: Igen, ez menő. És szóval Isaac, mi a következő... Talán, nem tudom, talán nem gondolkodtál ilyen előre, de hogyan néz ki számodra a következő öt év, van valami elképzelésed, vagy olyan vagy, hogy saját vállalkozást akarok indítani, vagy ezt akarom csinálni, vagy csak élvezed az életet, és élvezed, ahol vagy?

Isaac: Én, mielőtt a nyugati partra költöztem, azt hittem, jobban kézben tartom, hogyan fog kinézni a jövőm. De hogy mindez a feje tetejére állt, megtanított arra, hogy nagyon nehéz megjósolni, mi fog történni a következő évben, nemhogy öt év múlva. Elég boldog vagyok. Nemrég váltottam munkahelyet. Két, két és fél éve váltottam. Eléggé élvezem a jelenlegi munkámat, szóval nem látom, hogy ez hamarosan változna. Boldog lennék, ha a következő két-három évben, öt év múlva is ugyanazon a munkahelyen maradhatnék. Szeretek Kaliforniában élni. Szeretek túrázni, kerékpározni, sátorozni meg mindent. Szóval nem látom, hogy túl hamar elhagynám Kaliforniát. És nem látom, hogy hamarosan elhagynám azt a munkahelyet, mert eléggé élvezem ott a munkát. Szóval eléggé elégedett vagyok, és nem látok semmilyen nagy... nincsenek nagy változások terveimben, de nagyon nehéz megmondani.

Jonathan: Ez menő. Oké, van még néhány kérdésem, amiben szeretném a véleményedet. Az első valószínűleg nem az, amire felkészítettelek, hanem az... Szóval ha most... Ha most bejönne 10 ember az irodádba, 10 teljesen idegen, és nem tudnál semmit a programozásról, és lenne köztük hárfás és kertész meg minden, mi lenne a három legfontosabb tipped, amit adnál nekik, hogy elkezdjenek programozni tanulni? Szóval, ha le tudnád egyszerűsíteni arra, hogy ezt mindenáron csináld, mik lennének azok a tippek?

Isaac: Szóval az első számú javaslatom az lenne, hogy próbálj találni egy problémát, amit programozással meg tudnál oldani. Szóval van egy konkrét projekted, ami motivációt ad, anélkül hogy konkrét célt tűznél ki magad elé, ami előre visz. Rendkívül nehéz programozni tanulni... hasonlóan minden más készséghez, a programozás megtanulása elég sok kitartást vagy szívósságot igényel. Csak folyamatosan csinálni kell. Eleinte nagyon nehéz lehet. Nagyon frusztráló lehet. Ha nincs valami, ami előre visz, nagyon könnyű feladni. Szóval ha egyáltalán lehetséges, sokat segít, ha van valami, amit tényleg szeretnél megcsinálni vele. Ez az egész ugyanabba a tanács-konstellációba tartozik. Csak folyamatosan csinálni kell. Sokat segít, ha türelmes vagy magadhoz, és felismered, hogy új készséget tanulsz, és sokszor fogsz kudarcot vallani. Volt néhány ember, aki megpróbált programozni tanulni, és frusztrált lett. Azt mondták: ó, általában jó vagyok a dolgokban, és ez nem működik azonnal. Én meg: igen, a kudarc a tanulási folyamat része. És ha kényelmetlenül érzed magad, amikor valamiben kudarcot vallasz, nagyon nehéz új készségeket elsajátítani. Türelmesnek kell lenned magadhoz és a folyamathoz, és csak sokszor folyamatosan csinálni.

Jonathan: Ez hasznos. Úgy értem, azt mondanám, ez olyan... Csak most jöttem rá, hogyan működnek a metódusok. És ez csak úgy jött, mert sok tudás, hát, amikor az emberek dolgokról beszélnek, rengeteg feltételezett tudás van, amikor tanítanak, főleg. Szóval hirtelen mindenki dobálja ezt a metódus szót. Én meg: mi a fene az a metódus? Mi folyik itt? És csak a Go-s csoporton keresztül kezdtem rájönni, hogy ó, a metódusok így működnek. De majdnem olyan volt, mint amikor leesik a tantusz, de annyira bele kellett merülnöm ebbe a környezetbe és terminológiába, hogy lassan beszivárgott. Azt mondanám, ez volt az egyik legnagyobb tanulság számomra, hogy ne próbáljak meg mindent megtanulni, hanem csak apránként haladjak egy egyszerű fogalommal. Mert minden annyira összefügg, hogy végül képes leszel elkezdeni összefűzni a gondolati modellt, ami nagyon fontos. Szóval ez egy remek kis eszköz. Megismertetem az emberekkel, hogy Isaac javaslata: légy türelmes és kedves magadhoz, és apránként haladj. Ez nagyon menő. Oké. Aztán az utolsó kérdésem, mielőtt hagyom, hogy folytasd a napodat, csapatként beszéltünk erről a koncepcióról, a dombról, amiért hajlandó lennél meghalni a techben. Ez elég melodramatikusnak hangzik, és sok dráma van benne. Az ötlet lényegében az, hogy mi az az egy dolog, amit abszolút kulcsfontosságúnak tartasz, ami olyan, mint egy megingathatatlan gondolkodásmód vagy nézőpont, amit a techben képviselni kell. Jó példa lenne, nem tudom, nagyon triviális szinten, én mindig a függvényeimet teszem előre, aztán írom a CSS-t, ha frontendet csinálok. Szóval funkcionalitás, aztán logika, aztán minden más. Lehet, tudod, volt egy, Rebecca, aki a Unison kurzust vezeti. Ő azt mondta, inkább lenne egy zsenije, aki véleményes és nehéz vele dolgozni. Inkább lenne 50 embere, aki igazán szeret csapatban dolgozni és együtt problémákat megoldani, mint egy zseni, aki az összes sávszélességet elveszi a menedzselés szempontjából. Szóval ez volt az egyik, és szépen fogalmaztam, de mi lenne a te dombod, amiért meghalnál a tech térben, ami a te meg nem kérdőjelezhető elved?

Isaac: Ez valószínűleg rendkívül erősen befolyásolt attól, ahogy a Google csinálja a dolgokat. A Google-nál van ez a readability koncepció, ahol a code-nak könnyen olvashatónak kell lennie. És amikor code-ot írok, sok mindenben azt akarom, hogy a code-om egyszerű legyen olvasni és érteni. És sok code-ot láttam, különösen code-ban, ahol nagy hangsúly van a hatékonyságon, a benchmarkingon és a code gyorsításán. És gyakran elismerem, hogy amit csinálok, az nem feltétlenül a leghatékonyabb, de ha úgy találom, hogy a code könnyebben olvasható, akkor a könnyen olvasható, nem hatékony code-ot előnyben részesítem a szuperhatékony code-dal szemben. Szóval, tudod, van egy közismert idézet, nem tudom pontosan kinek tulajdonítják, hogy a korai optimalizálás minden gonosz gyökere. És amikor az emberek azt kérdezik, ó, hogyan lehetne ez hatékonyabb? Én meg: szükség van rá, hogy hatékonyabb legyen? Találkoztál már, tudod, éles környezetben futsz, és hatékonysági problémákba ütközöl? Ez túl lassú ahhoz, hogy élesben használják? Ha valójában nem tapasztaltad a code problémáját éles környezetben, ahol hatékonyabbnak kellene lennie, miért tennéd hatékonyabbá? Így könnyebb olvasni. Könnyebb karbantartani. Mások is megérthetik, mi történik. Miért adnál fel jól megírt, könnyen kezelhető és karbantartható code-ot, hogy megspórolj néhány CPU-ciklust? Elég olcsó az áram és elég olcsók a CPU-k ahhoz, hogy ne kelljen optimalizálni a code-ot? Csak azért, hogy optimalizáljuk.

Jonathan: Igen, ez mindig vicces, mert ez egyike azoknak a dolgoknak, amikor azt mondom... a programunk 30 milliszekundum alatt lefordult és lefutott. Erre ők: ó, de lecsökkentettük 20 milliszekundumra. Én meg: nem is tudom megmondani. Nem tudnám megmondani, melyik volt gyorsabb, melyik lassabb. Ez gyorsnak tűnik. Szóval szerintem ez jó pont. Biztos vagyok benne, hogy élvezném a code-od olvasását, de ez remek. Isaac, nagyon köszönöm az idődet, hogy korán felkeltél, és elviselted a load sheddinget a déli féltekén. És hogy én teljes sötétségben ülök, biztos vagyok benne, hogy ez elég komikus lehet neked. De nagyon köszönöm az idődet. És várom, hogy találkozzunk a jövőbeli tanulócsoportokban és a mentorálási streamekben meg mindenben. És köszönöm mindazt a hozzájárulást, amit az Exercism-höz és általában nyújtasz. Nagyon értékelem. És igen, még egyszer nagyon köszönöm. És egy pillanat múlva találkozunk. Nem, öröm volt. Vigyázz magadra, Isaac. Szia.

Isaac: Még egyszer nagyon köszönöm. Nem, öröm volt. Vigyázz magadra, Isaac.

További történetek a közösségünkből

Hallgass, tanulj és meríts ihletet a közösségünk tagjaitól.