Az erő és az Umbraco vele van

Interjú Essig-Kacsó Attilával, az ALLWIN egyik úttörő Umbraco fejlesztőjével egyenesen Kanadából, avagy jet lagen innen és túl

Mikor és miért kezdtél el az ALLWIN-nál dolgozni?

Attila: 2017-ben csatlakoztam, mert szakmai gyakorlat kellett az egyetemhez a BME-n. Volt egy állásbörze az egyetemen és ott néztem körül, hogy hol lehetne szakmai gyakorlatot szerezni. És akkor ott volt az ALLWIN standja és hát tetszett az egész. Letisztultnak tűnt a design, meg ott volt Isti (Nagy István, az ALLWIN CEO-ja - a szerk.) és úgy nézett ki, mint Obi-Wan Kenobi. Az erő hívott engem, hogy kitöltsek egy tesztet, és az eredményeim alapján behívtak interjúzni.

Izbéki Ádámmal együtt kezdtél nálunk annak idején, évfolyamtársak is voltatok. Ezek szerint te is egyetemi projekteket vittél az interjúra?

Attila: Igen, hiszen nem volt sok tapasztalatom. De igazából nem sikerült bemutatni őket. Jó kis demo effektus: nem indultak el a projektek. Persze bezzeg otthon elindultak, de szerintem azért látták a kódból, hogy azért tudok kódot írni, meg kérdéseket is tettek fel.

Gondolom azt is igyekeztek megtudni a kollégák, hogy milyen a személyiséged.

Attila: Igen, határozottan. Szerintem az ALLWIN-nál nagyon fontos szempont, hogy illeszkedjen az új belépő a csapatba. Többször előfordult, hogy szakmailag az elvárt szint felett teljesítő jelöltnek nem tudtunk ajánlatot adni, mert nem voltunk biztosak abban, hogy be tudna illeszkedni a közösségünkbe.

De ti Ádámmal megfeleltetek, és már 5 éve erősítitek az ALLWIN-t. Mire emlékszel az elejéből, az azóta már nálunk is “onboarding”-nak nevezett időszakból?

Attila: Arra emlékszem, hogy megkönnyítette számomra a folyamatot az, hogy nem egyedül kezdtem, hanem Izbéki Ádámmal, akivel bár egy évfolyamra jártunk, csak itt találkoztunk először az ALLWIN-nál. Igazából együtt tanultunk be, és tudtunk egymásnak is segíteni, vagy egymástól kérdezni. Egyébként pedig mindkettőnknek TT (Tárnok Tamás szoftver architekt – szerk.) volt a mentora. Emlékszem, hogy videókból tanultam, meg hogy egy példa Sitecore-t kellett lokálisan felhúzni. Macerás volt, ez egyébként a mai napig az. Sitecore 10-től persze már nem. Nemrég rákerültem egy új projektre, ami hatalmas projekt, és kb. két hét volt összepattintani, mert annyira komplex tud lenni egy Sitecore rendszer meg olyan sok helyen el tud csúszni.

Visszatérve a betanulásra: Ádámmal úgy a harmadik  héten kerültünk rá egy projektre, TT pedig mutatta, hogy mit hogyan kellene csinálni, de ő nem is fejlesztett. Megcsinálta a skeleton project-et, és mi fejlesztettünk. TT pedig folyamatosan code review-zott, ami nagyon király volt. Persze az is jó lett volna, ha lett volna egy vezetőfejlesztő, akinek látjuk a kódját, hogy ő hogy csinálja, de ez is abszolút hasznos volt. Csak mélyvizesebb.

Forrás

Ez akkor igazi “learning by doing” élmény lehetett.

Attila: Igen, igen, ami szerintem nagyon jó út. Nyilván nagyon sok visszajelzés jött. Meg akkoriban talán nem is biztos, hogy jól kezeltem ezeket a visszajelzéseket. Mindig próbáltam kifogást keresni, hogy ezt miért csinálom, és ez miért jó, pedig nem volt jó egyáltalán. Ma már sokkal jobban veszem a visszajelzéseket. Az a jó az ALLWIN-nál, hogy vannak negyedévente visszajelzések, és ha egy projekten esetleg nem úgy megy valami, ahogy kellene, akkor visszajönnek az infók. És ezek ilyen építő jellegű kritikák mindig.

