A szülői házból a jég hátára - egy szoftverfejlesztő útja Székesfehérvárról Helsinkiig (második rész)

21 éves koromban, 3 évvel ezelőtt "repültem ki" először a szülői házból, hogy Finnországban töltsek 4 hónapot az ERASMUS program kereteiben. Ekkor még eszembe se jutott, hogy két év múlva egy finn szoftverfejlesztő cégnél fogok iOS fejlesztőként dolgozni Helsinkiben.

A történetem első részében meséltem arról, hogy milyen volt az ERASMUS félév, hogy diploma után Junior Szoftverfejlesztőként dolgoztam egy székesfehérvári cégnél, illetve hogy hogyan és miért mentem vissza Finnországba, Tornioba egy diplomát szerezni 2 félév alatt.

Álláskeresés az egyetem végén

Mikor láttam a fényt az alagút végén és tudtam, hogy 2015. májusának végén végezni fogok a tornioi egyetemen, megfordult bennem a gondolat, miszerint érdemes lenne megpróbálni egy pár szakmabeli állásra jelentkezni. Március közepén regisztráltam LinkedIn-en, különböző helyi karrierportálokon és nagyobb cégek álláskereső oldalain mint fiatal, lelkes és kitartó diák, aki most teszi ki a lábát az egyetemről. Az elképzelés az volt, hogy július végéig (míg a pénzem kitart) maradok Tornioban akár munka nélkül is - ha összejön valami maradok, ha nem, hazaköltözöm és dolgozom tovább Fehérváron.

A szakdolgozatom utolsó i betűire tettem fel a pontokat, mikor egy kézenfekvő munkalehetőséget kaptam a helyi nyári egyetem megszervezését támogató, amolyan projekt asszisztens pozícióra kértek fel tanáraim. A magam részéről ezt egy jó lehetőségnek tartottam, ugyanis egész nyárra szólt a szerződés, viszonylag jó fizetésért, bár nem szakmai munkáért. Szerettem volna a nyári időszakot is átélni Lappföldön, valamit jó szórakozásnak hangzott 15-20 diákkal együtt tölteni a nyarat fenn északon. Mindenféle habozás nélkül elintéztem a szükséges papírmunkát egy hónap alatt: bankszámlát nyitottam, regisztráltam a helyi adóhivatalnál, bejelentkeztem a rendőrségnél mint külföldi munkavállaló és megkötöttem a munkaszerződést az egyetemmel (ez az egész nem került többe, mint 1-2 nyomtatvány kitöltése). Mindent összevetve ez nem volt egy túlzottan nehéz munkakör. Az érkező tanárok és diákok ide-oda fuvarozását, körbevezetését, irányítását, szabadidős programok szervezését, tantermek lefoglalását jelentette röviden.

180 fokos fordulat két hét alatt

Nyilvánvalóan ez a munka nagyon távol áll az informatikától, korábbi tanulmányaimtól és tapasztalataimtól, de mit lehet tenni? Biztos voltam benne hogy ez az egyik legjobb nyári munka a környéken, főleg hogy ekkor még a külföldi diploma sem volt a kezemben.

Fent említettem, hogy március közepétől jelentkeztem szakmai állásokra is. Körülbelül 50-60 helyre adtam be a jelentkezésemet helyi cégekhez, a startuptól kezdve egészen a multinacionális vállalatokig. A sors fintora, hogy egészen a nyári szerződés aláírásáig egyetlen cég sem keresett meg (még csak válaszlevélben sem), viszont alig két héttel a szerződés aláírása után csörgött a telefonom. A Reslink Solutions nevű cégtől hívtak, egy backend, PHP/MySQL-orientált fejlesztői lehetőséget ajánlva Helsinkiben. A távolságra való tekintettel egy Skype-os interjúval kezdtünk. Ezt 1-2 nappal később meg is ejtettük és annyira jól sikerült, hogy azonnal behívtak személyes interjúra... 2 nappal későbbre, a születésnapom másnapján.

Apróbetűs részként jegyezném meg: a Tornio-Helsinki távolság kb. 750 kilóméter, mintegy 8-10 óra tömegközlekedéssel, egy irányba.

Egy ilyen lehetőséget nem szerettem volna kihagyni. Az egyetemi felettesemmel (aki egyben tanárom is volt) másnap reggel beszéltem, hogy holnap lenne egy lehetőségem állásinterjúra menni Helsinkibe. A válasz meglehetősen prózai, bár lényegre törő volt: “ha nem mész, én fogom a hátsó feled rugdosni a vasútállomáson”.

Az a támogatás és elismerés, amit ebben az időszakban kaptam a tanárok és az egyetemi vezetés részéről, a mai napig döbbenetes számomra. Senki nem akarta rám erőltetni a szakmai fejlődést nem jelentő, bár könnyű nyári munkát és a kényelmes környezetet. Minden egyetemi tanár azt akarta, hogy költözzek el és minél előbb kezdjem el a szakmai fejlődést, mert később nem biztos hogy lesz még egy ilyen lehetőségem. Biztattak hogy vágjak bele új dolgokba, mert nagyon jól tudták, hogy meg fogom tudni állni a helyem. Bár lehet csak azért mondták mindezt, mert éppen születésnapom volt...

Egyetemi diákból iOS fejlesztő

Másnap reggel, születésnapom másnapján megérkeztem Helsinkibe. Viszonylag kevés helyismeretem volt ekkor még, de így is könnyen megtaláltam az irodát, amit valamilyen szempontból kihívásként fogtam fel (ugyebár az a jelentkező aki az irodát se találja meg önállóan, hogyan tudná saját feladatkörét ellátni?). Az interjún a cég technikai vezetője, sales és marketing igazgatója, valamint az ügyvezető igazgató vett részt. Előbbi egy viszonylag egyszerű PHP és SQL tesztet adott, amit meglehetősen könnyedén, hiba nélkül meg tudtam oldani.

Ezután belementünk korábbi projektekbe, milyen technológiákat ismerek, szeretek és mivel dolgoztam együtt. Beszélgettünk röviden a korábbi magyarországi munkámról az AdmiNetwork-nél és a jelenlegi munkámról az egyetemen. Rövid személyes beszélgetés után azt a visszajelzést kaptam (itt már az ügyvezető is jelen volt), hogy pontosan egy ilyen beállítottságú és mentalitású embert kerestek és az ideális az lett volna, ha a tegnapi napon kezd az új munkatárs. A magyar gyökereimnek szerintem nem sok jelentősége volt, bár kétségtelen, hogy előttem már három magyar is dolgozott a cégnél (közülük egy a mai napig is), tehát jók voltak a tapasztalatok nemzetünkkel kapcsolatban.

Természetesen szóba került annak kérdése, hogy mi köt Tornioba és milyen feltételek mellett tudok munkahelyet váltani. Kis cég lévén meglehetősen rugalmas, következő hónapban kezdődő szerződésben állapodtunk meg. 2 hetes felmondási időm volt az egyetemmel, valamint a diplomaosztón is illett részt venni a következő héten, tehát ez teljesen járható útnak tűnt. Másnap Tornioban megbeszéltem a feletteseimmel a felmondásomat. Ekkor javasoltam helyemre egy orosz barátomat, aki a mai napig ebben a pozícióban dolgozik a tanulmányai mellett. A tanárok részéről továbbra is száz százalékos támogatást kaptam, ők szinte lelkesebbek voltak ezzel az egésszel kapcsolatban, mint én.

Költözés és munka kezdés egy hét alatt

Körülbelül másfél hetem volt arra, hogy elintézzem (az egyébként minimális) papírmunkát a felmondással kapcsolatban, lakást találjak és Helsinkibe költözzek. Utóbbi volt a nagyobb kihívás, hiszen abszolút semmilyen ismeretségem nem volt.

Különböző Facebook csoportokban és weboldalakon keresgéltem lakást. Valamennyire a kezemre játszott ebben a kérdésben az időzítés, hiszen júniusban nagyon sok egyetemi diák költözik haza vagy megy 2-3 hónapos nyaralásra. Ez praktikusan annyit jelent, hogy a diákszállók felszabadulnak, viszont a diákoknak fizetni kell a lakbért, különben elveszítik szobájukat. Nagyon sokan ezt úgy hidalják át, hogy kiadják másoknak a szobát ebben az időszakban. Így kerültem egy helyi diákszállóba az irodától 15-20 percre biciklivel egy koreai srác szobájába.

A következő 1-2 hónap meglehetőgen zűrös időszak volt az életemben. A munkahelyen 3 hónapos próbaidőre kaptam ekkor szerződést. Viszonylag gyorsan beigazolódott, hogy ezt meg fogjuk hosszabbítani egy határozatlan idejű szerződéssel. Jól sikerült alkalmazkodnom a kicsi nemzetközi csapathoz, melyben volt finn, iráni, iraki, francia, angol és magyar kolléga is.

Az első projektem

