Cum să părăsești știința pentru IT și să devii tester: povestea unei cariere

Cum să părăsești știința pentru IT și să devii tester: povestea unei cariere

Astăzi îi felicităm pe oamenii care, zi de zi, se îngrijesc ca în lume să existe un pic mai multă ordine — testeri. În această zi, GeekUniversity de la Mail.ru Group deschide facultatea pentru cei care vor să se alăture luptătorilor împotriva entropiei Universului. Cursul este structurat astfel încât profesia de „Tester de software” să poată fi învățată de la zero, chiar și pentru cei care au lucrat anterior într-un domeniu complet diferit.

De asemenea, publicăm povestea studentei GeekBrains Maria Lupandina (@mahatimas). Maria este doctor în științe tehnice specializată în „Acustică”. În prezent, lucrează ca tester de software într-o mare companie de inginerie care dezvoltă software pentru instituții medicale.

În acest articol, vreau să arăt oportunitatea unei schimbări radicale de carieră. Înainte de a deveni tester, nu am avut prea multe legături cu tehnologia informației, cu excepția momentelor necesare pentru fostul meu loc de muncă. Dar sub presiunea mai multor factori, despre care voi povesti în detaliu mai jos, am decis să părăsesc sfera științifică pentru IT pur. A mers bine, iar acum pot să-mi împărtășesc experiența.

Cum a început totul: tehnologie plus știință

După ce am terminat universitatea cu specializarea în „Inginerie biomedicală”, m-am angajat la o întreprindere industrială ca inginer de laborator. Aceasta este o muncă destul de interesantă; responsabilitățile mele includeau măsurarea și controlul parametrilor produselor întreprinderii, precum și a materiei prime la diferite etape ale producției.

Voiam să devin un specialist bun, așa că m-am implicat treptat în tehnologiile de producție și am învățat specialități conexe. De exemplu, atunci când a apărut necesitatea, am studiat metoda de efectuare a analizelor chimice pentru controlul calității apei, folosind ca surse standarde naționale și reglementări de branșă. Mai târziu, am învățat această metodă și alți laboranți.

În același timp, am pregătit teza de doctorat, pe care am susținut-o cu succes. Fiind deja doctor în științe, am reușit să obțin un grant substanțial de la Fondul Rusesc pentru Cercetări Fundamentale (RFȘI). Tot atunci am fost invitată ca profesor la universitate cu o normă de 0,3. Am realizat lucrări pentru grant, am dezvoltat planuri de învățământ și materiale metodice pentru disciplinele universitare, am publicat articole științifice, am predat cursuri, am coordonat practici, am elaborat teste pentru sistemul educațional electronic. Îmi plăcea foarte mult să predau, dar, din păcate, contractul s-a încheiat și cariera mea ca angajat al universității — de asemenea.

De ce? Pe de o parte, mi-aș fi dorit să continui drumul în știință, devenind, de exemplu, lector. Problema este că contractul era pe termen determinat și nu am reușit să mă consolidez în învățământul superior — din păcate, nu mi s-a oferit un nou contract.

Atunci am renunțat la locul de muncă deoarece am decis că trebuie să schimb ceva, nu voiam să-mi dedic întreaga viață meseriei de inginer laborant. Pur și simplu nu aveam unde să cresc profesional, nu exista oportunități de dezvoltare. Întreprinderea era mică, așa că nu se punea problema unei cariere. La lipsa perspectivelor de carieră se adaugă un salariu mic, o localizare incomodă a întreprinderii și o crescută pericolitate a producției. Rezultatul este un întreg complex de probleme pe care a trebuit pur și simplu să-l destram, ca pe un nod gordian, adică — să demisionez.

După demisie, am trecut la muncă liberă. Astfel, am dezvoltat la comandă proiecte în domeniile radiotehnicii, electricității și acusticii. În special, am proiectat antene parabolice cu microunde, am dezvoltat o cameră acustică amortizată pentru studierea parametrilor microfoanelor. Am avut multe comenzi, dar totuși îmi doream altceva. Într-o zi minunată, am dorit să îmi încerc puterile ca programator.

Noua învățare și freelancing

