Kako ostaviti nauku u IT i postati tester: priča o jednoj karijeri

Kako ostaviti nauku u IT i postati tester: priča o jednoj karijeri

Danas čestitamo praznik ljudima koji se svakodnevno trude da u svijetu bude malo više reda - testerima. Na današnji dan GeekUniversity iz Mail.ru grupe otvara fakultet za one koji žele da se pridruže redovima boraca protiv entropije Univerzuma. Program kursa je struktuiran na način da se profesijom „Testera softvera“ može savladati od nule, čak i ako ste ranije radili u potpuno drugoj oblasti.

Objavljujemo i priču GeekBrains učenice Marije Lupandine (@mahatimas). Marija je kandidat tehničkih nauka, smer akustika. Trenutno radi kao softverski tester za veliku inženjersku kompaniju koja razvija softver za medicinske ustanove.

U svom članku želim pokazati mogućnost prilično drastične promjene karijere. Prije nego što sam postao tester, nisam imao mnogo kontakta sa informatičkom tehnologijom, osim u trenucima koji su bili neophodni za moj prethodni posao. Ali pod pritiskom niza faktora, koji su detaljno opisani u nastavku, odlučio sam da napustim naučnu oblast radi čistog IT-a. Sve je uspjelo i sada mogu podijeliti svoje iskustvo.

Kako je sve počelo: tehnologija plus nauka

Po završetku fakulteta sa diplomom biomedicinskog inženjera, zaposlio sam se u industrijskom preduzeću kao laboratorijski inženjer. Ovo je prilično interesantan posao; moje obaveze su uključivale mjerenje i praćenje parametara proizvoda preduzeća, kao i sirovina u različitim fazama proizvodnje.

Želio sam postati dobar stručnjak, pa sam se postepeno udubljivao u proizvodne tehnologije i savladavao srodne specijalnosti. Na primjer, kada se ukazala potreba, proučavao sam metodologiju za provođenje hemijskih analiza za kontrolu kvaliteta vode, koristeći državne standarde i industrijske propise kao izvore. Kasnije sam ovu tehniku ​​podučavao i drugim laboratorijskim asistentima.

Uporedo sam pripremao i doktorsku tezu koju sam uspješno odbranio. Budući da sam već bio kandidat, uspio sam dobiti veliki grant od Ruske fondacije za osnovna istraživanja (RFBR). Istovremeno sam pozvan na fakultet kao profesor za 0,3 plate. Radio sam u okviru granta, razvijao nastavne planove i programe i metodološke materijale iz disciplina za univerzitet, objavljivao naučne članke, držao predavanja, izvodio vežbe, razvijao kvizove i testove za e-obrazovni sistem. Zaista sam uživao u predavanju, ali, nažalost, ugovor je prekinut, a tako i moja karijera univerzitetskog radnika.

Zašto? S jedne strane, želio sam da nastavim svoj put u nauku, postavši, na primjer, docent. Problem je što je ugovor bio na određeno vrijeme, a nije bilo moguće učvrstiti se na fakultetu – nažalost, nije im ponuđen novi ugovor.

Istovremeno sam napustio kompaniju jer sam odlučio da nešto treba da se promeni; nisam baš želeo da ceo život provedem radeći kao laboratorijski inženjer. Jednostavno nisam imao gdje da rastem profesionalno, nije bilo mogućnosti da se razvijam. Firma je mala, tako da o ljestvici karijere nije trebalo govoriti. Nedostatku izgleda za karijeru dodajemo niske plate, nezgodnu lokaciju samog preduzeća i povećan rizik od povreda u proizvodnji. Na kraju imamo čitav niz problema koje smo jednostavno morali preseći, kao Gordijev čvor, odnosno napustiti.

Nakon otkaza, prešao sam na besplatan kruh. Dakle, razvio sam prilagođene projekte u radiotehnici, elektrotehnici i akustici. Konkretno, dizajnirala je parabolične mikrotalasne antene i razvila anehogenu akustičnu komoru za proučavanje parametara mikrofona. Bilo je puno narudžbi, ali sam ipak htio nešto drugačije. U jednom trenutku sam poželeo da se okušam kao programer.

Nove studije i freelancing

