Paano umalis sa agham para sa IT at maging isang tester: ang kuwento ng isang karera

Paano umalis sa agham para sa IT at maging isang tester: ang kuwento ng isang karera

Ngayon binabati namin sa holiday ang mga tao na araw-araw ay tinitiyak na mayroong kaunti pang kaayusan sa mundo - mga tagasubok. Sa araw na ito GeekUniversity mula sa Mail.ru Group nagbubukas ng faculty para sa mga gustong sumali sa hanay ng mga mandirigma laban sa entropy ng Uniberso. Ang programa ng kurso ay nakabalangkas sa paraang ang propesyon ng "Software Tester" ay maaaring ma-master mula sa simula, kahit na dati kang nagtrabaho sa isang ganap na naiibang larangan.

Ini-publish din namin ang kuwento ng GeekBrains student na si Maria Lupandina (@mahatimas). Si Maria ay isang kandidato ng mga teknikal na agham, na may major sa acoustics. Kasalukuyan siyang nagtatrabaho bilang isang software tester para sa isang malaking kumpanya ng engineering na gumagawa ng software para sa mga institusyong medikal.

Sa aking artikulo gusto kong ipakita ang posibilidad ng isang medyo marahas na pagbabago sa karera. Bago maging isang tester, wala akong gaanong pakikipag-ugnayan sa teknolohiya ng impormasyon, maliban sa mga sandali na kinakailangan para sa dati kong trabaho. Ngunit sa ilalim ng presyon ng isang bilang ng mga kadahilanan, na inilarawan nang detalyado sa ibaba, nagpasya akong umalis sa larangang pang-agham para sa purong IT. Naging maayos ang lahat at ngayon ay maibabahagi ko na ang aking karanasan.

Paano nagsimula ang lahat: teknolohiya at agham

Pagkatapos makapagtapos sa unibersidad na may degree sa biomedical engineering, nakakuha ako ng trabaho sa isang pang-industriya na negosyo bilang isang inhinyero ng laboratoryo. Ito ay medyo kawili-wiling trabaho; kasama sa aking mga responsibilidad ang pagsukat at pagsubaybay sa mga parameter ng mga produkto ng negosyo, pati na rin ang mga hilaw na materyales sa iba't ibang yugto ng produksyon.

Nais kong maging isang mahusay na espesyalista, kaya unti-unti kong isinubsob ang aking sarili sa mga teknolohiya ng produksyon at pinagkadalubhasaan ang mga kaugnay na specialty. Halimbawa, nang magkaroon ng pangangailangan, pinag-aralan ko ang pamamaraan para sa pagsasagawa ng mga pagsusuri sa kemikal upang makontrol ang kalidad ng tubig, gamit ang mga pamantayan ng gobyerno at mga regulasyon sa industriya bilang mga mapagkukunan. Nang maglaon ay itinuro ko ang pamamaraang ito sa ibang mga katulong sa laboratoryo.

Kasabay nito, inihahanda ko ang aking PhD thesis, na matagumpay kong ipinagtanggol. Dahil isa na akong kandidato, nakatanggap ako ng malaking grant mula sa Russian Foundation for Basic Research (RFBR). Kasabay nito, inanyayahan ako sa unibersidad bilang isang guro para sa 0,3 na suweldo. Nagsagawa ako ng trabaho sa ilalim ng isang grant, nakabuo ng mga kurikulum at metodolohikal na materyales sa mga disiplina para sa unibersidad, naglathala ng mga artikulong pang-agham, nagbigay ng mga lektura, nagsagawa ng mga kasanayan, nakabuo ng mga pagsusulit at pagsusulit para sa sistema ng e-education. Talagang nasiyahan ako sa pagtuturo, ngunit, sa kasamaang palad, natapos ang kontrata at gayundin ang aking karera bilang isang empleyado sa unibersidad.

Bakit? Sa isang banda, gusto kong ipagpatuloy ang aking landas sa agham, maging, halimbawa, isang katulong na propesor. Ang problema ay ang kontrata ay fixed-term, at ito ay hindi posible na makakuha ng isang foothold sa unibersidad - sa kasamaang-palad, hindi sila inalok ng isang bagong kontrata.