Ezután évekig Sitecore-oztál, ha jól tudom, úgyhogy volt időd elmélyülni benne.

Attila: Igen, négy évig Sitecore-oztam. Kicsit éreztem is a változatosság hiányát, ezért kaptam lehetőséget váltani. Így került a képbe az Umbraco. Az ALLWIN első igazi Umbraco projektje már elkezdődött, amikor én csatlakoztam.

Említetted, hogy a Sitecore esetében volt egy kéthetes betanulás, meg azért az első projekten is végig tanultatok. Ehhez képest miben más az Umbraco betanulási folyamata?

Attila: Sitecore-ból jövök, tehát egy elég komplex rendszerben kellett már gondolkodnom pár év után. Az Umbraco egy sokkal könnyedebb, kevésbé komplex rendszer, ezért felfrissülés volt. Ami az Umbraco betanulási görbéjét illeti, azt kell mondjam, ha ASP .NET alaptudás van, akkor viszonylag könnyű, sőt, igazából az Umbraco-val együtt megtanulni, hogy milyen egy ASP .NET-re épülő keretrendszerben dolgozni, szintén jó lehet.

És hogyan épül fel az Umbraco betanulási folyamat az ALLWIN-nál?

Attila: Mostanra kialakult egy sokkal kiforrottabb rendszer, amiben elsajátítják az Umbraco-t a fejlesztők a cégnél, mint amikor én váltottam Sitecore-ról erre a CMS-re. Jobban össze vannak szedve a cikkek, videók meg a leírás, ami egyébként folyamatosan bővül, mert az Umbraco csapat is folyamatosan bővül. Igazából minden egyes új ember egy frissített verziót kap, hiszen mindig beletesszük a saját tapasztalatainkat is. Mert azért vannak az Umbraco-n belül is csapdák és persze az aktuális Umbraco verzión belüli újításokkal is megtoldjuk a tananyagot.

Akkor neked még nem így zajlott a betanulás?

Attila: Kaptam egy alapcsomagot és fejlesztés közben kellett keresgélni a neten, mert voltak részek, amikről nem tudtuk, hogyan működnek, de azokat igazából senki sem tudta. Azt az utat ki kellett taposnunk mindenképpen, nem lehetett beletenni a csomagba, mert nem is tudtuk, hogy van olyan út. De számomra nagyon inspiráló volt, hogy felfedezünk. Csomó olyan probléma volt, amire nem volt még megoldás fórumokon, és nekünk kellett kitalálni valamit, ami egy kétélű fegyver persze, de általában jól sültek el ezek a próbálkozások. Az is motiváló volt számomra, hogy nem volt előttem egy 15 fős ALLWIN Umbraco csapat, amihez 16.-ként csatlakoztam volna, hanem mi voltunk a cégnél a technológia úttörői és mellénk csatlakoztak új emberek, tőlünk tanultak. Ez nagyon jó érzés.

Forrás

És általánosságban véve miért szerethető fejlesztőként az Umbraco?

Attila: Talán a legfőbb érv mellette az, hogy open source. Tehát abszolút lehet böngészni a kódot, meg ha nagyon-nagyon variálni szeretnénk fejlesztőként, akkor az is lehet, hogy belenyúlunk a kódba. Mert az open source kódoknak az az egyik előnye, hogy le lehet szedni az egész repository-t, és bárhol bele lehet írni bármit. Illetve, hogy ez egy eléggé light weight rendszer, tehát villámgyors, könnyen lehet benne egyszerű dolgokat lefejleszteni, gyorsan össze lehet pattintani egy oldalt.

Különös véletlen, hogy az ALLWIN Open Szósz (majdnem open source) Podcast-jének szeptemberi epizódjában egyik úttörő társad, Farkas Gergő Team Lead jelölt is mesél az Umbraco-ról. 😊

Az általad említett gyorsaság és egyszerűség egyébként vonzó a fejlesztők számára?

Attila: Lehet ez is, az is. Az is vonzó, amikor egy komplex dolgot szeretne a fejlesztő megcsinálni, és ahhoz megvannak az eszközök, és a Sitecore az ilyen. Ott nagyon komplex dolgokat lehet csinálni, és nagyon sok eszközt is kapunk hozzá. És akkor az izgi, mert ott egy várat építünk. Igazából itt az Umbraco-nál pedig kunyhót építünk. Van egy-két eszközünk, de őket nagyon könnyű használni. Nem fejszével vágjuk a fát, hanem láncfűrésszel. Gyorsan lehet felépíteni egy kis házikót. Pikk-pakk elindul az oldal, a deploy is, tehát egy új fejlesztés öt percen belül kint van.

Ezt úgy értelmezem, hogy hamar van kézzelfogható és látványos eredménye a fejlesztői munkának az Umbraco esetében.

Attila: Igen, igen. Plusz elég rugalmas, tehát mondjuk headless-ként is lehet alkalmazni, mert most az Umbraco ad egy ilyen MVC-s csomagot, szóval sima backend fejlesztőként is össze lehet rakni egy oldalt. De lehet headlessként is használni, ami annyiban jó, hogy lehet egy frontendes csapat és egy backendes csapat, meghatározzuk az interface-t, és egymástól függetlenül tudnak dolgozni. Nálunk most éppen ez történik, és szuper hatékony. Csináltunk egy saját Umbraco headless CMS-t, ami egész jól működik és szerintem nagyon sok dolgot tovább tudunk majd vinni.

Mikor használjuk az Umbraco-t? Az ügyfeleknek miért ajánljuk?

Attila: Ha egyszerű oldalról van szó, nem nagyon komplex modulokról, akkor elég gyorsan lehet fejleszteni, ami ugye azt is jelenti, hogy könnyű karbantartani, ami egyenlő az olcsósággal. Ott van még a könnyebb átadhatóság. Nagyon letisztult a tartalom, a fejlesztői felület nincs tele zsúfolva mindenféle funkcióval, van benne pár funkció, amik egyértelműek. Nem az van, hogy van fent negyvenöt gomb, és akkor most mindegyiket meg kell tanulni, hogy mit csinál, hanem egyértelműen van pár gomb, és akkor bizonyos helyeken bizonyos dolgokat lehet csinálni, de nincs telezsúfolva, nem fullad meg a tartalomszerkesztő. Az ügyfeleknek tök jó lehet, hogy egy oldal több nyelven is megjelenhet. Ennek vannak kisebb korlátai, bár megoldható minden, csak nem olyan kényelmes, mint Sitecore-ban.

Honnan hová lehet eljutni Umbraco fejlesztőként? Milyen karrierutak vannak?

Attila: Ezen a karrierúton Farkas Gergővel együtt elsőként járunk a cégnél. Nagyon az elején vagyunk. Az ALLWIN szeretne az Umbraco hivatalos partnerévé válni, ami úgy történhet meg, hogy ha van Umbraco Certified fejlesztőnk. Így hát mi ketten Gergővel nekivágunk ennek is elsőként, aztán pedig az Umbraco-s csapat többi tagja követ majd minket. Ennek vannak szintjei aszerint, hogy ki milyen szintű fejlesztő Umbraco területen. Az első szint az Umbraco Professional, ezt követi az Umbraco Expert, végül a legmagasabb szint az Umbraco Master. Szépen végig kell menni a létrán, nem lehet egyből Master vizsgát tenni.

Umbraco képesítések

Nem az Umbraco Professional vizsga lenne az első vizsga, amin megméretteted magad idén, ugye?

Attila: Nem, idén itt volt Budapesten a SUGCON, ahol többen Sitecore vizsgát tettünk.

Igen, beszéltünk is utána és azt mondtad, hogy nagyon izgalmas és inspiráló volt, hogy a headless irányba mennek.

Attila: Igen, új technológia, headless meg konténerizáció. Nem az van már, hogy két-három hét, amíg te magadnak összepattintasz egy komplex Sitecore rendszert. A Sitecore 10-től fél nap alatt tudjuk onboardolni az új kollégát a projekten.

Ez mindenképpen nagy előrelépés. A szintekre visszatérve, olvastam, hogy Umbraco MVP címet is lehet szerezni, hasonlóan a Sitecore MVP címhez, amiből Tárnok Tamás kollégánknak figyelemreméltó gyűjteménye van.

