
Dnes gratulujeme k sviatku ľuďom, ktorí sa denne starajú o to, aby bol svet o niečo viac usporiadaný — testerom. V tento deň GeekUniversity od Mail.ru Group pre tých, ktorí sa chcú pridať k bojovníkom proti entropii vesmíru. Program kurzu je koncipovaný tak, aby sa profesia "Tester softvéru" mohla naučiť od základu, aj keď predtým pracoval úplne v inej oblasti.
Taktiež zverejňujeme príbeh študentky GeekBrains Márie Lupandinej (). Mária je kandidátkou technických vied v odbore "Akustika". V súčasnosti pracuje ako tester softvéru vo veľkej inžinierskej spoločnosti, ktorá vyvíja softvér pre zdravotnícke zariadenia.
Vo svojom článku chcem ukázať možnosť pomerne drastickej zmeny kariéry. Predtým, ako som sa stala testerom, som sa s informačnými technológiami príliš často nestretávala, s výnimkou otázok potrebných pre predchádzajúcu prácu. Avšak pod tlakom niekoľkých faktorov, o ktorých sa podrobne zmieňujem nižšie, som sa rozhodla prejsť z vedeckej sféry do čistej IT. Všetko sa podarilo a teraz sa môžem podeliť o svoje skúsenosti.
Ako to všetko začalo: technológie plus veda
Po ukončení univerzity s titulom "biomedicínska inžinieria" som sa zamestnala v priemyselnom podniku ako inžinier-laborant. To je dosť zaujímavá práca, moje povinnosti zahŕňali meranie a kontrolu parametrov výrobkov podniku, ako aj surovín na rôznych etapách výroby.
Chcela som sa stať dobrým špecialistom, a preto som sa postupne ponárala do technológií výroby a osvojujúc si súvisiace špecializácie. Napríklad, keď vznikla taká potrebnosť, som sa naučila metódu vykonávania chemických analýz na kontrolu kvality vody, pričom som ako zdroje použila štátne normy a odvetvové predpisy. Neskôr som túto metódu učila aj iných laborantov.
Zároveň som pripravovala doktorandskú prácu, ktorú som úspešne obhájila. Keď som sa už stala kandidátkou, podarilo sa mi získať veľký grant od Ruského fondu fundamentálnych výskumov (RFFI). V tom istom čase ma pozvali do univerzity na pozíciu pedagóga so zmluvou na 0,3 úväzku. Vykonávala som prácu na grante, vypracovala som učebné plány a metodické materiály pre disciplíny na univerzite, publikovala vedecké články, prednášala, viedla praktické cvičenia, vypracovávala kontrolné a testy pre systém elektronického vzdelávania. Učiteľstvo ma veľmi bavilo, ale bohužiaľ, zmluva sa skončila a moja kariéra ako zamestnanca univerzity tiež.
Prečo? Na jednej strane som chcela pokračovať vo svojej ceste vo vede, stať sa napríklad docentkou. Problém je, že zmluva bola dočasná a nepodarilo sa mi usadiť sa na vysokej škole - novú zmluvu mi, žiaľ, nenavrhli.
Vtedy som sa rozhodla odísť z podniku, pretože som usúdila, že treba niečo meniť, nechať celý život stráviť prácou ako laboratórny inžinier sa mi veľmi nechcelo. Rástli mi možnosti v profesijnom smere, ale chýbalo mi prostredie na rozvoj. Podnik bol malý, takže o kariérnom postupe sa nedalo hovoriť. K absencii kariérnych vyhliadok sa pridáva nízky plat, nepríjemná poloha podniku a zvýšené riziko úrazu na pracovisku. Získali sme celú sústavu problémov, ktoré som musela jednoducho prekonať, ako Gordion gúľa - teda odísť.
Po odchode som prešla na voľnú nohu. Tak som vypracovávala na objednávku projekty v oblasti rádiotechniky, elektrotechniky a akustiky. Najmä som navrhovala paraboloidné mikrovlnné antény a vypracovávala utlmenú akustickú komoru na skúmanie parametrov mikrofónov. Objednávok bolo veľa, ale predsa som mala chuť na niečo iné. V jednom krásnom okamihu som sa rozhodla vyskúšať svoje sily ako programátorka.
Nové štúdium a freelance práca
Raz som narazila na reklamu kurzov GeekBrains a rozhodla som sa vyskúšať. Najskôr som dokončila kurz „Základy programovania“. Chcela som viac, a preto som si zároveň prešla aj kurzy „Webová vývoj“, pričom to bolo len začiatok: osvojila som si HTML/CSS, HTML5/CSS3, JavaScript, po čom som začala študovať Javu na kurzoch „Školenie bolo veľkou výzvou pre moje sily — nie preto, že by kurz bol náročný, ale preto, že sa často muselo učiť s dieťaťom v náručí.
Prečo práve Java? Viackrát som čítala a počula, že je to univerzálny jazyk, ktorý sa dá využiť napríklad vo webovom vývoji. Okrem toho som čítala, že ak poznáte Javu, môžete prejsť na akýkoľvek iný jazyk, ak to bude potrebné. To sa ukázalo ako pravda: písala som kód v C++ a fungoval, hoci som sa do základov syntaxe hlboko nezapúšťala. Podarilo sa mi to aj s Python, na ňom som napísala malý parser webovej stránky.

Niekedy bolo nutné pracovať takto — posadiť dieťa do ergonomického nosiča, dať mu hračku a dúfať, že to stačí na splnenie ďalšej zákazky.
Akonáhle som získala určitý balík vedomostí a skúseností v programovaní, začala som plniť zákazky na freelance. Napísala som aplikáciu na sledovanie osobných financií a textový editor na objednávku. Čo sa týka editora, je jednoduchý, obsahuje niekoľko základných funkcií na formátovanie textu, ale tú svoju úlohu zvláda. Okrem toho som riešila úlohy na spracovanie textu a tiež som sa venovala webovému dizajnu.
Upozorňujem, že štúdium programovania rozšírilo moje možnosti a obzory: nielenže môžem písať programy na objednávku, ale venovať sa aj projektom pre seba. Napríklad som napísala malý, ale užitočný program, ktorý umožňuje zistiť, či niekto poškodzuje vaše články na Wikipédii. Program parsuje stránku s článkom, nájde dátum poslednej zmeny, a ak sa dátum nezhoduje s tým, kedy ste naposledy upravovali svoj článok, dostanete upozornenie. Napísala som aj program na automatické výpočty nákladov na taký špecifický tovar, akým sú pracovné sily. Grafické rozhranie programu je napísané pomocou knižnice JavaFX. Samozrejme, že som používala učebnicu, ale algoritmus som vyvinula sama, pričom pri jeho realizácii som použila zásady OOP a dizajnový vzor MVC.
Freelance je dobrý, ale kancelária je lepšia.
Celkovo ma práca na voľnej nohe bavila — dá sa zarábať bez toho, aby ste vyšli z domu. Problémom je však množstvo objednávok. Ak ich je veľa, peniaze sú dobré, ale občas sú tu naliehavé projekty, na ktorých som musel byť dlho do noci v núdzovom režime. Ak je málo zákazníkov, cítiť potrebu peňazí. Hlavné nevýhody freelancu sú nepravidelný pracovný čas a kolísajúca úroveň príjmu. Toto všetko sa samozrejme odrážalo na kvalite života a na celkovom psychickom stave.
Prišlo pochopenie, že oficiálne zamestnanie je to, čo pomôže zbaviť sa uvedených problémov. Začala som hľadať voľné pracovné miesta na odborných stránkach, vypracovala som dobrý životopis (za čo ďakujem učiteľom — s nimi som sa často radila ohľadom toho, čo uviesť v životopise a čo len spomenúť pri osobnom rokovaní s potenciálnym zamestnávateľom). Počas hľadania som vykonávala testovacie úlohy, niektoré boli dosť zložité. Výsledky som pridávala do portfólia, ktoré nakoniec bolo celkom rozsiahle.
Nakoniec sa mi podarilo zamestnať sa ako tester v spoločnosti, ktorá sa zaoberá vývojom zdravotníckych informačných systémov na automatizáciu administratívy v zdravotníckych zariadeniach. Pomohlo mi nájsť prácu vysokoškolské vzdelanie v oblasti 'biomedicínskej inžinierie' plus znalosti a skúsenosti s vývojom softvéru. Pozvali ma na pohovor a nakoniec som dostala prácu.
Moja hlavná úloha teraz je overovanie aplikácií, ktoré napísali naši programátori, na odolnosť. Ak softvér neprejde testovaním, treba ho upraviť. Okrem toho kontrolujem správy od používateľov systému našej spoločnosti. Na riešení rôznych problémov pracuje celý tím a ja som jeho súčasťou. Softvérová platforma, ktorú vyvinula naša spoločnosť, je implementovaná v nemocniciach a poliklinikách, a ak sa objavia problémy, používatelia posielajú požiadavky na ich riešenie. Tieto požiadavky rozoberáme. Niekedy si sama vyberám úlohu, na ktorej budem pracovať, a niekedy sa radím ohľadom výberu úloh s skúsenejšími kolegami.
Po pripevnení úlohy sa začína práca. Aby som vyriešil problém, zisťujem pôvod chyby (je predsa vždy pravdepodobné, že dôvodom je ľudský faktor). Po upresnení všetkých podrobností od klienta formujem technickú úlohu pre programátora. Akonáhle je komponent alebo modul pripravený, testujem ich a implementujem do systému klienta.
Žiaľ, väčšinu testov je nutné vykonávať ručne, pretože zavedenie automatizácie je zložitý obchodný proces, ktorý si vyžaduje vážne odôvodnenie a dôkladnú prípravu. Napriek tomu som sa oboznámila s niektorými nástrojmi automatizácie. Napríklad s knižnicou Junit na testovanie určitého bloku prostredníctvom API. Je tu aj framework twin od ebayopensource, ktorý umožňuje písať skripty imitujúce ľudské akcie, veľmi podobný Selenium, ktorý sa používa na webe. Plus som sa naučila framework Cucumber.
Môj príjem na novom mieste sa v porovnaní s freelancingom zdvojnásobil – pravda, do značnej miery vďaka tomu, že pracujem na plný úväzok. Mimochodom, podľa štatistík na hh.ru a iných zdrojoch je priemerná mzda vývojára v Taganrogu 40-70 tisíc rubľov. Celkovo tieto údaje zodpovedajú realite.
Pracovné miesto je vybavené všetkým potrebným, kancelária je priestranná, s mnohými oknami a vždy čerstvým vzduchom. Plus je tu kuchyňa, kávovar a samozrejme sušienky! Kolektív je tiež skvelý, v tomto smere nie sú vôbec žiadne negatívne momenty. Dobrá práca, kolegovia, čo viac si môže programátor-testovač želať pre šťastie?
Osobitne by som chcel zdôrazniť, že kancelária spoločnosti sa nachádza v Taganrogu, čo je moje rodné mesto. Je tu množstvo IT spoločností, takže je kde sa rozvíjať. Ak by ste chceli, môžete sa presťahovať do Rostova – tam je viac možností, ale zatiaľ náťahovanie neplánujem.
Čo ďalej?
Zatiaľ ma teší to, čo mám. Ale neplánujem sa zastaviť - a preto sa stále učím. Mám v zálohe kurz „JavaScript. Úroveň 2“, hneď ako sa objaví viac voľného času, určite ho začnem študovať. Pravidelne opakujem už prebrané materiály, plus si pozriem prednášky a webináre. Okrem toho sa zúčastňujem mentorovacieho programu na GeekBrains. Tak, pre študentov, ktorí úspešne ukončili kurzy a odovzdávali domáce úlohy, je k dispozícii možnosť byť mentorom pre iných účastníkov. Mentor odpovedá na otázky, pomáha s domácimi úlohami. Pre mňa je to tiež opakovanie a upevnenie prebratého materiálu. Vo voľnom čase, keď je to možné, riešim úlohy z takých zdrojov, ako sú ,,.
Osvojil som si aj kurz vývoja pre Android, ktorý vedú učitelia z ITMO. Tieto kurzy sú bezplatné, ak si to želáte, môžete si urobiť platenú skúšku. Poznamenávam, že tím ITMO si udržuje svetové prvenstvo v súťažiach v programovaní.
Niekoľko rád pre tých, ktorí sa zaujímajú o programovanie
Už s určitou praxou vo vývoji by som chcel odporučiť tým, ktorí plánujú ísť do IT, aby sa nenechali uniesť. Aby ste sa stali dobrým špecialistom, musíte byť zapálení pre svoju prácu. A na to je potrebné vybrať si smer, ktorý vás naozaj baví. Našťastie, v tom nie je nič zložité - teraz je na internete množstvo recenzií a popisov o akejkoľvek oblasti vývoja, programovacom jazyku alebo frameworku.
A treba byť pripravený na neustály proces učenia. Programátor sa nemôže zastaviť - to je smrteľné, pravda, v našom prípade nie fyzicky, ale profesionálne. Ak ste na to pripravení - tak vpred, prečo nie?
Zdroj: habr.com