Cumva, mi-a apărut în față reclama pentru cursurile GeekBrains și am decis să încerc. Mai întâi, am finalizat cursul „Fundamentele programării”. Am dorit mai mult, așa că am urmat și cursurile de „Dezvoltare web”, iar aceasta a fost doar începutul: am învățat HTML/CSS, HTML5/CSS3, JavaScript, după care am început să studiez Java la cursurile „Programator JavaÎnvățarea a fost o mare provocare pentru forțele mele — nu pentru că cursul în sine ar fi fost dificil, ci pentru că, adesea, a trebuit să învăț cu un copil în brațe.

De ce tocmai Java? Am citit și auzit de mai multe ori că este un limbaj universal, care poate fi folosit, de exemplu, în dezvoltarea web. În plus, am citit că, cunoscând Java, poți trece la orice alt limbaj, dacă va fi nevoie. Asta s-a dovedit a fi adevărat: am scris cod în C++ și a funcționat, chiar dacă nu m-am adâncit prea mult în sintaxa de bază. Am avut rezultate și cu Python, pe care am scris un mic parser pentru o pagină web.

Cum să părăsești știința pentru IT și să devii tester: povestea unei cariere
Uneori, a trebuit să lucrez în acest fel — să așez copilul în rucsacul ergonomic, să-i dau o jucărie și să sper că va fi suficient pentru a finaliza următoarea comandă.

Odată ce am acumulat un anumit bagaj de cunoștințe și experiență în programare, am început să accept comenzi pe freelancing. Astfel, am scris o aplicație pentru gestionarea finanțelor personale și un editor de text la comandă. Cât despre editor, acesta este simplu, având câteva funcții de bază pentru formatarea textului, dar își îndeplinește sarcina. În plus, am rezolvat sarcini legate de procesarea textului și am lucrat la crearea de pagini web.

Vreau să subliniez că studiul programării mi-a extins posibilitățile și orizonturile: nu doar că pot scrie programe la comandă, dar mă ocup și de proiecte personale. De exemplu, am scris un program mic, dar util, care permite să verifici dacă cineva îți modifică articolele pe Wikipedia. Programul parsează pagina cu articolul, găsește data ultimei modificări și, dacă data nu coincide cu ultima dată când ai editat tu articolul, primești o notificare. De asemenea, am scris un program pentru calcularea automată a prețului pentru un produs atât de specific cum este forța de muncă. Interfața grafică a programului a fost realizată folosind biblioteca JavaFX. Bineînțeles, am folosit un manual, dar algoritmul l-am dezvoltat singură, iar pentru implementarea acestuia am folosit principii de OOP și modelul de proiectare MVC.

Freelancing-ul este bun, dar biroul este mai bun.

În general, mi-a plăcut să fiu freelancer — pot câștiga bani fără a ieși din casă. Dar aici problema este numărul de comenzi. Când sunt multe, totul este bine din punct de vedere financiar, dar există proiecte urgente, pentru care trebuie să stau treaz până târziu în noapte. Când sunt puțini clienți, simți nevoia de bani. Principalele dezavantaje ale freelancing-ului sunt programul neregulat și nivelul nesigur al veniturilor. Toate acestea, desigur, au influențat calitatea vieții și starea psihologică generală.

A venit înțelegerea că angajarea oficială este ceea ce m-ar ajuta să scăp de problemele menționate. Am început să caut locuri de muncă pe site-uri specializate, am dezvoltat un CV bun (mulțumesc profesorilor — m-am consultat frecvent cu ei cu privire la ce ar trebui să indic în CV și ce ar fi mai bine să menționez în timpul unei întâlniri personale cu potențialul angajator). În timpul căutărilor am finalizat teste, unele dintre ele fiind destul de dificile. Rezultatele le-am adăugat în portofoliul, care, în final, a devenit destul de voluminos.

În final, am reușit să obțin un loc de muncă ca tester în cadrul unei companii care dezvoltă sisteme informaționale medicale pentru automatizarea circulației documentelor în instituțiile de sănătate. M-au ajutat educația superioară în domeniul «ingineriei biomedicale», plus cunoștințele și experiența în dezvoltarea software-ului. Am fost invitată la interviu și, în final, am obținut locul de muncă.

