„A mai alkalmazásokat nem lehet egyedül lefejleszteni, jó kommunikációs készségre, csapatszellemre van szükség.” – Ismerd meg a fullstack fejlesztő munkakört!

Munkakör Olvasási idő:6 perc

Fullstack_cover

Te hány alkalmazást használsz a mobilodon, tableteden, esetleg asztali gépeden? Tudod, hogy kik fejlesztették őket?

adnovum_logoA svájci hátterű AdNovum Hungary Kft. webes és mobil technológiákra specializálódott, hazai kollégáik több mint 15 éve fejlesztenek magas minőségű szoftvereket ügyfeleiknek. Legyen szó logisztikai szoftverről, vagy egy olyan alkalmazásról, amellyel az ügyfelek egyszerűen tudnak egymásnak pénzt utalni egy kattintással, a profizmusra és a gyakorlatiasságra hagyatkozva a leghatékonyabb és legmegbízhatóbb megoldásokra törekszenek. Az általuk készített szoftvereket rengeteg ember használja világszerte, hiszen ezek általában nagy nemzetközi cégeknek készülnek. Sikerük kulcsa abban rejlik, hogy összetartó közösséget alkotnak, a mindennapokban az izgalmas projektjeik által állított kihívások és a csapatszellemünk hajtja őket előre.

Lengyel Zsolt hat éve csatlakozott a csapathoz, azóta is törtlen a lelkesedése a feladatok, projektek – és persze a cég iránt. Tolmácsolásában megismerheted, mit jelent fullstack fejlesztőként dolgozni!

ITmap: Milyen tanulmányokat folytattál, és azok hogyan kapcsolódnak fullstack fejlesztő munkakörhöz?

Lengyel Zsolt: Klasszikus utat jártam be, hiszen én is elmondhatom magamról, hogy már általános iskolában is érdekelt az informatika világa, a gimnáziumban informatika szakra jártam, a szabadidőmet pedig szívesen töltöttem programok írásával a legkülönbözőbb témakörökben. Így egyértelmű volt, hogy felsőfokú tanulmányaimat is ezen a területen folytatom, a Szegedi Tudományegyetem programtervező informatikus szakára jártam. Itt a későbbi munkavégzéshez elengedhetetlen alapismereteket szereztem meg, tanulmányaim felénél pedig csatlakoztam az egyetem berkein belül működő egyik IT laborhoz, ahol egyre inkább belevethettem magam gyakorlati, valós fejlesztési projektekbe. Különböző platformokon programoztunk, dolgoztunk EU-s pályázatokhoz kapcsolódó fejlesztéseken, de több vállalattól is érkeztek megbízások – elősorban a mezőgazdasági szektorból. A laborból aztán kinőtte magát egy spinoff cég, ahol a diploma megszerzése után három évig dolgoztam fejlesztőként.

ITmap.hu: Milyen karrierutat jártál be addig, ameddig végül eljutottál a fullstack fejlesztő a pozícióba?

Lengyel Zsolt: Nagyjából eddigi karrierutam felénél jelent meg tudatosabban a fullstack irány, az első években lényegében mindig azt programoztam, amire épp szükség volt. A már említett szegedi cégtől egy idő után szerettem volna továbblépni, és Budapesten kerestem lehetőséget, így találtunk egymásra 2015-ben az AdNovum-mal. Az első egy-másfél évben inkább backend feladatokon dolgoztam, majd jeleztem, hogy egyéb témák, területek is érdekelnek, így elmozdultam fullstack irányba, amelynek során a fejlesztés minden aspekutását érinti a munkám: backend, frontend, adatbázisok, Devops.

ITmap: Hogyan telik egy tipikus napod, mik a feladataid, egyáltalán, mit jelent az, hogy valaki fullstack fejlesztőként dolgozik?