Megérkezésemmel a fejlesztő csapat bővült egy junior szoftverfejlesztővel. Mint fent említettem, elsősorban backend fejlesztésre lettem felvéve, ami bele is illett ekkori szakmai profilomba. Anno még beszélgettünk is róla, hogy milyen tapasztalatom van PHP-val és látok-e rá potenciált, hogy bizonyos modulokra Zend Framework-öt húzzak. Érdekes módon nem sok PHP kódot kellett írnom, viszont egy Java-alapú modul fejlesztésével töltöttem a próbaidőm jelentős részét. Ebben volt korábbi tapasztalatom és viszonylag könnyen hozzá tudtam nyúlni bizonyos dolgokhoz. Ez a modul név szerint a Reslink App Builder, amit a mobil alkalmazásaink menüstruktúrájának felépítésére használunk 5-6 éve.

A legnagyobb kihívást a modul összetettsége és a dokumentáció teljes hiánya jelentette. Nagyon sok funkciót csak a technikai vezető ismert, másoktól hiába is kérdeztem volna mi micsoda. Ő viszont nyilván túl elfoglalt volt ahhoz, hogy mindig nekem segítsen. Az egyik legnagyobb kihívás ebben az időszakban szakmailag az volt, hogy magamtól jöjjek rá funkciókra, hogyan olvassak más által írt programkódot és tanuljam meg a platform működését. Ez a mai napig probléma a cégnél (szerencsére sokkal kisebb mértékben), sokkal több energiát kellene fektetnünk dokumentációba és bizonyos információk megosztásába.

Az együttműködés a munkatársakkal és a kommunikáció a cégen belül ennek ellenére viszonylag jól működött. Mind az én, mind az ő oldalukról teljesültek az elvárások. Soha nem fejlődtem ilyen sokat szakmailag ilyen rövid idő alatt, ez egy olyan munka volt amit az első naptól egészen máig imádok csinálni. A nagyvárosi élet Lappföld után felüdülés volt, viszont a barátok hiánya valamennyire beárnyékolta a 2015-ös nyarat.

Sajnos a munkatársakkal munka után nem töltünk időt együtt szinte sosem, ugyanis mindenki rohan haza munka után a családjához. Az ekkori lakótársaim (egy finn és egy iráni diák) mind idősebbek, dolgozó emberek voltak akik saját baráti körükkel töltötték szabadidejüket. Másfél-két hónap után elköltöztem a diákszállóból egy másik lakásba, ahol két, nálam szintén idősebb indiai sráccal laktam együtt majdnem egy évig. Az együttélés velük nagyon jó volt, de szórakozni velük sem jártam el - ennek főleg a kulturális rés és a különböző érdeklődés volt az oka véleményem szerint.

iOS fejlesztő egyik napról a másikra

Augusztus magasságában felmerült a cégnél az elképzelés, miszerint iOS platformra is ki lehetne terjeszteni a cég profilját (ekkor még csak Android klienssel rendelkeztünk). Ez azért volt nagy kihívás, mert senki nem értett iOS fejlesztéshez és hardver eszközök is limitált számban álltak csak rendelkezésre. Mivel én voltam a “friss hús” a csapatban, felmerült a lehetőség, hogy szeretnék-e inkább iOS irányba menni cégen belül. A magam részemről ennek semmi akadálya nem volt, egyetemi tanulmányaim alatt érdeklődtem Windows Phone fejlesztés iránt és szívesen dolgoztam volna ilyen területen. Felhívtam a csapat figyelmét, hogy soha életemben nem is nyúltam ilyen eszközökhöz, se felhasználóként, se fejlesztőként. Visszagondolva, ezt mindenki kihívásként fogta fel és minden amit tudtunk az iOS platformról fejlesztői szemszögből összedobtuk és próbáltuk a legjobb döntéseket meghozni.

Így a Java fejlesztésből gyakorlatilag egyik napról a másikra iOS fejlesztő lettem és a mai napig ez az elsődleges beosztásom a cégnél. A legnagyobb kihívás ebben a váltásban talán a sok kutatás, az új platform (iOS), fejlesztőkörnyezet (Xcode) és programnyelv (Swift) megtanulása volt. Sajnos fejlesztői szempontból nem volt mentorom és mindezt magamtól kellett elsajátítani. Az egyetlen támpont a cég egyetlen iPad alkalmazása volt amit másfél évvel korábban egy külsős cég fejlesztett Objective C nyelven, ami ekkor már elavultnak számított. Ezen felül az Android kliens nyújtott több-kevesebb segítséget, hiszen ennek funkcionalitása teljesen megegyezik az általam fejlesztett iOS verzióval. A dokumentáció hiányában nagyon sok volt a félreértés, sok funkciót rosszul implementáltam mert vagy rossz (érts hiányos) specifikációt kaptam, vagy nem ismertem elég jól a technológiát.

