Primul job ca iOS developer

Am avut noroc. Domnisoara care mi-a luat interviu abia astepta sa plece din companie. E drept, am trecut ca prin branza prin interviu. Stiam pe de rost ARC-ul, OOP-ul, UIKit cu tot ce insemna lifecyle-ul unei aplicatii, ba chiar si persistenta si networking. Si asta pentru un post de junior.

Mai inainte de asta a fost interviul cu HR-ul. Dar pe ala nici nu il pun la socoteala. Nu cred ca am avut vreun interviu de cunoastere la care sa imi fie refuzat accesul la urmatoarea etapa, cea tehnica.

Dupa cele doua interviuri a urmat cel cu directorul. Cred ca “Director of Operations” era titlul lui. Un tip foarte fain venit din Belgia ca sa coordoneze extensia din Romania a unui startup englez. La sfarsitul discutiei mi-a propus si salariul. 1600 de RON. In sinea mea nu mai puteam de fericire. Nu am stat pe ganduri si am acceptat instant. Cu toate astea, mi-a ramas in intiparita in memoria uimirea de pe fata lui. Cred si acum ca se astepta sa refuz.

Odata angajat, imi doream sa invat cat mai mult. Sa devin un iOS developer. Eu care pana atunci nu scrisesem decat cod de Android, aveam sansa sa invat iOS. Ca sa pot sa invat mai mult si mai repede mi-am downloadat acasa o versiune de Hackintosh pe care am instalat-o pe o masina virtuala cu Virtual Box direct pe Windows. Se misca mult mai greu, dar puteam sa fac development si sa trec prin toate cartile si tutorialele necesare.

La lucru aveam coleg un tip destul de antisocial. Probabil era si motivul pentru care voia domnisoara de la interviu sa plece cat mai repede. Am incercat sa il respect cat am putut de mult pe tipul asta care parea sa se enerveze destul de rapid. Era un pic mai mare la varsta ca mine, eu avand 26 de ani. Dar avea deja cativa ani de experienta ca “kernel developer”. Ce imi placea insa la el era ca incerca sa scrie codul cat mai asemanator cu librariile celor de la Apple. Nu facea diferenta intre un API scris de el si un API oficial de la Apple. Putini programatori am mai intalnit intre timp care sa aiba standardele astea.

Din pacate tipul nu a fost chiar cel mai bun mentor. Mi-a dat cateva resurse pe care sa le studiez. Cred ca vreo 2 carti, documentatia de la Apple si cursul de iOS de la Stanford. In afara de asta nu era prea comunicativ. Isi punea castile pe urechi si asculta muzica in timp ce facea tot felul de chestii, de la scris cod pana la citit chestii pe net. In timpul asta am incercat sa asimilez cat mai mult posibil. Nu am trecut printr-un internship asa cum mi-as fi dorit. Punand cap la cap asta cu faptul ca nu am facut nici facultatea in domeniu (chiar daca intre timp am urmat un curs de formare continua – Informatica aplicata si programare), poate ca asa se explica abordarea mea mai putin tehnica. Si rigida. Un plus si un minus.

Partea faina, oarecum, era ca “departamentul de mobile” tocmai lua nastere. Eram eu si tipul asta care formam echipa de mobile. Si mai aveam un sef, un baiat de vreo 25 de ani din America, stabilit in Londra, al carui job era sa ne gaseasca proiecte. Pe langa tipul asta, mai aveam un scrum master care iubea din suflet metodologia asta. El m-a invatat sa folosesc Twitter (care credeam in prima faza ca e un tool intern) si LinkedIn. Si tot felul de tooluri care ne ajutau sa ne organizam munca.

Pe langa iOS am inceput sa ma familiarizez si cu source control. Am ales git-ul din prima. Desi pe vremea aia mai erau cateva optiuni, folosite mai ales de colegii de pe .NET care erau majoritari in firma. Bazele de date le cam stapaneam mai ales de la aplicatia pe care am creat-o pentru Android. Eram destul de familiar cu sqlite, dar si cu MySql. Asa ca sa invat wrapperul de iOS care se numea CoreData mi-a fost destul de usor. Tin minte ca am printat pe foi A4 o carte intreaga despre CoreData. Tipul pe care il vedeam ca pe un zeu in perioada aia se numea Marcus Zara.