Lengyel Zsolt: Fullstack fejlesztőként egy komplett terméket készítünk el, a termék teljes életciklusát lekövetve, tehát az igény felmerülésétől kezdve a tervezésen át a fejlesztéstől a kiadásig minden ponton jelen vagyunk. Példának elhoztam első projektemet, egy svájci piacra készített car-sharing alkalmazást, amelyen az AdNovum-nál dolgoztam új kollégaként. Mint a legtöbb fejlesztési projekt, ez a megbízás is azzal indult, hogy az ügyfél megkeresett bennünket az ötletével, elmondta, hogy milyen elképzelései vannak, mit szeretne megvalósítani, milyen céljai vannak a termékkel. A teljes folyamatot a felhasználó szemszögéből kellett megközelítenünk, mindent számításba kellett vennünk onnantól kezdve, hogy ha megnyitják a telefonon az alkalmazást, hogyan lesz nyitva a kocsi ajtaja, amit majd kikölcsönöznek. Amikor megvoltak a kezdeti tervek, elkezdtünk olyan prototípusokat összeállítani, amelyek a legalapvetőbb funkciókat lefedték, tipikusan ilyen szokott lenni az alkalmazásokba való regisztráció, bejelentkezés. Ezeket bemutattuk az ügyfélnek, és a visszajelzéseik alapján alakítottunk rajtuk, illetve azonosítottuk azokat a területeket, amelyeken a következő időszakban dolgoztunk. A csapaton belül ebben a folyamatban rengeteg egyeztetés volt, olyan szempontokat figyelembe kellett vennünk, mint többek között a sávszélesség nagysága, vagy a tárhely mérete, amellyel a felhasználók rendelkezni fognak. Ezek mind olyan kérdések, amelyeken a tervezési-fejlesztési folyamatban mindig sokat agyalunk, szem előtt tartva azt a célt, hogy a legkisebb adatokkal dolgozzunk, miközben az alkalmazás teljesítménye maximális marad. Ezeket az egyeztetési-fejlesztési ciklusokat folytattuk mindaddig, amíg minden eltervezett funkciót maradéktanul és hatékonyan működően meg nem valósítottunk, és az alkalmazás kikerülhetett a piacra. Természetesen ezt követően sem engedtük el az alkalmazás kezét, hiszen üzemeltetni kell azt, illetve a felhasználói visszajelzések alapján folyamatosan javítunk a funkciókon, de akár újak is kerülhetnek be. Lényegében minden fejlesztési folyamat ugyanezen fázisokon megy keresztül, projektjeinkben ezeket a lépéseket követjük újra és újra. Az agilis módszertanok megjelenésével a rugalmasságon rendkívül nagy hangsúly van, míg egy-két évtizeddel ezelőtt az ügyfél elmondta az igényeit, átadta a specifikációt, és pár év múlva találkoztunk ismét a végleges termék átadásakor, ma már az a legfontosabb, hogy a megbízó minél gyorsabban megjelenhessen a termékkel a piacon, így képesnek kell lenni nagyon rövid idő alatt működő alkalmazást készíteni, és azt elindítani. A frissítéseket, új funkciókat pedig úgy kell telepíteni, hogy észre se vegyék a felhasználók, a  pár évtizede még megszokott több napos rendszerleállások ma már elképzelhetetlenek.

Fullstack_belső_tartalom

ITmap: Mi az, ami a munka nehezebb részét képezi?

Lengyel Zsolt: A többnyire változatos mindennapok mellett vannak monotonabb időszakok, amikor akár heteken keresztül csak kódolok. Számomra az egyik leginkább kihívásokkal teli része a munkámnak, ha valamit nem lehet tesztelni, ilyen például a felhőbe való telepítés, és kitartóan próbálgatnom kell, hogy mikor fog megfelelően működni a folyamat.

ITmap: Milyen szakmai ismeretekre van szükség fullstack fejlesztőként?

Lengyel Zsolt: Talán a legfontosabb a több területet átfogó, széleskörű ismeretrendszer, nem elég csak egy valamihez érteni. Tudni kell, hogy hogyan kell a háttérrendszerben, azaz backenden üzemeltetni az adatokat, hogy az elkészült alkalmazás hatékony és gyors legyen, ismerni kell, hogy a frontendet hogyan kell tervezni, hogy leginkább felhasználóbarát legyen, emellett az adatbázisok működését is át kell látni. A konkrétan alkalmazott technológia mindig cég- illetve projektfüggő, az AdNovum-nál általában open source (nyílt forráskódú) megoldásokat használunk, backenden elsősorban Java környezetet, Spring Boot-ot, adatbázisokban PostgreSQL-t  – ami a jelenlegi legnagyobb nyílt forráskódú adatbáziskezelő – , frontenden Angular-t, React-et, mobilon natív Android-ot, illetve iOS-t, vagy, ha pedig hibrid mobilfejlesztésről van szó (tehát Android-on és iOS-en is futnia kell az alkalmazásnak), akkor Iconic keretrendszert. Ezen felül érteni és ismerni kell a DevOps megoldásokat, a Continous Integration / Continous Deployment elveket. Fullstack fejlesztőként nem egy-egy terület specialistái vagyunk, hiszen a napnak nincs annyi órája, hogy az összes technológiában naprakészek legyünk, viszont minden, az előzőekben említett területen átfogó, rendszerező ismeretek szükségek. Mindebből következik az is, hogy általában fullstack fejlesztőként is van egy fő irányvonalunk, ami azonban változhat, illetve változik is: pályám kezdetén inkább backendben éreztem magam otthonosabban, az elmúlt években viszont a frontend technológiák kerültek előtérbe.

ITmap: Milyen személyiségjegyekkel rendelkező szakember érzi jól magát a munkakörben?