Acum, sarcina mea principală este să verific aplicațiile scrise de programatorii noștri, pentru a verifica robustetea acestora. Dacă software-ul nu a rezistat testului — trebuie să fie îmbunătățit. În plus, verific mesajele de la utilizatorii sistemului companiei noastre. La rezolvarea diferitelor probleme lucrează un întreg departament, iar eu fac parte din acesta. Platforma software dezvoltată de compania noastră este implementată în spitale și policlinici, iar dacă apar dificultăți, utilizatorii trimit solicitări pentru rezolvarea problemelor. Aceste solicitări le analizăm. Uneori aleg eu însămi sarcina cu care voi lucra, iar alteori mă consult cu colegi mai experimentați cu privire la alegerea task-urilor.

După ce taskul este finalizat, începe munca. Pentru a rezolva problema, investighez originea erorii (deoarece există întotdeauna riscul ca motivul să fie factorul uman). După ce obțin toate detaliile de la client, elaborez un caiet de sarcini pentru programator. După ce componenta sau modulul este gata, le testez și le integrez în sistemul clientului.

Din păcate, majoritatea testelor trebuie efectuate manual, deoarece implementarea automatizării este un proces de afaceri complex care necesită o justificare seriosă și o pregătire temeinică. Cu toate acestea, am avut ocazia să mă familiarizez cu unele instrumente de automatizare. De exemplu, biblioteca Junit pentru testarea unui anumit bloc prin API. De asemenea, există framework-ul twin de la ebayopensource, care permite scrierea de scripturi ce imită acțiunile utilizatorului, foarte similar cu Selenium, utilizat în web. Plus, am învățat framework-ul Cucumber.

Venitul meu la noul loc de muncă a crescut de două ori comparativ cu freelancingul — de fapt, în mare parte datorită faptului că lucrez cu normă întreagă. Apropo, conform statisticilor hh.ru și altor resurse, salariul unui dezvoltator în Taganrog este între 40.000 și 70.000 de ruble. În general, aceste date sunt conforme cu realitatea.

Locul de muncă este dotat cu tot ce este necesar, biroul este spațios, are multe feronerie și mereu aer proaspăt. În plus, există o bucătărie, un aparat de cafea și, bineînțeles, biscuiți! Colegii sunt de asemenea grozavi, nu sunt deloc aspecte negative în acest sens. O muncă bună, colegi, ce altceva ar putea dori un programator-testor pentru fericirea sa?

Vreau să subliniez că biroul companiei se află în Taganrog, orașul meu natal. Aici există multe companii IT, așa că sunt multe oportunități. Dacă îți dorești, poți să te muți în Rostov — acolo sunt mai multe oportunități, dar deocamdată nu plănuiesc mutarea.

Ce urmează?

Până acum, sunt mulțumit de ceea ce am. Dar nu mă voi opri — așa că continui să învăț. Am în plan un curs de „JavaScript. Nivel 2”, și de îndată ce voi avea mai mult timp liber, mă voi apuca de el. Repet regulat materialele deja parcurse, plus că urmăresc lecții și webinarii. În plus, particip la programul de mentoring de la GeekBrains. Așa că, pentru studenții care au terminat cu succes cursurile și au predat la timp temele, există posibilitatea de a fi mentor pentru alți studenți. Mentorul răspunde la întrebări și ajută cu temele. Pentru mine, aceasta este și o manieră de a repeta și consolida materialul parcurs. În timpul liber, atunci când am ocazia, rezolv exerciții de pe resurse precum hackerrank.com, codeabbey.com, sql-ex.ru.

De asemenea, studiez un curs de dezvoltare Android, susținut de profesorii de la ITMO. Aceste cursuri sunt gratuite, iar dacă dorim, putem susține un examen plătit. Aș dori să menționez că echipa ITMO menține primul loc mondial la competițiile de programare.

Câteva sfaturi pentru cei interesați de programare

Având deja o anumită experiență în dezvoltare, aș dori să le sfătuiesc pe cei care intenționează să se îndrepte spre IT să nu se arunce cu capul înainte. Pentru a deveni un bun specialist, trebuie să fii pasionat de ceea ce faci. Iar pentru asta, trebuie să alegi acea direcție care îți place foarte mult. Din fericire, acum, pe internet există o mulțime de recenzii și descrieri despre orice domeniu de dezvoltare, limbaj sau cadru de lucru.

Și merită să fii pregătit pentru un proces constant de învățare. Un programator nu poate să se oprească — aceasta este echivalent cu moartea, deși în cazul nostru nu se referă la moarte fizică, ci profesională. Dacă ești pregătit pentru asta — atunci înainte, de ce nu?

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster