
Ma today we celebrate the holiday of those who care every day to bring a little more order to the world — testers. On this day, GeekUniversity from Mail.ru Group for those who want to join the ranks of fighters against the universe's entropy. The course program is structured so that you can master the profession of 'Software Tester' from scratch, even if you have previously worked in a completely different field.
We also publish the story of GeekBrains student Maria Lupandina (). Maria is a candidate of technical sciences specializing in 'Acoustics'. She now works as a software tester in a large engineering company that develops software for medical institutions.
In this article, I want to showcase the opportunity for quite a drastic career change. Before becoming a tester, I didn't have a very close connection with information technology, except for the moments that were necessary for my previous job. However, under the pressure of several factors, which are detailed below, I decided to leave the scientific field for pure IT. It worked out, and now I can share my experience.
How it all started: technology plus science
After graduating from university with a degree in 'Biomedical Engineering', I got a job at an industrial enterprise as a laboratory engineer. It was quite an interesting job, my duties included measuring and monitoring the parameters of the company's products, as well as raw materials at different stages of production.
I wanted to become a good specialist, so I gradually immersed myself in the production technologies and assimilated related specialties. For example, when the need arose, I learned the methods for conducting chemical analyses to control water quality, using state standards and industry regulations as sources. Later, I taught these methods to other laboratory engineers.
Egyidejűleg elkészítettem a doktori disszertációmat, amelyet sikeresen megvédtem. Már kandidátusként sikerült jelentős támogatást kapnom az Orosz Alapítvány a Tudományos Kutatásokért (RFBR) alapítványtól. Ekkor hívtak meg a egyetemre oktatónak 0,3-es állásidőben. A támogatással kapcsolatos munkáimat végeztem, tantárgyi tanulmányi terveket és módszertani anyagokat dolgoztam ki az egyetem számára, tudományos cikkeket publikáltam, előadásokat tartottam, gyakorlatokat vezettem, ellenőrzőket és teszteket fejlesztettem az elektronikus oktatási rendszerhez. Nagyon szerettem tanítani, de sajnos a szerződésem lejárt, és a kari pályafutásom az egyetemen is véget ért.
Miért? Egyrészt folytatni szerettem volna az utamat a tudományban, például adjunktusként. A probléma az volt, hogy a szerződés határozott idejű volt, és nem tudtam stabilan elhelyezkedni az egyetemen - sajnos nem kínáltak új szerződést.
Ekkor mondtam fel a munkámat, mivel úgy döntöttem, hogy változtatnom kell, és nem akartam az életemet laboratóriumi mérnökként eltölteni. Nem volt hová fejlődni szakmai szempontból, hiányzott a lehetőség a fejlődésre. A vállalat kicsi volt, így a karrierlétra említése nem is merült fel. Az alacsony fizetés, a vállalat kényelmetlen elhelyezkedése és a munkahelyi balesetek fokozott kockázata is hozzájárult a problémákhoz. Ezeket a problémákat egyszerűen le kellett bontani, mint a gordiuszi csomót, vagyis fel kellett mondanom.
A felmondás után szabadúszó lettem. Így megrendelésre fejlesztettem projekteket a rádiótechnikában, villamosmérnöki területen, akusztikában. Különösen parabolikus mikrohullámú antenna projekteket terveztem, és egy akusztikai kamrát fejlesztettem ki a mikrofonok paramétereinek vizsgálatához. Sok megrendelésem volt, de mégis valami másra vágytam. Egy szép napon szerettem volna kipróbálni magam programozóként.
Új tanulmányok és szabadúszás
Egyszer a GeekBrains kurzusainak reklámja akadt a kezembe, és úgy döntöttem, kipróbálom. Először elvégeztem az "Alapok a programozásban" kurzust. Többre vágytam, ezért elvégeztem a "Webfejlesztés" kurzust is, és ez csupán a kezdet volt: elsajátítottam a HTML/CSS, HTML5/CSS3, JavaScript ismereteket, majd elindultam a Java tanulmányokba a "A tanulás nagy kihívás volt a képességeimnek — nem azért, mert a kurzus nehéz, hanem mert sokszor gyerekkel a karomban kellett tanulnom.
Miért éppen a Java? Többször is olvastam és hallottam, hogy ez egy univerzális nyelv, amelyet például webfejlesztésben használhatunk. Ráadásul olvastam, hogy ha valaki megtanulja a Java-t, bármilyen más nyelvre át tud térni, ha szüksége van rá. Ez igaznak bizonyult: írtam kódot C++-ban, és működött, még úgy is, hogy a szintaxis alapjaiba nem ástam bele magam. A Python is jól ment, egy kis weboldal-parser-t írtam rajta.