Lengyel Zsolt: A magányos programozók kora leáldozóban – legalábbis, ha fullstack fejlesztésről van szó. A mai alkalmazásokat nem lehet egyedül lefejleszteni, jó kommunikációs készségre, csapatszellemre van szükség. Fontos, hogy hajlandóak legyünk meghallgatni a másikat, tudjunk kiszakadni a saját perspektívánkból, és máshogy megközelíteni egy kérdést. Folyamatosan feszegetjük a technológiai határokat, az állandó tanulás, az új dolgokra való nyitottság elengedhetetlen, nem ülhetünk a babérjainkon, mert a mai tudás holnap már lehet, hogy elavult lesz. Itt kell kiemelni az angol nyelvtudást is, hiszen az új ismeretek ezen a nyelven érhetők el leginkább. Ha a másik oldalról közelítjük meg, és azt nézzük, hogy kiknek nem javasolnám a munkakört, akkor az örökmozgó, a gép előtt ülni nem szeretők valószínűleg nem fogják megtalálni a számításukat, ahogy azok számára sem  ideális ez a munkakör, akiknek a sok egyeztetés, kommunikáció nem komfortos. Maga a konkrét fejlesztés nagyjából felét teszi ki feladatainknak, egy másik jelentősebb részt egyértelműen az előbbiek jelentik: együtt kell dolgozunk az ügyféllel, a csapat többi tagjával, a tesztelőkkel, UX designerekkel, üzemeltetőkkel, a projektmenedzserrel, vezető fejlesztővel / architekttel, ezeket a kapcsolatokat pedig a kommunikáció működteti.

ITmap: Milyen képzéseken lehet elsajátítani a munkakörhöz szükséges ismereteket?

Lengyel Zsolt: Munkatársaim között mindenki rendelkezik felsőfokú végzettséggel, legyen az akár programozó matematikusi, programtervező informatikusi, vagy épp mérnöki diploma. Van azonban olyan kollégánk is, aki eredetileg óvódapedagógus szakon végzett, majd ezt követően egy programozóiskola (bootcamp) keretében megtanulta a programozás alapjait, és nagyon jól megállja a helyét. Az AdNovum-nál rengeteg lehetőség van az új ismeretek megszerzésére, nem csak szakmai szempontból, de az egyéb kompetenciák tekintetében is. Kultúránkból adódóan nagy hangsúlyt helyezünk a visszajelzések megfelelő stílusára, minden munkatársunk el is végez egy erre irányuló képzést. Az eredmények a mindennapi munkában nagyon jól megmutatkoznak: megtanuljuk, hogy hogyan tudunk úgy visszacsatolást adni egymásnak, hogy a másik fél megértse üzenetünket, de véletlenül se bántó, vagy esetleg támadó legyen a kommunikáció.

ITmap: Milyen karrier- és továbblépési lehetőségek vannak a munkakörből?

Lengyel Zsolt: Cégünknél teljes mértékben támogatják, ha valaki egy bizonyos irányba szeretne továbbfejlődni, ahogy ez esetemben is történt. Ha juniorként valaki kevésbé a fejlesztéssel, sokkal inkább menedzsment jellegű feladatokkal szeretne foglalkozni, arra is adottak a lehetőségek. Ugyanilyen rugalmasan kezeli a vállalat azt is, ha valaki egy következő pályaszakaszban más jellegű kihívásokra szeretne fókuszálni, legyen az a technikai fejlődés, vagy a már említett vezetői fókuszú felelősségek. Arra is számos példa van, hogy menedzsment munkakörökből visszatértek kollégák a fejlesztéshez, így továbblépési lehetőségeinknek csak saját céljaink szabnak gátat.

ITmap: Mit üzennél az olvasóknak, miért érdemes a fullstack fejlesztő irányba elindulni?

Lengyel Zsolt: A digitális világ folyamatosan fejlődik, a világnak az része, ami még nem digitálisan működik, inkább előbb, mint utóbb rálép majd erre az útra, gondoljunk csak a csekkbefizetésekre, vagy akár az egészségügyre. Ha szeretnél ennek a folyamatnak aktív részese lenne, vannak ötleteid, rengeteg lehetőség vár, amiben ki tud teljesedni kreativitásod!

ITmap: Mit adott Neked személyesen az, hogy fullstack fejlesztőként dolgozol?

Lengyel Zsolt: Mindig szerettem legózni és idegen nyelveket tanulni, a munkámban pedig ezeket találtam meg: különböző programozási nyelvek segítségével rakom egymásra az építőkockákat, hogy azok egy meginoghatatlan alkalmazássá álljanak össze.

Derítsd ki, hogy Neked való-e a munkakör! Regisztrálj, és a Profil menüpontban megtalálod a teszteket, amelyek segítésével többek között erre a kérdésre is választ kaphatsz!