Revenind la job, din pacate proiectele nu au fost cine stie ce. Incercam sa ne construim noi un portofoliu. Am stat cateva luni jucandu-ne cu ceva aplicatie de expense reports. Nu mai tin minte daca ne facusera colegii un backend pentru ea. Dar aplicatia in sine era extrem de simpla. Si apoi, am reusit sa preluam un proiect un pic mai complex. Era vorba de o aplicatie destinata agentilor de vanzari ai unei mari platforme de calatorii. Aveau niste nevoi un pic exagerate pentru vremea aia. Voiau sa aiba access la o harta offline in care sa poata da zoom sa prezinte toate destinatiile pe care le aveau in toata lumea. Erau cateva zeci de mii. Sa faci o harta offline pentru asa ceva era de neconceput. Mi-aduc aminte ca am luat legatura cu un reprezentant Google pentru a discuta despre posibile solutii (omul era pe vanzari, nici macar nu ii pasa ca discuta cu un amarat de junior). In final am implementat ceva de la openstreet maps. Cu foarte multe filtre pentru lista de amenities pe care le aveau cazarile. A trebuit ca impreuna cu seniorul meu sa mergem si sa lucram de la un alt birou. Practic am luat proiectul asta prin intermediul altei firme. Nici acum nu stiu care a fost povestea din spate, dar ideea a fost ca eram prea mici noi ca sa luam proiectul de unii singuri.

Nu aveam multa activitate si simteam ca nu evoluez. Asa ca am inceput sa merg la interviuri. Voiam doar sa iau pulsul pietei si sa vad daca ma accepta si altii. Plus ca ma simteam oarecum obligat sa raman tinand cont ca la interviu, directorul mi-a zis ca spera ca “nu o sa parasesc compania dupa un an cand gasesc o oferta mai buna”. Si de altfel, dupa un interviu chiar am intrebat-o pe una dintre colegele de la HR daca e ok sa plec. Si ea mi-a zis ca nu e o perioada buna si ca ar trebui sa mai raman. Cum ziceam, cuvantul dat mi s-a parut important asa ca nu am plecat. Cu toate ca la job terminaseram si lucrul la aplicatia de turism de care spuneam si nu mai aveam nici un proiect in asteptare.

Paharul s-a umplut cand in prima faza ni s-a propus sa scriem aplicatiile utilizand frameworkul Xamarin, tinand cont ca in companie era mai mult know how pe .NET. Nici eu si nici colegul nu am fost incantati si incetul cu incetul am devenit tot mai distanti. Si noi intre noi. Si noi fata de companie. Tin minte ca am fost rugat la un moment dat chiar de director sa ajut niste colegi cu testarea. Manuala. A unei aplicatii desktop de finance scrisa de un tip. Destul de simplist.

O amintire placuta din haosul ala e ca am tinut cateva interviuri. Nu stiu de ce am fost pus tocmai eu sa le tin, dar imi amintesc ca la vreo 2 am participat doar eu. Si aveam o lista destul de buna (pe care o mai tin minte si acum) cu intrebarile din zona tehnica. La un moment dat am intervievat un italian de vreo 50 de ani pentru o pozitie la compania unde lucrez acum (12 ani mai tarziu). Si il intreb la un moment dat pe tipul asta daca e familiar cu CoreData. Tipul nu doar ca era familiar cu CoreData, dar mi-a detaliat toate motivele pentru care nu folosea CoreData si de ce a ales (impreuna cu echipa lui, pentru ca de fapt omul avea o firma) sa isi faca propriul framework de persistenta. Atat de tare am apreciat discutia aia ca am ajuns sa vorbesc despre ea aproape in fiecare context in care a trebuit sa spun cum am ajuns in IT: “Ah si sa vezi cand am intervievat un tip senior pentru o pozitie de 250$/h si cand l-am intrebat de CoreData mi-a spus ca nu corespunde nevoilor echipei sale din punct de vedere al performantei asa ca au facut ei propriul lor framework.” Peste ani aveam sa intalnesc povestea in tot felul de contexte.

Din pacate colegul meu de pe iOS a cam luat-o razna. Nu stiu exact detaliile, stiu doar ca fratele lui m-a intrebat daca e bine, colegii din echipa pareau sa se amuze pe seama lui si relatia cu mine, cel care depindeam de el ca sa cresc alaturi de un senior, era tot mai proasta. Nu a durat mult pana cand la un meeting cu toata compania s-au anuntat niste schimbari si printre ele s-a hotarat si renuntarea la departamentul de mobile. Nu am disparut cu totul, doar ca am intrat sub umbrela altor departamente. Si uite asa am ajuns si la Xamarin si alte chestii care m-au facut sa iau in calcul plecarea.

Am mai mers la niste interviuri pe care le-am trecut cu succes. De data asta cand am intrebat-o pe colega de la HR daca pot sa plec, nu a mai spus nu. Si uite asa, dupa un an si vreo 4 luni in domeniu, deja schimbam al doilea job. Tot ca iOS developer.

Leave a Reply

Your email address will not be published. Required fields are marked *