Attila: Igen, de azt tudjuk, hogy ez nem annyi, hogy levizsgázol és aztán MVP vagy. Hanem kiválasztanak bizonyos kritériumok mentén. Például az Umbraco fórumban, pull requestek-ben, fesztiválokban, meetupok-ban való részvétel is számít, egyebek mellett.

Ahogy ezt Tárnok Tamás kollégánk esetében is látjuk.

Milyen kihívásokat rejt magában az Umbraco?

Attila: Ha van egy problémád és rákeresel, akkor nem biztos, hogy megtalálod a megoldást. Szerintem kevés Umbraco-s fejlesztő van a világon, így a fórum nem olyan gazdag, mint a Sitecore-nál. Ott ha rákerestem valamire, akkor az már valahol egyszer megtörtént. Az Umbraco-val viszont vannak járatlan utak, egészen egyszerű kérdésekre sem biztos, hogy megtalálod a választ.

Forrás

Akkor milyen kvalitásokkal rendelkező fejlesztőknek ajánlanád ezt a technológiát?

Attila: Olyanoknak, akiket nem zavarnak a keretek. Mert bármilyen komplex is akár egy Sitecore, akár egy Umbraco projekt, mégis csak keretek között van a fejlesztő.

De azért ki tud belőle lépni. Például pont a mostani projekten maga a tartalom Umbraco-ban van, de a frontend alkalmazás teljesen független, önálló életet él és csak használja az adatokat. Szóval végülis nem muszáj csak Umbracon-n belül gondolkodni, de mégis csak keretet határoz meg.

Ezen az említett projekten vezetőfejlesztőként funkcionálsz, ha jól tudom.

Attila: Igen, ez az első projektem, amin vezetőfejlesztő vagyok. Igazából folyik egy képzés is, de még a képzés előtt kezdtem el vezetőfejlesztősködni. Szerencsére Farkas Gergő TL jelölt kollégám mentorál engem. Szerintem nagyon jó mentor, mert megosztja velem, hogy ő annak idején milyen csapdákba sétált bele vezetőfejlesztőként, és én ezeket már ki tudom így kerülni. Mutatja nekem az utat, terelget engem.

Mit csinál nálunk egy vezetőfejlesztő? Hogy kell ezt elképzelni?

Attila: Egy vezetőfejlesztő sok szerepkört betölthet. Most például mi terveztük meg a projektet, az architektúrát, meg hogy hogyan fog kommunikálni a rendszer. A brief meg az ajánlat alapján megírtuk a funkcionális specifikációt. Ügyfélkommunikáltunk, megbeszéltük, hogy mi van benne a scope-ban, mi nincs benne a scope-ban. Becsléseket készítünk, meg fenntartjuk a jó ügyfélkapcsolatot. És persze code review-zunk ezerrel.

Ezeknek a feladatoknak az ellátásában segít a belső vezetőfejlesztőképzésünk?

Attila: Természetesen. Az első részben például tisztáztuk a szerepköröket, felelősségeket, hogy milyen sapkákat vehetünk fel vezetőfejlesztőként, meg mik azok a feladatok, amiket delegálhatunk mondjuk a projektmenedzsernek, az architekteknek, vagy akár a fejlesztőknek. És van soft skill része is a képzésnek. Itt beszéltünk például arról, hogyan érdemes kommunikálni az egyes stakeholder-ekkel a projekten.

Forrás

Például azt is kiveséztük, hogy a bizalom mennyire fontos, és hogy milyen sokrétű, meg hogyan lehet bizalmat kialakítani. És azt látom, hogy határozottan be tudom építeni a képzésen elhangzottakat a napi munkámba. Persze csak apránként.

Ráadásul ez egy teljesen interaktív, gyakorlatorientált képzés. Nem az van, hogy ledarálják, hogy mit kell hogyan jól csinálni, hanem gyakorlat is van. Kis projektfeladat, kommunikálni kell, együtt kell összeszedni ezeket a pontokat, és ha valamit kihagyunk, akkor azt kiegészítik a képzés vezetői. Meg ők is kérnek visszajelzést, hogy mi az, ami jó volt, mi az, ami rossz volt, mi az, ami lehet fejleszteni. Még az elrendezés sem olyan iskolás, hanem körben vagyunk és kommunikálunk, egymással szemben vagyunk, hogy mindenki lásson mindenkit.