Nekako mi je za oko zapela reklama za GeekBrains kurseve i odlučio sam da probam. Prvo sam pohađao kurs “Osnove programiranja”. Želeo sam više, pa sam pohađao i kurseve „Web Development“, a ovo je bio tek početak: savladao sam HTML/CSS, HTML5/CSS3, JavaScript, nakon čega sam počeo da učim Javu u „Java programer" Studiranje je bilo veliki izazov za moje prednosti – ne zato što je sam kurs bio težak, već zato što sam često morala da učim sa djetetom u naručju.

Zašto Java? Više puta sam čitao i čuo da je ovo univerzalni jezik koji se može koristiti, na primjer, u web razvoju. Osim toga, pročitao sam da znajući Javu, možete se prebaciti na bilo koji drugi jezik ako se ukaže potreba. Ispostavilo se da je to istina: napisao sam kod u C++ i funkcionirao je, uprkos činjenici da nisam previše zaronio u osnove sintakse. Sve je ispalo s Pythonom, napisao sam mali parser web stranice u njemu.

Kako ostaviti nauku u IT i postati tester: priča o jednoj karijeri
Ponekad sam morao ovako da radim - stavim dijete u ergo ranac, dam mu igračku i nadam se da će to biti dovoljno da završi sljedeću narudžbu.

Čim sam stekao određeno znanje i iskustvo u programiranju, počeo sam da ispunjavam narudžbe kao freelancer, pa sam napisao aplikaciju za računovodstvo ličnih finansija, prilagođeni tekst editor. Što se tiče uređivača, on je jednostavan, ima nekoliko osnovnih funkcija za formatiranje teksta, ali obavlja posao. Osim toga, rješavao sam probleme s obradom teksta, plus bio sam uključen u izgled web stranice.

Želeo bih da napomenem da je studiranje programiranja proširilo moje mogućnosti i horizonte uopšte: ​​ne samo da mogu da pišem prilagođene programe, već i da radim projekte za sebe. Na primjer, napisao sam mali, ali koristan program koji vam omogućava da saznate da li vam neko kvari članke na Wikipediji. Program analizira stranicu članka, pronalazi datum posljednje izmjene i ako se datum ne poklapa s datumom kada ste zadnji put uređivali članak, dobit ćete obavijest. Napisao sam i program za automatski izračunavanje troškova takvog specifičnog proizvoda kao što je rad. Grafički interfejs programa je napisan pomoću JavaFX biblioteke. Naravno, koristio sam udžbenik, ali sam sam razvio algoritam, a za njegovu implementaciju korišteni su OOP principi i mvc obrazac dizajna.

Slobodni rad je dobar, ali kancelarija je bolja

Općenito, svidjelo mi se biti freelancer - jer možete zaraditi novac bez napuštanja kuće. Ali ovdje je problem broj narudžbi. Ako ih ima puno, sve je u redu s novcem, ali postoje hitni projekti s kojima ste morali sjediti do kasno u noć u hitnom režimu. Ako ima malo kupaca, onda osjećate potrebu za novcem. Glavni nedostaci slobodnjaka su nepravilni rasporedi i nedosljedni nivoi prihoda. Sve je to, naravno, uticalo na kvalitet života i opšte psihičko stanje.

Stiglo je razumijevanje da je službeno zapošljavanje ono što će pomoći da se riješimo ovih problema. Počeo sam tražiti slobodna radna mjesta na specijaliziranim web stranicama, napravio dobar životopis (na čemu se zahvaljujem svojim nastavnicima - često sam se konsultovao s njima o tome šta bi trebalo uključiti u životopis, a što je bolje spomenuti u ličnoj komunikaciji s potencijalnim poslodavcem). Tokom potrage sam rješavao testne zadatke, od kojih su neki bili prilično teški. Rezultate sam dodao u svoj portfolio, koji je na kraju postao prilično obiman.

Kao rezultat toga, uspio sam da se zaposlim kao tester u kompaniji koja razvija medicinske informacione sisteme za automatizaciju toka dokumenata u medicinskim ustanovama. Visoko obrazovanje iz biomedicinskog inženjerstva, kao i znanje i iskustvo u razvoju softvera, pomogli su mi da nađem posao. Pozvan sam na razgovor i na kraju sam dobio posao.