Az általam írt kódról visszajelzést csak nagyon nagyon ritkán kaptam. Ezt úgy próbáltam kompenzálni, hogy az alkalmazásról felhasználói véleményeket kértem (értsd: odamentem mindenkihez és megkérdeztem ez neked hogy tetszik). Véleményem szerint fejlesztői szempontból ez nagyon nagy probléma és nem optimális, hiszen létrejön egy kommunikációs gát és nem tanulunk cégen belül egymástól eleget. Nagyon sok modulról a mai napig fogalmunk sincs a platformban és sokszor nem is tudjuk mi hogy működik... csak működik.

Ezek nagyrészt visszavezethetők arra, hogy a cég viszonylag kicsi. Egész addig, míg startup jellegű volt a vállalkozás, ezek a dolgok nem jönnek elő, plusz a platform sem volt ennyire fejlett. Azok a dolgozók, akik régóta itt vannak nem feltétlen veszik észre ezeket, mert sokkal jobban hozzászoktak már, mint egy külsős. Ezeket egy ponton szóvá is tettem, aminek nagyon örült mindenki, mert egy ilyen görbe tükör sok fejlődést tud elindítani - ez a mi esetünkben is így történt. Január végén egy product manager-rel bővültünk, aki pontosan ezért felelős és rengeteg dolgon javítottunk azóta.

Néhány projekt, amin dolgoztam

Az elmúlt egy évben volt lehetőségem több kisebb projektben is résztvenni a Reslink-nél. Ezek nem feltétlenül jelentettek fejlesztői munkát, nagyrészt a fent említett komponensek szépítgetéséről volt szó. A legnagyobb projekt a mai napig az Android kliens iOS platformon történő implementálása: ez tavaly augusztus óta körülbelül 70%-os lefedettséget ért el. Ez az első iOS projektem, valamint a legnagyobb szoftver projekt amin valaha is dolgoztam. Mivel a kód minden egyes sorát én írtam, erre a programra rendkívül büszke vagyok és saját gyermekemként kezelem.

A Java alapú App Builder legújabb verziójának (2.5) módosításai is nagyrészt az én nevemhez köthetők. Ezt a release-t egyébként hárman fejlesztettük. Ez a projekt is érdekes, mert ez egy régóta fejlődő szoftver amihez hozzá kellett nyúlnom és az első igazi “nagy” projekt amivel dolgozom. A kód sok helyén vettem észre hiányosságokat és tettem javaslatokat a program javítására, amiket munkatársaim nagyra értékeltek és azonnal az én vállamra tették ezek fejlesztését (“milyen meglepő”). Ennek sokszor örültem, bár volt amit később megbántam. Minden esetre ez is jó tapasztalat volt code review és refactoring területen.

Ittlétem alatt a legérdekesebb projekt amiben részt vettem egy teljesen “személyre szabott” iOS alkalmazás fejlesztése volt egy helyi sörgyár számára. Ez a projekt azért volt különösen érdekes, mert én voltam a technikai projektvezető: nagyrészt nekem kellett begyűjteni az elvárásokat, egyeztetni az ügyféllel, megtervezni és lefejleszteni az alkalmazást A-tól Z-ig. Ez a projekt januárban indult és a következő három hónapom gyakorlatilag csak ezzel telt. Az április óta használatban lévő alkalmazásról csak pozitív visszajelzés érkezett, alig kellett egy-két bugot javítani, ami nagyon nagyon jó visszajelzés cégünkről és az én munkámról. Ezt a projektet egyébként tanulásként is fogtam fel, ugyanis soha nem volt ekkora teher éles környezetben a vállamon, szerettem volna mindent tökéletesen csinálni, lehetőséget kaptam új megoldások (név szerint Test Driven Development és prototyping) kipróbálására, amik mint hatásosnak bizonyultak.

Egyéb dolgok listaszerűen, amit csinálok/csináltam a cégnél:

  • SCRUM csapattag,
  • git version control bevezetése a cégnél, korábbi SVN lecserélése, migráció
  • first line customer support
  • dashboard integráció és építés, data mining (olvass tovább)
  • dokumentáció

Hogyan tovább?

