Kuidas liikuda teadusest IT-sse ja saada testijaks: ühe karjääri lugu

Kuidas liikuda teadusest IT-sse ja saada testijaks: ühe karjääri lugu

Täna tähistame päeva, mil austame inimesi, kes igapäevaselt hoolitsevad selle eest, et maailmas oleks veidi rohkem korda — testijaid. Sel päeval avab GeekUniversity Mail.ru Grupist fakulteti neile, kes soovivad liituda universumi entropiaga võitlejatega. Kursuse programm on üles ehitatud nii, et „Tarkvara testija“ ametit saab õppida täiesti nullist, isegi kui oled varem töötanud täiesti teises valdkonnas.

Avaldame ka GeekBrains üliõpilase Maria Lupandina loo (@mahatimas). Maria on doktorikraadiga akustika spetsialist. Praegu töötab ta tarkvara testijana suures insenerifirmas, mis arendab tarkvara meditsiiniasutustele.

Oma artiklis tahan näidata, et karjääri muutmine võib olla üsnagi drastiline. Enne kui hakkasin testijaks, ei olnud mul tehnoloogia valdkonnaga suurt kokkupuudet, välja arvatud need, mis olid vajalikud varasema töö jaoks. Kuid mitmete tegurite tõttu, millest allpool põhjalikult räägin, otsustasin lahkuda teadusvaldkonnast puhtasse IT-sse. Kõik õnnestus, ja nüüd saan oma kogemust jagada.

Kuidas kõik algas: tehnoloogia ja teadus

Pärast biomeditsiinitehnika eriala lõpetamist asusin tööhõiveettevõttesse laboriinsenerina. See on üsna huvitav töö, mille käigus mõõtsin ja kontrollisin ettevõtte toodete ning tooraine parameetreid erinevates tootmisetappides.

Soovisisin saada heaks spetsialistiks, seetõttu süvenesin järk-järgult tootmistehnoloogiatesse ja õppisin omandama seonduvaid erialasid. Näiteks, kui selline vajadus tekkis, uurisin kemikaalanalüüside meetodeid vee kvaliteedi kontrollimiseks, kasutades allikana riiklikke standardeid ja tööstusharu eeskirju. Hiljem õpetasin seda meetodit ka teistele laborantidele.

Samas valmistasin kandidaadi väitekirja, mille ma edukalt kaitsesin. Juba kandidaadina suutsin saada suure rahastu Venemaa Teadusfondilt (RFBR). Selle ajal kutsuti mind ülikooli õpetajaks 0,3 koha peale. Täitsin rahastuse alusel tööülesandeid, koostasin õppeplaane ja meetodilisi materjale ainetele ülikoolis, avaldasin teadusartikleid, andsin loenguid, juhtisin praktikaid ning lõin kontrolltöid ja teste elektroonilise hariduse süsteemile. Õpetamine oli mulle väga meeltmööda, kuid kahjuks lõppes leping ja minu karjäär ülikooli töötajana samuti.

Miks? Ühest küljest tahtsin jätkata oma teed teaduses, saades näiteks dotsendiks. Probleem on selles, et leping oli tähtajaline ja ülikoolis kindlalt püsima ei saanud — uut lepingut, kahjuks, ei pakutud.

Toll olin ettevõttest lahkunud, kuna otsustasin, et on aeg midagi muuta; kogu elu ei olnud just soov õpinkraneerija ametis veeta. Mul polnud tõeliselt kuhu areneda, arenguvõimalused puudusid. Ettevõte oli väike, seega karjääriredelist rääkida ei saanud. Karjäärivõimaluste puudusele lisandus madal palk, ettevõtte ebamugav asukoht ja suurenenud tootmisriskid. Saime kätte kogu probleemide kompleksi, mille pidin lihtsalt nagu Gordioni sõlme lahendama, st lahkuma.

Pärast lahkumist asusin vabakutseliseks. Nii töötasin tellimustööde raames välja projekte raadiotehnika, elektrotehnika ja akustika valdkonnas. Täpsemalt projekteerisin parabolilisi mikrolaineantennasid ja arendasin välja summutatud akustilist ruumi mikrofonide parameetrite uurimiseks. Tellimusi oli palju, kuid siiski soovisin midagi muud. Ühel kaunil päeval soovisid ma proovida oma jõude programmeerijana.

Uus õpe ja vabakutseline töö