Kasabay nito, umalis ako sa kumpanya dahil napagpasyahan kong may kailangang baguhin; Hindi ko talaga gustong gugulin ang aking buong buhay sa pagtatrabaho bilang isang inhinyero ng laboratoryo. Wala akong kahit saan upang lumago nang propesyonal, walang pagkakataon na umunlad. Ang kumpanya ay maliit, kaya hindi na kailangang pag-usapan ang tungkol sa isang hagdan ng karera. Sa kakulangan ng mga prospect sa karera, nagdaragdag kami ng mababang sahod, isang hindi maginhawang lokasyon ng negosyo mismo at isang mas mataas na panganib ng pinsala sa produksyon. Nagtatapos kami sa isang buong hanay ng mga problema na kailangan lang naming putulin, tulad ng isang Gordian knot, iyon ay, huminto.

Pagkatapos ng aking pagpapaalis, lumipat ako sa libreng tinapay. Kaya, bumuo ako ng mga custom na proyekto sa radio engineering, electrical engineering, at acoustics. Sa partikular, nagdisenyo siya ng mga parabolic microwave antenna at bumuo ng isang anechoic acoustic chamber upang pag-aralan ang mga parameter ng mga mikropono. Maraming order, pero iba pa rin ang gusto ko. Sa isang punto gusto kong subukan ang aking kamay sa pagiging isang programmer.

Mga bagong pag-aaral at freelancing

Kahit papaano ay isang advertisement para sa mga kursong GeekBrains ang nakakuha ng aking pansin at nagpasya akong subukan ito. Una, kinuha ko ang kursong β€œProgramming Fundamentals”. Gusto ko ng higit pa, kaya kinuha ko rin ang mga kursong "Web Development", at ito ay simula pa lamang: Na-master ko ang HTML/CSS, HTML5/CSS3, JavaScript, pagkatapos ay nagsimula akong mag-aral ng Java sa "Java Programmer" Ang pag-aaral ay isang malaking hamon sa aking mga kalakasan - hindi dahil ang kurso mismo ay mahirap, ngunit dahil madalas akong kailangang mag-aral kasama ang isang bata sa aking mga bisig.

Bakit Java? Paulit-ulit kong nabasa at narinig na ito ay isang unibersal na wika na maaaring gamitin, halimbawa, sa web development. Dagdag pa, nabasa ko na ang pag-alam sa Java, maaari kang lumipat sa anumang iba pang wika kung kinakailangan. Ito ay naging totoo: Isinulat ko ang code sa C++, at ito ay gumana, sa kabila ng katotohanan na hindi ako masyadong malalim sa mga pangunahing kaalaman ng syntax. Ang lahat ay nagtrabaho sa Python, nagsulat ako ng isang maliit na web page parser dito.

Paano umalis sa agham para sa IT at maging isang tester: ang kuwento ng isang karera
Minsan kailangan kong magtrabaho nang ganito - ilagay ang bata sa isang ergo-backpack, bigyan siya ng laruan at umaasa na ito ay sapat na upang makumpleto ang susunod na order.

Sa sandaling nagkaroon ako ng isang tiyak na halaga ng kaalaman at karanasan sa programming, nagsimula akong tuparin ang mga order bilang isang freelancer. Kaya't nagsulat ako ng isang aplikasyon para sa personal na accounting sa pananalapi, isang pasadyang editor ng teksto. Tulad ng para sa editor, ito ay simple, mayroon itong ilang mga pangunahing pag-andar para sa pag-format ng teksto, ngunit nakakakuha ito ng trabaho. Bilang karagdagan, nalutas ko ang mga problema sa pagpoproseso ng teksto, kasama ako sa layout ng web page.

Nais kong tandaan na ang pag-aaral ng programming ay nagpalawak ng aking mga kakayahan at abot-tanaw sa pangkalahatan: Hindi lamang ako makakasulat ng mga pasadyang programa, ngunit gumawa din ng mga proyekto para sa aking sarili. Halimbawa, sumulat ako ng isang maliit ngunit kapaki-pakinabang na programa na nagbibigay-daan sa iyo upang malaman kung may sumisira sa iyong mga artikulo sa Wikipedia. Pina-parse ng program ang pahina ng artikulo, hinahanap ang huling binagong petsa, at kung ang petsa ay hindi tumutugma sa petsa kung kailan mo huling na-edit ang iyong artikulo, makakatanggap ka ng abiso. Sumulat din ako ng isang programa upang awtomatikong kalkulahin ang halaga ng isang partikular na produkto bilang paggawa. Ang graphical na interface ng programa ay isinulat gamit ang JavaFX library. Siyempre, ginamit ko ang aklat-aralin, ngunit ako mismo ang bumuo ng algorithm, at ang mga prinsipyo ng OOP at ang pattern ng disenyo ng mvc ay ginamit upang ipatupad ito.