Jelen pillanatban úgy érzem, megtaláltam a helyem. Remekül érzem magam Helsinkiben, alapvetően nincs okom panaszra. Imádom a munkát amit csinálok, napról napra rengeteget fejlődök. Jó a kapcsolatom a munka -és lakótársaimmal (akik azóta már nem a fent említett indiai srácok), szeretem az országot és a várost ahol élek. Szakmailag rengeteg kihívással állok szemben: ez alatt értem mind a cégen belüli kihívásokat, mind az ügyfelektől érkező projekteket. Mindent összevetve úgy érzem anno a lehető legjobb döntést hoztam meg mikor Finnországot jelöltem meg ERASMUS-os célországként. Ha ma kellene döntenem, ugyanígy választanék.

Az ország fővárosához méltóan Helsinkiben rengeteg lehetőség nyílt meg előttem mikor ideköltöztem. Elsősorban nyilván ezek között a szabadidős tevékenységek, látnivalók, szórakozóhelyek és egyéb hobbik űzése futott át gondolataimon. Helsinkiben jelenleg négy olyan egyetem is működik, akik angol nyelvű alap-és meseterképzést biztosítanak külföldi diákok számára. Egy ponton eszembe jutott annak lehetősége, hogy egy mester diplomával bővítsem szakmai portfoliómat.

Mivel a jelentkezés határideje 2015 decembere körül volt, viszonylag hamar kellett döntést hozni ebben a kérdésben. November végén, a próbaidőm lejártával és a szerződéshosszabbítással egy időben felvetettem a továbbtanulás ötletét valamelyik helyi egyetemen, amit a cég teljes mértékben támogatott. Felvázoltam röviden az ötleteket és tanácsot kértem szerintük mi lenne a legjobb döntés, mi tudná a céget leginkább segíteni. Erre csak az volt a válasz, hogy azt válasszam ami nekem tetszik és szerintem van értelme csinálni. A cég lesz annyira rugalmas hogy ebben támogat és segít, ahol tud.

Hét hónap telt el azóta, hogy beadtam a jelentkezésemet.

Május óta biztos, hogy a University of Helsinki, Computer Science mester szakán, Data Mining and Machine Learning szakirányon folytatom tanulmányaimat. A munkát megtartottam rugalmas részmunkaidőben (heti 20 óra ahogy nekem kényelmes, suli után esténként/hétvégenként). A beosztásom cégen belül is megváltozott egy picit ehhez igazodva: augusztusban kaptam egy projektet, amiben data vizualizáció és adatbányászat az elsődleges témakör, az iOS egy picit visszaszorul projektek hiányában. Az elsődleges cél az, hogy minél több új tudást tudjak az egyetemről átforgatni és bevinni a cég életébe és fordítva, vagyis mindketten minél többet kamatozzunk ebből a szituációból.

Amit tanultam az elmúlt három évből

A legfontosabb tanulság amit kiemelnék történetemből, az a családtagoktól, barátoktól és munkatársaktól kapott mentális támogatás. Ez a támogatás volt az alapja az egyetemi tanulmányimnak és a szakmai karrieremnek (mind Magyar -és Finnországban), emiatt mertem belevágni ismeretlen dolgokba. Ez az a támogatás ami motiváltan tart és segít előrejutni az életben. Ez az a támogatás, ami megtanít bízni önmagadban. Ez a támogatás csak úgy nyerhető el, hogy rövidebb-hosszabb távra tervezünk és megosztjuk ezeket a terveket azokkal akikben megbízunk, majd meghallgatjuk őket bizalommal és kíváncsisággal, mit gondolnak ezekről a tervekről. Nekik ezúton is egy újabb köszönettel tartozom.

Az én esetemben ez a támogatás szülői és baráti részről érkezett, de ezt személye válogatja. A legfontosabb dolog ezt a támogatást nem csak elvárni, hanem adni is mások felé. Természetesen ez nem egyszerű, hiszen a másik félnek is ki kell tudnia fejezni céljait és nekünk is el kell tudni képzelni az adott szituációt. Mindenesetre azt gondolom, hogy támogatva lenni és tanácsokat nyújtani másoknak ilyen téren jó dolog és több inspirációt kellene egymásnak adnunk.

Az elmúlt három év megtanított arra, hogy

  • Szabad nagyot álmodi.
  • Soha nem szabad feladni.
  • Nincs lehetetlen, csak tehetetlen - ha el szeretnél érni valamit, bizony bizony tenni kell érte / ha bízol önmagadban, bármi sikerülhet.
  • Minden a fejben dől el.
(Mivel a szoftverfejlesztés egységes nyelve az angol, ezért a legtöbb cikkünket angolul lehozzuk. Ennek a cikknek az angol változata itt olvasható: My software engineering journey from home sweet home to a frozen planet - part 2)
A kommenteket a Disqus jeleníti meg