Az Atlassian Platinum Enterprise Solution Partnerként az ausztrál cég termékeit népszerűsítik (Jira, Confluence...). Kizárólag Atlassiannal foglalkoznak, de azon belül mindennel. Atlassian Verified Vendorként négy addonjukat 6000+ cég hatmillió felhasználója használja napi szinten. Ezek garantálják, hogy Atlassian bevezetésben, oktatásban, tanácsadásban a régióban elérhető legjobb megoldást kapja, aki a META-INF-et választja. Szuper közösségben dolgozhatsz, érdekes és változatos projekteken, ahogy azt Kelemen Márton, Szoftverfejlesztő mérnök beszámolójában is láthatjuk:
Milyen feladaton dolgozol jelenleg?
Atlassian-termékfejlesztésben veszek részt, ahol elsősorban egy Jirába épülő, piacvezető emailező kliens (Jira addon) funkcióbővítése, illetve nagyfokú újrastrukturálása (Atlassian-on belüli platform-függetlenítése) zajlik. Jelenleg ezen addon funkcionalitásának lépésenkénti (modulonkénti) migrálása van leginkább fókuszban, de több másik app fejlesztése is folyamatban van, ahová be-besegítek.
Hogyan dolgozol?
Csapatban dolgozom, leginkább napi szintű - vagy sokszor még gyakoribb - egyeztetések mellett, ami segíti a fókusztartást és a gördülékeny előrehaladást.
Rendszeresek (kb. heti gyakorisággal) a tervezett megbeszélések, ahol a SCRUM módszertan szerinti backlog grooming-ra és egyéb sprint-ceremóniákra kell gondolni, de ad-hoc jelleggel is sokszor ötletelünk, igény szerint segítünk egymásnak, illetve az utóbbi időben többször alkalmaztuk sikerrel - és örömmel - az XP, azon belül is a pair programming és közös peer review-k gyakorlatát.
Ez a fajta egymásra való odafigyelés és (sokszor teljesen organikus) közös munka segíti a kívánatos minőségi szint kialakulását és fenntartását is.
Maguk az interakciók egyébként - főleg a Covid miatti távmunka során jellemzően - a virtuális térben (Slack, Google Meet) is történnek, s bár a kommunikáció ezeken keresztül is egészen gördülékenyen működik, lehetőség szerint én mégis a személyes megjelenést pártolom, amelyre a szuper, teljesen új irodánkban tökéletes lehetőség adódik.
Kifejezetten fejlesztői szempontból a napi szinten használt tool-ok: IntelliJ IDEA, Git, Bitbucket (+ Pipelines), Docker, JFrog Artifactory, AWS, Jira, Confluence, Slack.
Maga a fejlesztés többnyire Java (backend) és JavaScript (frontend) nyelven zajlik, s mivel az Atlassian termékei párhuzamosan több technológiai platformon futnak (Server/DC, AC, Forge) - melyeket nekünk is támogatni kell, pontosabban ezekre építkezünk - így a fejlesztés különféle framework-ök használatával valósul meg, sokszor az atlassianos platformokba beleszőve (Javában: Spring és Play, JS-ben: React, alap HTML-lel és CSS-sel kiegészítve). A cloud technológiák előtérbe kerülésével egyre többet dolgozunk AWS-sel (Kubernetes+Helm használatával), illetve a microservice architektúra bevezetése, a skálázhatósági, illetve web security szempontok megvalósítása is folyamatosan napirenden vannak.
Mit csinálsz egy munkanapod során?
Reggel egy proaktív szellemben megtartott standup-pal kezdünk, ahol átbeszéljük a napi teendőket, esetlegesen elhárítandó akadályokat. Utána általában egyéni tempóban haladunk a feladatokkal, kivéve, ha a feladat jellege másképp kívánja.
Tipikusan kisebb taskokra bontott, előre kidolgozott (részletesen specifikált) user story-kon dolgozunk, amelyek implementációja mellett a unit (és néha integrációs) tesztek megírása is a feladat részét képezi.
Az aktuális sprint feladatait és azok állapotát egy Jira workflow-ban követjük nyomon, amely a gyors reakciók mellett (pl. code review vagy merge szükségessége) a worklogolást is megkönnyíti (kb. minden egy helyen van), míg a dokumentációt Confluence-ben vezetjük.
A fejlesztői munka része sokszor egyes (hiba)jelenségek reprodukálása különféle környezeteken, ezzel besegítve a termék support-os illetve a tesztelő kollégáknak, akikkel egyébként szoros kapcsolatban állunk.
A fejlesztői feladatkör elég széles spektrumot fed le, a kódolás mellett rendszeresek a saját igényeink szerint kialakított - és folyamatosan újragondolt - specifikációk elkészítése, az ehhez szükséges szakmai kutakodás elvégzése és az eredmények közös megvitatása, az elkészült feature-ök felhasználói dokumentációjának elkészítése-frissítése, a szoftververziók kiadása, illetve magunk és egymás folyamatos képzése, akár informális, akár formális úton (pl. időről-időre tartunk tudásmegosztó session-öket is). Fontos megemlíteni, hogy a csapat relatíve kis mérete ellenére is folyamatosan próbáljuk a legmodernebb, az iparágban sztenderddé váló elveket és toolchain-eket bevezetni és használni (DevSecOps-szemlélet, CI/CD pipeline, Sonar, több szinten automatizált tesztek, stb.), és ezek kialakításában és működtetésében is van szerepe és felelőssége a fejlesztőknek (a dedikált DevOps-csapat mellett). A kód írása és az infrastruktúra üzemeltetése itt szervesen összekapcsolódik, ugyanakkor a hatékonyság (kiszámíthatóság, tervezhetőség) növelése céljából ezeket időben és térben próbáljuk egyre inkább elkülöníteni, és dedikált squad-okban megcélozni a különféle jellegű feladatokat.
Röviden talán úgy foglalhatnám össze, hogy egy fejlesztőnek itt a teljes SDLC-re hatása van (és minden fázishoz kapcsolódik felelőssége is), továbbá egy-egy feladat implementálása is többnyire vertikális tudást igényel (“full-stack” jelleggel fejlesztünk) - még ha mindenkinek vannak erősebb területei is, ezáltal sokszor segítve egymást.
Bár ez kevéssé a napi munkára jellemző, de a szakmai fejlődésünkre céges eszközök és erőforrások is rendelkezésre állnak - sokszor csapatszinten veszünk részt minőségi tanfolyamokon, workshopokon az új technológiák, módszertanok elsajátítása, bevezetése érdekében - valamint az Atlassian is biztosít lehetőséget a fejlődésre, akár különféle online kurzusok elvégzése és az ehhez kapcsolódó bizonyítványok megszerzése formájában is, melyeket a cég szintén pártol.
Hogyan kerültél a jelenlegi pozíciódba?
2019. év végén, egy szakmai workshopon szerzett ismeretség nyomán értesültem a nyitott pozícióról, miután fel is vettem a kapcsolatot Gáspár Attilával, akivel összeültünk egy laza, orientációs beszélgetésre (azaz sörözésre). Egy korrektül összeállított, kellőképpen komplex szakmai házi feladat (kódolós mini-projekt) megoldása és egy immár többoldalú személyes interjú után nyertem felvételt a csapatba (megjegyzendő, hogy bár egy délutáni eseményen informálisan találkoztam több jövőbeli kollégámmal is, én még nem estem át az azóta már hagyománnyá vált “beer-teszten”, amivel a csapat és a jelentkező közötti ”kémia” meglétét szeretjük lecsekkolni).
Már akkor mindvégig szimpatikus volt a vezetőség mind emberi, mind szakmai hozzáállása és kommunikációja, amiben azóta sem csalódtam, sőt, a pozitív tapasztalatok az idők során inkább többszörösen megerősítést nyertek. Azt gondolom, ez ritka manapság, és többek között ez a munkahely egyik nagy értéke, e szakmai közösség értékrendjének és kultúrájának egyik alappillére.
A META-INF-ről egyébként már ezt megelőzően is több ízben hallottam, még 2015-ben részt vettem egy képzésükön, majd később általuk (rendszeresen) szervezett meetup-on is, szóval ez egyfajta újra egymásra találás volt a részemről.
Milyen volt beilleszkedni a csapatba?
Az éppen beálló Covid-helyzet miatt sajnos teljesen online módon kellett bekapcsolódnom a munkába és a csapat életébe, ami meglehetősen szokatlan szituáció és egyfajta kihívás volt, már csak azért is, mert szeretem a személyes interakciókat. Már nagyon ki voltam éhezve az első egész csapatos találkozásra, amelyre egy június végi csapatépítőn került sor. Szerencsére a kényszerű home office ellenére is folyamatos támogatásban részesültem mind a kollégák, mind a vezetőség részéről, rendszeres mentorálás mellett, egy kidolgozott onboarding program keretében sikerült viszonylag zökkenőmentesen megismerkednem a környezettel, a használt eszközökkel és technológiákkal.
Mennyire látsz bele a cég működésébe?
Úgy vélem a vezetőség általában egészséges és elvárható mértékben nyitott a munkatársak felé, a legtöbb, a társaságot is érintő probléma sokszor dedikáltan kerül megbeszélésre, de külön konzultációra is bármikor van lehetőség, igény szerint. Ez szerintem a szokásosnál nagyobb mértékű transzparenciát ás bizalmat eredményez.
A rendszeres és változatos csapateseményeknek - köztük a heti közös ebédeknek vagy a havi egész délutános csapatépítőknek - egyébként része is egy információáramlást segítő blokk, amely révén naprakészek lehetünk a cég életével kapcsolatban, illetve képbe kerülhetünk az egymással szakmai szinten amúgy ritkábban érintkező csapatok belső ügyeivel, újításaival kapcsolatban is.
Honnan érkeznek az ötletek?
Leginkább mindenhonnan, ilyen értelemben abszolút demokratikus modell szerint működünk, és néha már az ötletek vagy megoldási javaslatok sokasága és sokfélesége közötti választás okoz épp fejtörést. :-)
Mit szeretsz legjobban a munkádban?
Általában kellőképpen változatos, gyakran jelennek meg új kihívások, amelyek kapcsán fejlődni is lehet, különösen kompetens és segítőkész kollégákkal körülvéve, ami alapvetően biztosít egyfajta inspiratív közeget.
Ezenkívül jellemző egy általános biztonság- és megbecsültség-érzés, ami szerintem egészen egyedi a magyar KKV-piacon, így ötvözvén egy családias hangulatú kisvállalkozás és egy nagyobb multi előnyeit.
A munkatempóra azt mondanám, hogy viszonylag feszes, azaz unatkozni biztos nem fogsz, cserébe ez a terheltség relatíve egyenletes is, így igencsak ritkák a túlórázós vagy épp stresszes időszakok (ha egyáltalán volt már ilyen :-) ). Ugyanakkor bizonyos keretek betartásával a munkaszervezésünke nagyfokú rugalmasság és szabadság jellemző, akár a szabadságolások, akár a home office és irodába járás tekintetében, Covid-helyzettől függetlenül is.
Hogyan követed/vezeted a feladataidat?
Természetesen magam számára Notepad-jegyzetekben is, de adminisztrációra alapvetően és kizárólag a Jirát használjuk (worklogolásra is: Tempo app). Az összes hivatalos megjegyzést, értékes információt pedig tipikusan vagy a feladathoz kapcsolódó Jira-issueban, vagy a technikai specifikációt tartalmazó Confluence-dokumentumban tárolunk.
Mi volt a leghasznosabb szakmádba vágó könyv, és mit olvasol most?
Itt sok mindent lehetne említeni, ugyanakkor az egy-egy konkrét technológiára kiélezett anyagokkal szemben nekem általában az általános szakma-filozófiai könyvek adtak sokat, amely kicsit a szoftverfejlesztéshez való helyes attitűdre, a munkánk során felmerülő (gyakran nem tisztán szakmai) dilemmák adekvát kezelésére próbálnak rávezetni (vagy épp általános érvényű szoftvertervezési elveket és mintákat részleteznek). Itt a Robert C. Martin sorozat könyveit említeném első körben (“Clean Code” és társai), de hasonlóan hasznos volt a “The Pragmatic Programmer” vagy a “The DevOps Handbook” is. Jelenleg is ezen sorba illő könyvet forgatok, mégpedig a “Working effectively with legacy code”-ot, amelyben leírt technikákat többször tudom - immár tudatosan - alkalmazni a mindennapi munka során is.
Mi a legnagyobb tanulság, amit a jelen munkahelyeden tanultál?
Számomra mindig is a helyes priorizálás megtalálása és konzekvens betartása okozott nehézséget, mert a minőség iránti általános és nagyon erős igényem a szakmánkban bár dicséretes, de az erőforrás-kényszereket figyelembe véve sokszor lehetetlen elvárásokat támaszt a fejlesztővel szemben. Azt a képességet, hogy mikor, mit és mennyit kell/szabad/éri meg engedni - azaz éppen mi a megfelelő kompromisszum a hatékonyság jegyében - nem könnyű elsajátítani, ez egy viszonylag hosszan tartó tanulási folyamat, melybe szakmai életutam során már többször, több formában, így itt is belefutottam. A csapat általi folyamatos kontroll sokszor segít az ilyesfajta zsákutcák felismerésében, valamint alternatív, működőképes(ebb) megoldások megtalálásában.
Miért jelentkezzen hozzátok valaki?
Mert jó itt dolgozni. Szuper közösségben, érdekes és változatos munkában lesz része, illetve a vezetőség részéről a már említett, szerintem kivételes korrektségre és valódi törődésre, megbecsülésre számíthat.
Ha valaki affinitást érez ilyenre, akkor a klasszikus fejlesztői feladatkörtől merőben eltérő akciókban való részvállalásra is lehetősége nyílik (pl. meetup/konferencia szervezés, ügyfelekkel való kapcsolattartás, csapatesemények szervezése, stb.).
Szerinted miért jobb itt dolgozni, mint máshol?
Bár a professzionalitásra való törekvés, valamint a szakmai feladatok jellege és a velük járó felelősség is messze átlagon felülinek mondható, mégsem ezt emelném ki, mint a META-INF fő erősségét és vonzerejét. Ami engem újra és újra lenyűgöz és büszkeséggel tölt el, az a vezetőségre és ezáltal az egész közösségre is jellemző, példaértékű humánus hozzáállás, amely mind a kollégák irányában (pl. saját életünk rugalmas szervezése és a béren kívüli juttatások tekintetében), mind a cég nagyfokú társadalmi szerepvállalásában megnyilvánul. Azt gondolom, különleges élmény egy olyan csapat tagjának lenni, ahol érezhető a tenni akarás, a jó ügyek szolgálata, mind a napi rutin során, mind azon túlmutató esetekben.
Milyen változásokat hozott magával a rendkívüli helyzet a munkavégzésed kapcsán?
Mint fent már leírtam, a vezetőség abszolút rugalmasan állt/áll a kérdéshez, a járványhelyzet alatt bár nem volt kötelező home office elrendelve (be lehetett járni az irodába, és heti 1-2 napon páran össze is jöttünk ott), alapvetően heti 5 nap távmunka mellett dolgoztunk. A munkavégzés hatékonyságában - legalábbis fejlesztői szemmel - ez érzésre nem okozott különösebb fennakadást vagy kifejezett hatékonyság-csökkenést, mert a mai kommunikációs és fejlesztői eszközökkel a támogatás biztosított volt (bár az egyes kollégák elérhetősége időszakosan bonyolultabbá vált, nőtt egy kicsit a válaszidő). Természetesen azért a szocializációs igényeink kielégítése szempontjából kellemetlenebb volt átvészelni ezt az időszakot, illetve a párban való munka is talán gördülékenyebb és élvezetesebb egymás mellett ülve, így számomra pozitív érzés volt visszatérni az irodába.
Jelenleg egyébként 3+2-es rendszerben dolgozunk, azaz alapjáraton heti három tetszőlegesen megválasztott nap eltöltése elvárt az irodában két nap home office mellett, de esetileg ettől is el lehet térni.
Megjegyzendő, hogy a cég egyébként igény esetén ingyenes Covid-tesztet is biztosított a munkatársaknak, akár magáncélú felhasználásra is.
Van valami, amit megtartotok majd a "karanténos" munkavégzésből a továbbiakban is?
Kifejezett vívmányt nem tudnék kiemelni, a legtöbb módszer és eszköz már a Covid előtt is létezett és használatban volt a mi szakterületünkön, legfeljebb kisebb mértékben vettük igénybe azokat.
Azt gondolom - egyfajta mellékhatásként - egymás “zargatásával”, azaz a privát és a munkahelyi idők rugalmas összehangolásával talán nőtt a tolerancia és türelem egymás irányában, legalábbis én a “karanténos” időszak vége felé sem éreztem terhesnek a kollégák megkereséseit, a közös session-öket, még ha élőben jobb is lett volna.
Örülök, hogy (remélhetőleg) sikeresen túl vagyunk a nehezén, és lassan visszatérhetünk a normalitáshoz.