Maganda ang freelancing, pero mas maganda ang opisina

Sa pangkalahatan, nagustuhan ko ang pagiging isang freelancer - dahil maaari kang kumita ng pera nang hindi umaalis sa bahay. Ngunit ang problema dito ay ang bilang ng mga order. Kung marami sila, ayos lang ang lahat sa pera, ngunit may mga kagyat na proyekto na kailangan naming gawin hanggang hating-gabi sa emergency mode. Kung kakaunti ang mga customer, pakiramdam mo kailangan mo ng pera. Ang pangunahing kawalan ng freelancing ay hindi regular na mga iskedyul at hindi pantay na antas ng kita. Ang lahat ng ito, siyempre, ay nakakaapekto sa kalidad ng buhay at sa pangkalahatang sikolohikal na estado.

Ang pag-unawa ay dumating na ang opisyal na trabaho ay kung ano ang makakatulong sa pag-alis ng mga problemang ito. Nagsimula akong maghanap ng mga bakante sa mga dalubhasang website, bumuo ng isang magandang resume (kung saan pinasasalamatan ko ang aking mga guro - madalas akong kumunsulta sa kanila tungkol sa kung ano ang dapat isama sa resume, at kung ano ang mas mahusay na banggitin sa personal na komunikasyon sa isang potensyal na tagapag-empleyo). Sa panahon ng paghahanap, nakumpleto ko ang mga gawain sa pagsusulit, na ang ilan ay medyo mahirap. Idinagdag ko ang mga resulta sa aking portfolio, na sa kalaunan ay naging napakalaki.

Bilang resulta, nakakuha ako ng trabaho bilang isang tester sa isang kumpanya na bumubuo ng mga sistema ng impormasyong medikal para sa pag-automate ng daloy ng dokumento sa mga institusyong medikal. Ang isang mas mataas na edukasyon sa biomedical engineering, kasama ang kaalaman at karanasan sa pagbuo ng software, ay nakatulong sa akin na makahanap ng trabaho. Inimbitahan ako para sa isang pakikipanayam at natapos ang pagkuha ng trabaho.

Ngayon ang aking pangunahing gawain ay subukan ang lakas ng mga application na isinulat ng aming mga programmer. Kung ang software ay hindi pumasa sa pagsubok, kailangan itong pagbutihin. Tinitingnan ko rin ang mga mensahe mula sa mga gumagamit ng system ng aking kumpanya. Mayroon kaming isang buong departamento na nagtatrabaho sa paglutas ng iba't ibang mga problema, at ako ay bahagi nito. Ang software platform na binuo ng aming kumpanya ay ipinatupad sa mga ospital at klinika; kung may mga kahirapan, magpapadala ang mga user ng kahilingan upang malutas ang problema. Tinitingnan namin ang mga kahilingang ito. Minsan ako mismo ang pipili ng gawain na gagawin ko, at kung minsan ay kumunsulta ako sa mas may karanasan na mga kasamahan tungkol sa pagpili ng mga gawain.

Matapos ma-secure ang gawain, magsisimula ang trabaho. Upang malutas ang problema, alam ko ang pinagmulan ng pagkakamali (pagkatapos ng lahat, palaging may posibilidad na ang sanhi ay isang kadahilanan ng tao). Ang pagkakaroon ng paglilinaw sa lahat ng mga detalye sa customer, bumalangkas ako ng teknikal na detalye para sa programmer. Matapos maging handa ang bahagi o module, sinubukan ko ito at ipinatupad ito sa sistema ng customer.

Sa kasamaang palad, ang karamihan sa mga pagsubok ay kailangang isagawa nang manu-mano, dahil ang pagpapatupad ng automation ay isang kumplikadong proseso ng negosyo na nangangailangan ng seryosong pagbibigay-katwiran at maingat na paghahanda. Gayunpaman, naging pamilyar ako sa ilang mga tool sa automation. Halimbawa, ang Junit library para sa pagsubok ng block gamit ang API. Mayroon ding kambal na balangkas mula sa ebayopensource, na nagbibigay-daan sa iyong magsulat ng mga script na gayahin ang mga aksyon ng user, na halos kapareho sa Selenium, na ginagamit sa web. Dagdag pa, pinagkadalubhasaan ko ang balangkas ng Cucumber.

Dumoble ang kita ko sa bago kong trabaho kumpara sa freelancing - gayunpaman, higit sa lahat ay dahil sa katotohanan na full time akong nagtatrabaho. Sa pamamagitan ng paraan, ayon sa mga istatistika mula sa hh.ru at iba pang mga mapagkukunan, ang suweldo ng isang developer sa Taganrog ay 40-70 libong rubles. Sa pangkalahatan, ang mga datos na ito ay totoo.

Ang lugar ng trabaho ay nilagyan ng lahat ng kailangan, maluwag ang opisina, maraming bintana, laging may sariwang hangin. Plus may kusina, coffee maker, at, siyempre, cookies! Mahusay din ang koponan, walang negatibong aspeto sa bagay na ito. Magandang trabaho, mga kasamahan, ano pa ang kailangan ng isang test programmer para maging masaya?

Hiwalay, nais kong tandaan na ang opisina ng kumpanya ay matatagpuan sa Taganrog, na aking bayan. Medyo kakaunti ang mga kumpanya ng IT dito, kaya may puwang na palawakin. Kung nais mo, maaari kang lumipat sa Rostov - mayroong higit pang mga pagkakataon doon, ngunit sa ngayon ay hindi ako nagpaplanong lumipat.

Ano ang susunod?

So far gusto ko kung anong meron ako. Ngunit hindi ako titigil, at iyon ang dahilan kung bakit patuloy akong nag-aaral. Sa stock - isang kurso sa JavaScript. Level 2", sa sandaling mayroon akong mas maraming libreng oras, tiyak na sisimulan ko itong mastering. Regular kong inuulit ang mga materyales na nasaklaw ko na, at nanonood ako ng mga lecture at webinar. Bilang karagdagan dito, nakikilahok ako sa isang programa ng mentorship sa GeekBrains. Kaya, para sa mga mag-aaral na matagumpay na nakatapos ng mga kurso at nakatapos ng mga takdang-aralin sa araling-bahay, ang pagkakataon na maging isang tagapayo para sa ibang mga mag-aaral ay magagamit. Sinasagot ng mentor ang mga tanong at tumutulong sa takdang-aralin. Para sa akin, ito rin ay pag-uulit at pagsasama-sama ng materyal na sakop. Sa aking libreng oras, kapag posible, nalulutas ko ang mga problema mula sa mga mapagkukunan tulad ng hackerrank.com, codeabbey.com, sql-ex.ru.

Kumukuha din ako ng kurso sa Android development na itinuro ng mga guro ng ITMO. Ang mga kursong ito ay libre, ngunit maaari kang kumuha ng bayad na pagsusulit kung gusto mo. Nais kong tandaan na ang koponan ng ITMO ay may hawak na kampeonato sa mundo sa mga kumpetisyon sa programming.

Ilang payo para sa mga interesado sa programming

Dahil mayroon na akong karanasan sa pag-unlad, nais kong payuhan ang mga nagbabalak na pumasok sa IT na huwag magmadali sa pool. Upang maging isang mahusay na espesyalista, kailangan mong maging masigasig sa iyong trabaho. At para magawa ito, dapat mong piliin ang direksyon na talagang gusto mo. Sa kabutihang palad, walang kumplikado tungkol dito - ngayon sa Internet mayroong maraming mga pagsusuri at paglalarawan tungkol sa anumang lugar ng pag-unlad, wika o balangkas.

Well, dapat kang maging handa para sa isang patuloy na proseso ng pag-aaral. Ang isang programmer ay hindi maaaring tumigil - ito ay tulad ng kamatayan, kahit na sa aming kaso hindi ito pisikal, ngunit propesyonal. Kung handa ka na para dito, sige, bakit hindi?

Pinagmulan: www.habr.com

Magdagdag ng komento