Kordagi sattusin ära nägema GeekBrainsi kursuste reklaami ja otsustasin proovida. Alguses läbis ma kursuse „Programmeerimise põhialused“. Soovisin rohkemat, seega käisin ka „Veebiarenduse“ kursustel, mis oli alles algus: omandasin HTML/CSS, HTML5/CSS3, JavaScript, pärast mida hakkasin õppima Java kursustel „Java programmeerija“. Õppimine oli suur väljakutse minu jõududele — mitte seetõttu, et kursus oleks raske, vaid seetõttu, et õppida tuli sageli lapse käes.

Miks just Java? Olen korduvalt kuulnud ja lugenud, et see on universaalne keel, mida saab kasutada näiteks veebiarenduses. Lisaks olen lugenud, et Java teadmistega on võimalik üle minna igale teisele keelele, kui see peaks osutuma vajalikuks. See osutus tõeks: ma kirjutasin koodi C++-s ja see töötas, hoolimata sellest, et ma ei sukeldunud sügavale süntaksisse. Kõik sujus ka Pythoniga, sellel kirjutasin väikese veebilehe parsi.

Kuidas liikuda teadusest IT-sse ja saada testijaks: ühe karjääri lugu
Mõnikord tuli töötada nii — pani lapse ergorihma ja andsin talle mänguasja, lootes, et sellest piisab järjekordse ülesande täitmiseks.

Kui mul oli teatud teadmistepagas ja programmeerimiskogemus, hakkasin tegema tellimusi vabakutselisena. Nii kirjutasin ma isiklike finantside jälgimise rakenduse ja tellimisel lihtsa tekstiredaktori. Mis puutub redaktorisse, siis see on lihtne, sellel on mitmeid põhifunktsioone teksti vormindamiseks, kuid ta täidab oma ülesannet hästi. Lisaks lahendasin ma tekstiprotsessimise ülesandeid ja tegelesin veebilehtede kujundamisega.

Tahan märkida, et programmeerimise õppimine on laienenud minu võimalused ja silmaring: ma suudan mitte ainult kirjutada tellimustöid, vaid tegelen ka oma projektidega. Näiteks olen kirjutanud väikese, kuid kasuliku programmi, mis võimaldab kontrollida, kas keegi rikub teie artikleid Vikipeedias. Programm analüüsib artikli lehte, leiab viimase muutmise kuupäeva ning kui see ei ühti kuupäevaga, mil te viimati oma artiklit redigeerisite, saate teavituse. Olen samuti kirjutanud programmi, mis arvutab automaatselt sellise spetsiifilise toote nagu tööjõu hind. Programmi graafiline liides on kirjutatud JavaFX raamatukogu abil. Loomulikult kasutasin õpikuid, kuid algoritmi arendasin ise ning selle rakendamisel kasutasin OOP põhimõtteid ja mvc disainimudelit.

Frilans on hea, kuid büroo on parem

Kokkuvõttes meeldis mulle freelancerina töötada — sain teenida, ilma et peaksin kodust väljas käima. Kuid siin on probleem tellimuste arvus. Kui neid on palju, on raha eest kõik hästi, kuid on ka kiireid projekte, millega tuli öösel hilja töötada. Kui tellijaid on vähe, tunned rahapuudust. Freelnace’i peamised miinused on ettearvamatu tööaeg ja kõikuva sissetuleku tase. Kõik see mõjutas muidugi ka elukvaliteeti ja üldist vaimset seisundit.

Otsus, et ametlik tööhõive on see, mis aitab neist probleemidest vabaneda, tuli ära. Hakkasin otsima tööpakkumisi spetsialiseeritud seintelt, koostasin hea eluloo (mille eest olen tänulik õpetajatele — neid konsulteerisin tihti, et arutada, mida eluloos esitada ja mida oleks parem mainida juba isikliku suhtluse käigus potentsiaalse tööandjaga). Otsimise ajal tegin testülesandeid, mõned neist olid piisavalt keerulised. Lisasin tulemused oma portfooliosse, mis lõpuks sai üsna mahukaks.

Lõpuks sain tööd testijana ettevõttes, mis tegeleb meditsiiniliste infotehnoloogiate arendamisega, et automatiseerida dokumentide haldust tervishoiuasutustes. Töö leidmisel aitasid mind kõrgkooliharidus biomeditsiinitehnika erialal, samuti teadmised ja kogemused tarkvara arendamises. Mind kutsuti vestlusele ja lõpuks sain ma töö.