Milyen távlati karriercéljaid vannak?

Attila: Én vezetőfejlesztő irányba szeretnék menni. Nálunk az ALLWIN-nál el lehet menni Team Lead, meg vezetőfejlesztői irányba, akár lehet architekt is az ember. De az is megesik, egy vezetőfejlesztőből végül projektmenedzser lesz, aki sokszor tök jól belelát a kódba is, de egyébként meg inkább elmegy ebbe a projektmenedzselés meg erőforráskezelés irányba. Engem ezek közül a vezetőfejlesztői irány érdekel, és addig szeretnék elmenni ebben, ameddig csak lehet. Nagyon fontos a fejlesztés számomra, de most már elkezd fontos lenni a tervezés is. De nem akarok átesni a ló túloldalára, hogy akkor én csak tervezgetek, de kódot nem írok. Mert például a Team Lead-ek nálunk sokszor igen keveset kódolnak a sok people menedzsment feladatuk miatt. Nekem egyelőre fontos, hogy megmaradjon a fejlesztés, de ez a jövőben változhat.

5 éve dolgozol az ALLWIN-nál. Miben rejlik számodra a megtartó ereje?

Attila: Nem tudom, milyen máshol dolgozni, mert itt kezdtem a karrierem, és azóta is itt vagyok, de én itt jól érzem magam. Jó a közösség, jó a munka is, és ha mégsem, és ezt jelzem, akkor arra megpróbál az ALLWIN mindenképpen megoldást találni. A rugalmasságot tükrözi az is, hogy még jóval a COVID előtt egy hónapot dolgozhattam Thaiföldről. Most meg Kanadából dolgozom egy hetet, ami kilenc óra eltolódást jelent, tehát ügyféllel is le kellett egyeztetni a megbeszélések miatt. És nem volt belőle gond.

Ezen túl az ALLWIN-on belül vannak kialakult közösségek, mint például a Terasz, ami tök jó. Mi tartjuk a kapcsolatot, és az elején csomószor volt munkáról szó, most meg már szinte sosincs szó róla. Egészen baráti társaság lettünk mostanra.

Attila Kanadából adott interjút

Örülök ennek, és azt hallottam, hogy alumni kollégák is felbukkannak a társaságotokban, aminek számomra határozottan pozitív üzenete van.

Attila: Igen, ez magáért beszél. Ha egy cégnél dolgozol, és mondjuk egy idő után elsodor onnan az élet, mégis megmaradnak a munkakapcsolataid, amik már nem is annyira munkakapcsolatok, hanem inkább barátságok, az azt jelenti, hogy te attól a cégtől merítettél.

Egyetértek. Viszont van egy másik csapat is, aminek oszlopos tagja vagy, igaz?

Attila: Igen, 12 éve versenyszerűen korfball-ozom. Nyilván amikor karanténos időszak volt, akkor nem nagyon sportoltunk, de a közösség megmaradt. Az egyik legnagyobb büszkeségem, hogy az NBI B-t megnyertük egyszer. Azért évekig küzdöttünk, a csapat teljes jogú tagja voltam, még tinédzser koromban. Akkor ott együtt próbáltunk meccsről meccsre egyre jobb eredményt elérni. Az volt a legjobb időszak egyébként, akkor voltam a leglelkesebb és a legtörtetőbb. Motiváltuk egymást.

Aztán a magyar válogatottnak is tagja voltam. Most már nem fektetek bele annyi energiát, amennyit kellene, hogy tagja legyek, de néha megyek most is segíteni. Hogy legyen ember az edzéseken védekezők. Ott edzek velük, de nem feltétlenül van bennem az a törtetés, és hogy kimenjek egy nemzetközi bajnokságra. Az előbb említett közösséggel együtt a célunk már nem az, hogy bajnokságot nyerjünk, hanem azért megyünk tornákra, hogy jól érezzük magunkat .