Néha így kellett dolgoznom — a gyereket beültetni egy hordozóba, adni neki egy játékot és reménykedni, hogy ez elegendő lesz a következő megbízás teljesítéséhez.
Amint bizonyos tudásom és programozási tapasztalatom lett, elkezdtem megbízásokat teljesíteni szabadúszóként. Így írtam egy alkalmazást a személyes pénzügyek nyilvántartására, egy szövegszerkesztőt megbízás alapján. A szövegszerkesztő egyszerű, néhány alapvető funkcióval rendelkezik a szövegformázáshoz, de jól végzi a feladatát. Ezenkívül szövegfeldolgozási feladatokat végeztem, valamint weboldalak tervezésével is foglalkoztam.
Meg kell említenem, hogy a programozás tanulmányozása kibővítette a lehetőségeimet és a látókörömet: nemcsak programokat tudok írni megbízásra, hanem saját projektekkel is foglalkozom. Például írtam egy kicsi, de hasznos programot, amely lehetővé teszi, hogy megtudja: valaki tönkreteszi-e a Wikipédia cikkeidet. A program lekérdezi a cikk oldalát, megtalálja az utolsó módosítás dátumát, és ha a dátum nem egyezik meg azzal a dátummal, amikor utoljára szerkesztetted a cikkedet, értesítést kapsz. Ezenkívül írtam egy programot, amely automatikusan kiszámítja egy olyan specifikus termék, mint a munkaerő költségét. A program grafikus felülete a JavaFX könyvtárral készült. Természetesen használtam tankönyvet, de az algoritmust magam dolgoztam ki, és ennek megvalósításához az OOP elveit és az MVC tervezési mintát használtam.
Szabadúszás — jó, de az iroda — jobb
Összességében tetszett szabadúszónak lenni – hiszen lehet pénzt keresni anélkül, hogy elhagynánk az otthonunkat. De itt a problémát a megbízások száma jelenti. Ha sok van belőlük, akkor minden rendben van a pénzügyekkel, de előfordulnak sürgős projektek is, amelyek miatt késő estig kell dolgozni. Ha kevés megbízó van, akkor érezhető a pénzhiány. A szabadúszás fő hátrányai a rugalmas munkaidő és a változó jövedelmi szint. Ez mindenképpen hatással volt az életminőségre és a mentális állapotra.
Rájöttem, hogy a hivatalos munkaviszony az, ami segíthet megszabadulni a fent említett problémáktól. Elkezdtem állásokat keresni szakmai weboldalakon, készítettem egy jó önéletrajzot (amiért hálás vagyok a tanároknak – gyakran konzultáltam velük arról, hogy mit érdemes feltüntetni az önéletrajzban, és miről lenne jobb beszélni a potenciális munkáltatóval a személyes találkozón). A keresés során tesztfeladatokat végeztem, amelyek közül néhány elég nehéz volt. Az eredményeket hozzáadtam a portfóliómhoz, amely végül meglehetősen terjedelmessé vált.
Végül sikerült elhelyezkednem tesztelőként egy olyan cégnél, amely orvosi információs rendszerek fejlesztésével foglalkozik a dokumentumkezelés automatizálására egészségügyi intézményekben. A munkakeresésben segített a biomedikai mérnöki diploma, valamint a szoftverfejlesztésben szerzett tudás és tapasztalat. Meghívtak interjúra, és végül megkaptam a munkát.
Jelenleg a fő feladatom a programok tesztelése, amelyeket a programozóink írtak, hogy megbízhatók legyenek. Ha a szoftver nem teljesítette a tesztet, akkor azt javítani kell. Ezen kívül ellenőrzöm a cégünk rendszerének felhasználóitól érkező üzeneteket. Külön osztály foglalkozik a különböző problémák megoldásával, és én is ennek a része vagyok. Az általunk kifejlesztett szoftverplatformot kórházakban és rendelőintézetekben vezették be; ha problémák merülnek fel, a felhasználók bejelentést küldenek a megoldásra. Ezeket a bejelentéseket dolgozzuk fel. Néha én magam választom ki a feladatot, amellyel dolgozni fogok, máskor pedig tapasztaltabb kollégákkal konzultálok a feladatok kiválasztásáról.
Miután a feladat rögzítve lett, megkezdődik a munka. Annak érdekében, hogy megoldjam a problémát, megvizsgálom a hiba eredetét (mert mindig fennáll a lehetősége, hogy az ok emberi tényező). Az ügyféltől megszerzett részletek után elkészítem a műszaki követelményt a programozó számára. Miután a komponens vagy modul elkészült, tesztelem őket, és integrálom az ügyfél rendszerébe.
Sajnos a legtöbb tesztet kézzel kell elvégezni, mivel az automatizálás bevezetése bonyolult üzleti folyamat, amely komoly indoklást és alapos előkészületeket igényel. Mindazonáltal néhány automatizálási eszközzel megismerkedtem. Például a Junit könyvtárral, amely lehetővé teszi egy blokk tesztelését az API-n keresztül. Ezen kívül van az ebayopensource által fejlesztett twin keretrendszer, amely lehetővé teszi a felhasználói tevékenységeket imitáló szkriptek írását, nagyon hasonló a weben használt Seleniumhoz. Plusz, elsajátítottam a Cucumber keretrendszert is.
Az új helyemen a bevételem a kétszeresére nőtt a szabadúszó munkámhoz képest — igaz, nagyban azért, mert teljes munkaidőben dolgozom. Egyébként, a hh.ru és más források statisztikái szerint a fejlesztők fizetése Taganrogban 40-70 ezer rubel. Összességében ezek az adatok megfelelnek a valóságnak.
A munkahely jól felszerelt, az iroda tágas, sok ablakkal, mindig friss levegővel. Ráadásul van konyha, kávéfőző, és persze sütik! A csapat is klassz, ebből a szempontból nincsenek negatívumok. Jó munka, kollégák, mi kellhet még egy programozónak-tesztelőnek a boldogsághoz?
Külön kiemelném, hogy a cég irodája Taganrogban található, ami az én szülővárosom. Itt számos IT-cég van, így van lehetőség kibővülésre. Ha akarnám, átköltözhetek Rostovba — ott több lehetőség van, de egyelőre nem tervezem a költözést.
Mi következik?
Eddig elégedett vagyok azzal, amim van. De nem állok meg – ezért folytatom a tanulást. Van egy „JavaScript. 2. szint” kurzus a tarsolyomban; amint több szabadidőm lesz, biztosan elkezdem ezt is elsajátítani. Rendszeresen átnézem az eddig tanult anyagokat, valamint előadásokat és webináriumokat nézek. Ezen kívül részt veszek a GeekBrains mentorprogramjában. Így azok a diákok, akik sikeresen befejezték a kurzusokat, és időben leadták a házi feladatokat, lehetőséget kapnak arra, hogy mentorok legyenek más tanulók számára. A mentor válaszol a kérdésekre, segít a házi feladatokkal. Számomra ez is az anyag átismétlése és megszilárdítása. Szabad időmben, amikor lehetőségem van, problémákat oldok meg olyan forrásokon, mint ,,.
Egy Android-fejlesztői kurzust is elsajátítok, amelyet az ITMO tanárai vezetnek. Ezek a kurzusok ingyenesek, de lehetőség van egy fizetős vizsga letételére is. Meg kell jegyeznem, hogy az ITMO csapata világbajnoki címet tart fenn a programozási versenyeken.
Néhány tipp azoknak, akiket érdekel a programozás
Már meglévő tapasztalattal szeretném tanácsolni azoknak, akik az IT területére készülnek, hogy ne ugorjanak fejest a mély vízbe. Ahhoz, hogy jó szakemberré válj, a saját munkád iránti szenvedély szükséges. Ehhez pedig azt a területet kell választanod, ami igazán tetszik. Szerencsére ebben nincs semmi bonyolult – most az internet tele van véleményekkel és leírásokkal bármilyen fejlesztési területről, nyelvről vagy keretrendszerről.
És érdemes felkészülni a folyamatos tanulási folyamatra. A programozónak sosem szabad megállnia – ez halálos, bár a mi esetünkben nem fizikai, hanem szakmai. Ha készen állsz erre – akkor előre, miért ne?
Forrás: habr.com