Sada je moj glavni zadatak da testiram snagu aplikacija koje su napisali naši programeri. Ako softver ne prođe test, potrebno ga je poboljšati. Provjeravam i poruke korisnika sistema moje kompanije. Imamo cijeli odjel koji radi na rješavanju raznih problema, a ja sam dio toga. Softverska platforma koju je razvila naša kompanija implementirana je u bolnicama i klinikama, a ukoliko se pojave poteškoće korisnici šalju zahtjev za rješavanje problema. Mi razmatramo ove zahtjeve. Ponekad sam biram zadatak na kojem ću raditi, a ponekad se o izboru zadataka konsultujem sa iskusnijim kolegama.

Nakon što je zadatak osiguran, posao počinje. Da bih riješio problem, saznajem porijeklo greške (na kraju krajeva, uvijek postoji mogućnost da je uzrok ljudski faktor). Nakon što sam razjasnio sve detalje s kupcem, formuliram tehničku specifikaciju za programera. Nakon što je komponenta ili modul spreman, testiram ga i implementiram u sistem korisnika.

Nažalost, većina testova se mora izvoditi ručno, jer je implementacija automatizacije složen poslovni proces koji zahtijeva ozbiljno opravdanje i pažljivu pripremu. Međutim, upoznao sam se s nekim alatima za automatizaciju. Na primjer, Junit biblioteka za testiranje bloka pomoću API-ja. Tu je i twin framework iz ebayopensourcea, koji vam omogućava da pišete skripte koje simuliraju radnje korisnika, vrlo slično Seleniumu, koji se koristi na webu. Osim toga, savladao sam Cucumber framework.

Moja primanja na novom poslu su se udvostručila u odnosu na freelancing – međutim, uglavnom zbog činjenice da radim puno radno vrijeme. Usput, prema statistikama hh.ru i drugih resursa, plata programera u Taganrogu je 40-70 hiljada rubalja. Generalno, ovi podaci su tačni.

Radno mesto je opremljeno svim potrebnim, kancelarija je prostrana, ima mnogo prozora, uvek ima svežeg vazduha. Plus tu je kuhinja, aparat za kafu i, naravno, kolačići! Ekipa je također odlična, nema nikakvih negativnih aspekata po tom pitanju. Bravo, kolege, šta još treba test programeru da bi bio srećan?

Odvojeno, želio bih napomenuti da se kancelarija kompanije nalazi u Taganrogu, koji je moj rodni grad. Ovdje ima dosta IT kompanija, tako da ima prostora za širenje. Ako želite, možete se preseliti u Rostov - tamo ima više mogućnosti, ali za sada ne planiram seliti.

Što je sljedeće?

Do sada mi se sviđa ono što imam. Ali neću stati, i zato nastavljam da učim. Na lageru - kurs JavaScript. Nivo 2”, čim budem imao više slobodnog vremena, sigurno ću početi da ga savladavam. Redovno ponavljam materijale koje sam već obradio, plus gledam predavanja i webinare. Pored ovoga, učestvujem u mentorskom programu na GeekBrains-u. Tako je studentima koji su uspješno završili kurseve i uradili domaće zadatke dostupna mogućnost da budu mentor ostalim studentima. Mentor odgovara na pitanja i pomaže u izradi domaćih zadataka. Za mene je to i ponavljanje i konsolidacija obrađenog materijala. U slobodno vrijeme, kada je to moguće, rješavam probleme iz resursa kao npr hackerrank.com, codeabbey.com, sql-ex.ru.

Također pohađam kurs o Android razvoju koji predaju ITMO nastavnici. Ovi kursevi su besplatni, ali možete polagati plaćeni ispit ako želite. Napominjem da ITMO tim drži svjetsko prvenstvo u takmičenjima u programiranju.

Nekoliko savjeta za one koji se zanimaju za programiranje

Budući da sam već imao iskustva u razvoju, savjetovao bih onima koji planiraju da se bave IT-om da ne žure bezglavo u bazen. Da biste postali dobar specijalista, morate biti strastveni u svom poslu. A da biste to učinili, trebali biste odabrati smjer koji vam se stvarno sviđa. Srećom, u tome nema ništa komplicirano - sada na Internetu postoji mnogo recenzija i opisa o bilo kojem području razvoja, jezika ili okvira.

Pa, trebali biste biti spremni na stalan proces učenja. Programer ne može stati - to je kao smrt, iako u našem slučaju nije fizička, već profesionalna. Ako ste spremni za ovo, samo naprijed, zašto ne?

izvor: www.habr.com

Dodajte komentar