Praegu on minu põhiülesanne kontrollida meie programmeerijate loodud rakendusi nende tugevuse osas. Kui tarkvara ei vasta nõuetele, tuleb seda täiendada. Lisaks vaatan üle ka meie süsteemi kasutajatelt saabuvaid sõnumeid. Probleemide lahendamise kallal töötab meil terve osakond, ja mina olen selle osa. Meie ettevõtte arendatud tarkvaraplatvorm on rakendatud haiglates ja polikliinikutes, ning kui tekivad probleemid, saadavad kasutajad lahenduse taotlusi. Neid taotlusi me uurime. Mõnikord valin ma ise tööülesande, millega tegelen, ja mõnikord arutan ma ülesannete valimist kogenumate kolleegidega.

Kui ülesanne on kinnitatud, algab töö. Probleemi lahendamiseks uurin vea päritolu (sest alati on võimalus, et põhjus on inimfaktor). Küsides kliendilt kõik vajalikud üksikasjad, koostan arendajale tehnilise ülesande. Pärast seda, kui komponent või moodul on valmis, testin ja integreerin selle kliendi süsteemi.

Kahjuks peab enamik teste läbi viima käsitsi, kuna automatiseerimise rakendamine on keeruline äri-protsess, mis nõuab tõsist põhjendamist ja põhjalikku ettevalmistust. Sellegipoolest olen tutvunud mõnede automatiseerimistööriistadega. Näiteks Junit-raamatukoguga, mis testib mõnda osa API kaudu. Samuti on olemas ebayopensource'i twin raamdik, mis võimaldab kirjutada skripte, mis simuleerivad kasutaja tegevusi, ja see on väga sarnane veebis kasutatavale Seleniumile. Pluss olen õppinud ka Cucumberi raamdikku.

Minu sissetulek uues kohas on kahekordistunud võrreldes vabakutselise tööga — tõsi, see on suures osas tingitud sellest, et töötan täistööajaga. Muide, statistika järgi hh.ru ja teised allikad näitavad, et arendaja palk Taganrogis ulatub 40 000–70 000 rubla. Üldiselt vastavad need andmed tegelikkusele.

Töökohal on kõik vajalik, kontor on avar, palju aknaid, alati värske õhk. Plus, olemas on köök, kohvimasin ja muidugi küpsised! Meeskond on ka tore, negatiivseid aspekte ei ole üldse. Hea töö ja kolleegid, mida veel programmerija-testija õnneks vajab?

Erakordselt märgin, et ettevõtte kontor asub Taganrogis, mis on minu kodulinn. Siin on palju IT-ettevõtteid, nii et kuskile areneda on võimalusi. Soovi korral võib kolida Rostovisse — seal on võimalusi rohkem, aga praegu ma kolimist ei plaani.

Mis edasi?

Praegu meeldib mulle see, mis mul on. Kuid ma ei kavatse peatuda — seetõttu jätkan õppimist. Loomulikult plaanin võtta kursuse "JavaScript. Tase 2", kui mul on rohkem vaba aega, hakkan kindlasti selle kallal töötama. Kordan regulaarselt läbi tehtud materjale, vaatan loenguid ja veebinare. Lisaks osalen GeekBrains'i mentoriprogrammis. Nii saavad kursused edukalt lõpetanud ja kodutöid teinud tudengid võimaluse olla mentoriteks teistele õppuritele. Mentor vastab küsimustele ja aitab kodutöödes. See on ka mulle kordamine ja õpitu kindlustamine. Vabal ajal, kui on võimalus, lahendan ülesandeid sellistelt ressurssidelt nagu hackerrank.com, codeabbey.com, sql-ex.ru.

Õpin samuti Android-arenduse kursust, mida viivad läbi ITMO õppejõud. Need kursused on tasuta, soovi korral saab teha tasulise eksami. Tahan märkida, et ITMO meeskond hoiab maailmatasemel positsiooni programmeerimise võistlustel.

Mõned nõuanded neile, keda huvitab programmeerimine

Olles juba omandanud teatud kogemuse arenduses, soovitan neist, kes plaanivad IT-sse astuda, mitte viskuda pea ees vette. Heaks spetsialistiks saamiseks tuleb oma ala armastada. Selleks on vajalik valida suund, mis tõeliselt meeldib. Õnneks pole selles midagi keerulist — Internetis on nüüd palju ülevaateid ja kirjeldusi eri arendussuundadest, keeltest või raamistikkudest.

Samuti tuleb olla valmis pidevaks õppimistiks. Programmeerijana ei tohi peatuda — see on sarnane surmale, kuid meie puhul mitte füüsilisele, vaid professionaalsele. Kui olete sellega valmis leppima — siis edasi, miks mitte?

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster