Carmen Popa: Am învățat cum se conduce un velier
Carmen este studentă în anul I la Facultatea de Automatică și Calculatoare, a Universității Politehnice din București. Anul acesta, imediat după absolvirea liceului, și-a început primul ei internship la mReady. De doi ani este membru al Centrului de Inițiere în Cercetare pentru Tineri “Alexandru Proca” unde dezvoltă un proiect despre mecanica ochiului uman, cu aplicații în robotică. În luna mai a reprezentat România la Intel ISEF, cea mai mare competiție internatională de știință și inginerie, care a avut loc în Los Angeles. Una dintre marile ei pasiuni este voluntariatul, implicându-se activ în diverse ONG-uri, în calitate de trainer pentru cursuri de programare. În continuare a împărtășit din experiența ei pe durate intership-ului mReady.
Am aflat din întâmplare despre internship-ul mReady, de la un prieten. Tot el m-a încurajat să aplic, pentru experiență. M-a convins și am decis să văd ce s-ar putea întâmpla. Abia terminasem liceul, încă nu dădusem nici bacul şi nici admiterea şi eram sigură că n-o să fiu acceptată. Se pare că mi-au prins bine însă cursul de la DevAcademy, de l-am făcut în clasa a 12-a. Ca să fiu sinceră până la capăt, am aplicat şi pentru că m-am gândit “Cât de COOL ar fi să am deja un internship!”
Adevărul e că nu prea am ştiut la ce să mă aştept, deoarece n-am mai trecut niciodată printr-o asemenea experiență. Mi-am imaginat totuși că o să îmi explice cineva nişte lucruri, iar mai apoi o să primesc taskuri zilnice / săptămânale. Mă aşteptăm, desigur, că o să învăţ multe lucruri şi că voi câştiga experienţă, însă, să fiu sinceră, credeam că mediul de lucru avea să fie destul de anost. Asta a fost până să ajung la interviu, unde am realizat cât de relaxaţi erau oamenii şi, spre surprinderea mea, am fost servită și cu popcorn.
Turns out, internshipul la mReady a fost una dintre cele mai frumoase experienţe din viaţă mea de până acum. Mediul de lucru e foarte prietenos şi relaxant, în plus am avut activităţi diverse în fiecare zi: prezentări, code review-ul, discuţii despre proiecte, meciuri intense de ping-pong, task-uri challenging şi orientate spre dezvoltarea aptitudinilor mele, precum şi discuţii individuale cu toţi cei care lucrează aici, în încercarea mea de a învaţa cât mai multe de la fiecare. Am primit îndrumare de fiecare dată când am avut nevoie şi o grămadă de sfaturi utile. Printre toate câte s-au întâmplat, am reușit să-mi fac și un plan de dezvoltare personală, cu scopul de a-mi stabili mai ușor priorităţile pe viitor. Pur și simplu nu am cuvinte să descriu cât de minunate au fost lunile petrecute alături de echipa mReady!
Cel mai neaşteptat lucru pe care l-am învăţat în perioada asta (deci chiar nu m-aș fi aşteptat să ajung să cunosc despre acest subiect) este cum se conduce un velier (adică o barcă cu vele), în weekend-ul în care am participat la Regatta IT. Ce-am înţeles este că totul e muncă de echipă. Există un timonier, care dirijează direcţia bărcii mișcând un volan uriaş, iar barca se mișcă fie propulsată de motor, sau împinsă de vânt. Există termeni specifici pentru a descrie fiecare acțiune și fiecare context, de exemplu, “sub vânt” şi “în vânt”, care, în dependență de direcția vântului, se folosesc pentru a indica anumite zone din barcă. Este nevoie de muncă de echipă și pentru a echilibra barca, pe lângă efortul de a modifica poziția velelor pentru a profita din plin de direcția vântului. Uneori e nevoie de cineva care stă în prora bărcii pentru a atenționa timonierul de apropierea altor vase, atunci când vederea în față este obturată de poziția velelor, iar un alt termen specific este “balcon” și indică faptul că focul (adică vela din fața bărcii) trebuie aranjată ca să prindă mai bine vântul. Cam asta am înţeles eu din acea experiență de sailing și mă bucur că am avut ocazia asta.
Un singur lucru aș schimba poate, în legătură cu perioada de internship. Mi-aş fi plăcut ca mentorul meu să îmi fi spus de la bun început anumite reguli și bune practici de scriere a codului, iar asta am înțeles abia după primul code review-ul, când a fost nevoie să fac multe modificări la un proiect. Problemele au apărut când am început să fac modificările necesar și am generat, în schimb, foarte multe erori, pe care iarăși a fost nevoie să le corectez. Poate dacă aș fi știut de la început câteva “reguli”, aș fi reușit să le respect măcar pe unele dintre ele şi aş fi avut, în consecință, mai puţin de lucru după code reviews. Am înţeles ulterior că uneori e nevoie să mergi 10 paşi înapoi că să-ți dai seama de direcţia potrivită de urmat şi că doar trecând prin frustrarea de a face modificări poți înțelege de ce e indicat să se evite anumite soluţii sau un anumit tip de scriere. Cu toate astea, mi-ar fi plăcut să văd cât de bine pot să ţin cont de anumite specificaţii cunoscute de dinainte.
Până în acest moment, am lucrat pe anumite funcționalită din cadrul unor aplicații complexe (cum ar fi: salvarea datelor, notificări, meniu lateral, animaţii, grafuri etc), însă din discuțiile cu ceilalţi, am aflat și despre celelalte etape ale realizării unui proiect, de la primele discuţii cu clientul, până la lansarea în mod oficial a aplicaţiei, şi mi-am dat seama că, per ansamblu, partea efectivă de scriere a codului nu cântărește cel mai mult. Personal, cea mai captivantă, dar şi complicată, etapă mi se pare spargerea unei cerinţe în task-uri mai mici, distribuirea acestora între toți membrii echipei care vor lucra pe proiect şi estimarea timpului efectiv necesar pentru a le realiza. Această parte de planificare, care se face înainte de a se scrie cod, joacă un rol extrem de important în organizare, dar este şi o treabă destul de grea, pentru că trebuie să fie cât mai realiste estimările, iar programatorii trebuie să încerce să se încadreze în timpii estimați, pentru buna organizare a lucrului.
Mi-ar plăcea să continui să îmi dezvolt skill-urile de iOS și mai departe, recunosc însă că sunt tentată să învăț și Android. Plănuiesc să mai lucrez la diverse proiecte pe iOS (tutoriale, cursuri online etc) în continuare, ca să învăţ lucruri noi. Şi, cine ştie… poate cât de curând mă voi întoarce la mReady.
Carmen Popa
Citește în continuare despre experiența de internship mReady a Adelei Stan și a lui Mihai Mohora.
3 Responses
[…] în continuare despre Cum se conduce un velier și Ce facem la mReady în pauzele de […]
[…] în continuare despre Cum se conduce un velier și Ce așteptări au viitorii interni […]
[…] reason I wrote this article is the feedback we got from our summer interns: Carmen, Adela and Mihai, who have shared their impressions with us. Seeing what a great contribution we […]