Как да напусна науката за ИТ и да стана тестер: историята на една кариера

Как да напусна науката за ИТ и да стана тестер: историята на една кариера

Днес честитим празника на хората, които всеки ден се грижат да има малко повече ред в света - тестерите. На този ден GeekUniversity от Mail.ru Group открива факултета за тези, които искат да се присъединят към редиците на борците срещу ентропията на Вселената. Програмата на курса е структурирана по такъв начин, че професията „Софтуерен тестер“ може да бъде овладяна от нулата, дори ако преди това сте работили в съвсем различна област.

Публикуваме и историята на студентката от GeekBrains Мария Лупандина (@mahatimas). Мария е кандидат на техническите науки, специалност акустика. В момента работи като софтуерен тестер за голяма инженерингова компания, която разработва софтуер за медицински институции.

В моята статия искам да покажа възможността за доста драстична промяна в кариерата. Преди да стана тестер, нямах много контакт с информационните технологии, с изключение на моментите, които бяха необходими за предишната ми работа. Но под натиска на редица фактори, които са описани подробно по-долу, реших да напусна научната сфера за чисто IT. Всичко се получи и сега мога да споделя опита си.

Как започна всичко: технология плюс наука

След като завърших университет със специалност биомедицинско инженерство, намерих работа в индустриално предприятие като лаборантен инженер. Това е доста интересна работа, моите отговорности включваха измерване и наблюдение на параметрите на продуктите на предприятието, както и на суровините на различни етапи от производството.

Исках да стана добър специалист, затова постепенно се потопих в производствените технологии и усвоих сродни специалности. Например, когато възникна необходимост, проучих методологията за провеждане на химически анализи за контрол на качеството на водата, използвайки държавни стандарти и индустриални разпоредби като източници. По-късно научих тази техника на други лаборанти.

В същото време подготвях докторската си дисертация, която успешно защитих. Тъй като вече бях кандидат, успях да получа голям грант от Руската фондация за фундаментални изследвания (RFBR). В същото време ме поканиха в университета като преподавател срещу 0,3 заплата. Извършвах работа по грант, разработвах учебни програми и методически материали по дисциплини за университета, публикувах научни статии, изнасях лекции, провеждах практики, разработвах викторини и тестове за системата за електронно обучение. Много ми харесваше да преподавам, но за съжаление договорът приключи, както и кариерата ми на университетски служител.

Защо? От една страна исках да продължа пътя си в науката, като стана например асистент. Проблемът е, че договорът беше срочен и не можеха да се закрепят в университета - за съжаление не им беше предложен нов договор.

В същото време напуснах компанията, защото реших, че нещо трябва да се промени; всъщност не исках да прекарам целия си живот като лабораторен инженер. Просто нямаше накъде да израствам професионално, нямаше възможност да се развивам. Компанията е малка, така че не е необходимо да се говори за кариерна стълба. Към липсата на кариерни перспективи добавяме ниски заплати, неудобно местоположение на самото предприятие и повишен риск от наранявания в производството. В крайна сметка се сблъскваме с цял набор от проблеми, които просто трябваше да разрежем, като гордиев възел, тоест да се откажем.

След уволнението минах на безплатен хляб. И така, разработих проекти по поръчка в областта на радиотехниката, електротехниката и акустиката. По-специално, тя проектира параболични микровълнови антени и разработи безехова акустична камера за изследване на параметрите на микрофоните. Имаше много поръчки, но все пак исках нещо различно. В един момент исках да се пробвам като програмист.

Нови проучвания и свободна практика

По някакъв начин една реклама за курсове на GeekBrains привлече вниманието ми и реших да я пробвам. Първо взех курса „Основи на програмирането“. Исках повече, затова взех и курсовете „Уеб разработка“ и това беше само началото: усвоих HTML/CSS, HTML5/CSS3, JavaScript, след което започнах да уча Java в „Java програмист" Ученето беше голямо предизвикателство за силните ми страни – не защото самият курс беше труден, а защото често трябваше да уча с дете на ръце.

Защо Java? Многократно съм чел и чувал, че това е универсален език, който може да се използва например в уеб разработката. Освен това прочетох, че като знаете Java, можете да превключите на всеки друг език, ако възникне нужда. Това се оказа вярно: написах кода на C++ и той работи, въпреки факта, че не се потопих твърде дълбоко в основите на синтаксиса. Всичко се получи с Python, написах малък анализатор на уеб страници в него.

Как да напусна науката за ИТ и да стана тестер: историята на една кариера
Понякога трябваше да работя така - да сложа детето в ерго-раница, да му дам играчка и да се надявам това да е достатъчно, за да изпълни следващата поръчка.

Веднага след като придобих известни познания и опит в програмирането, започнах да изпълнявам поръчки на свободна практика и написах приложение за счетоводство на лични финанси, персонализиран текстов редактор. Що се отнася до редактора, той е прост, има няколко основни функции за форматиране на текст, но върши работата. Освен това реших проблеми с обработката на текст и участвах в оформлението на уеб страница.

Бих искал да отбележа, че изучаването на програмиране разшири моите възможности и хоризонти като цяло: мога не само да пиша персонализирани програми, но и да правя проекти за себе си. Например, написах малка, но полезна програма, която ви позволява да разберете дали някой разваля вашите статии в Уикипедия. Програмата анализира страницата на статията, намира датата на последната промяна и ако датата не съвпада с датата, на която последно сте редактирали статията си, получавате известие. Написах и програма за автоматично изчисляване на цената на такъв специфичен продукт като труда. Графичният интерфейс на програмата е написан с помощта на библиотеката JavaFX. Разбира се, използвах учебника, но аз разработих алгоритъма сам и принципите на ООП и шаблона за проектиране mvc бяха използвани за реализирането му.

Свободната практика е добра, но офисът е по-добър

Като цяло ми хареса да съм на свободна практика - защото можете да печелите пари, без да излизате от вкъщи. Но проблемът тук е броят на поръчките. Ако има много от тях, всичко е наред с парите, но има спешни проекти, с които трябваше да седите до късно през нощта в авариен режим. Ако има малко клиенти, тогава изпитвате нужда от пари. Основните недостатъци на свободната практика са нередовните графици и непостоянните нива на доходи. Всичко това, разбира се, се отрази на качеството на живот и общото психологическо състояние.

Дойде разбирането, че официалната работа е това, което ще помогне да се отървем от тези проблеми. Започнах да търся свободни работни места в специализирани уебсайтове, разработих добра автобиография (за което благодаря на учителите си - често се консултирах с тях какво трябва да бъде включено в автобиографията и какво е по-добре да спомена в лична комуникация с потенциален работодател). По време на търсенето изпълнявах тестови задачи, някои от които доста трудни. Добавих резултатите към моето портфолио, което в крайна сметка стана доста обемно.

В резултат на това успях да си намеря работа като тестер във фирма, която разработва медицински информационни системи за автоматизиране на документооборота в лечебните заведения. Висше образование по биомедицинско инженерство, плюс познания и опит в разработката на софтуер ми помогнаха да си намеря работа. Поканиха ме на интервю и в крайна сметка получих работата.

Сега основната ми задача е да тествам силата на приложенията, написани от нашите програмисти. Ако софтуерът не издържи теста, той трябва да бъде подобрен. Проверявам и съобщения от потребители на системата на моята компания. Имаме цял отдел, който работи по решаването на различни проблеми, и аз съм част от него. Разработената от нашата компания софтуерна платформа е внедрена в болници и клиники; ако възникнат затруднения, потребителите изпращат заявка за решаване на проблема. Разглеждаме тези искания. Понякога сам избирам задачата, върху която ще работя, а понякога се консултирам с по-опитни колеги за избора на задачи.

След като задачата е осигурена, работата започва. За да реша проблема, установявам произхода на грешката (в края на краищата винаги има възможност причината да е човешки фактор). След уточняване на всички подробности с клиента, формулирам техническа спецификация за програмиста. След като компонентът или модулът е готов, го тествам и внедрявам в системата на клиента.

За съжаление повечето тестове трябва да се извършват ръчно, тъй като внедряването на автоматизация е сложен бизнес процес, който изисква сериозна обосновка и внимателна подготовка. Въпреки това се запознах с някои инструменти за автоматизация. Например библиотеката Junit за тестване на блок с помощта на API. Има и двойната рамка от ebayopensource, която ви позволява да пишете скриптове, които симулират потребителски действия, много подобни на Selenium, който се използва в мрежата. Освен това усвоих рамката на Cucumber.

Доходите ми в новата ми работа се удвоиха в сравнение с работата на свободна практика – обаче до голяма степен поради факта, че работя на пълен работен ден. Между другото, според статистиката на hh.ru и други ресурси, заплатата на разработчика в Таганрог е 40-70 хиляди рубли. Като цяло тези данни са верни.

Работното място е оборудвано с всичко необходимо, офисът е просторен, има много прозорци, винаги има чист въздух. Освен това има кухня, кафе машина и, разбира се, бисквитки! Екипът също е страхотен, няма никакви негативни аспекти в това отношение. Браво, колеги, какво друго му трябва на един тестов програмист, за да е доволен?

Отделно бих искал да отбележа, че офисът на компанията се намира в Таганрог, който е моят роден град. Тук има доста ИТ компании, така че има накъде да се разширяваме. Ако желаете, можете да се преместите в Ростов - там има повече възможности, но засега не смятам да се местя.

Каква е следващата?

Засега харесвам това, което имам. Но няма да спра и затова продължавам да уча. В наличност - курс по JavaScript. Ниво 2”, щом имам повече свободно време, със сигурност ще започна да го усвоявам. Редовно повтарям материалите, които вече съм покрил, плюс гледам лекции и уебинари. В допълнение към това участвам в менторска програма в GeekBrains. По този начин за студенти, които са завършили успешно курсове и са завършили домашни задачи, е налична възможността да бъдат наставник на други студенти. Менторът отговаря на въпроси и помага с домашните. За мен това е и повторение и затвърдяване на преминатия материал. В свободното си време, когато е възможно, решавам задачи от ресурси като hackerrank.com, codeabbey.com, sql-ex.ru.

Също така вземам курс по разработка на Android, преподаван от учители на ITMO. Тези курсове са безплатни, но можете да вземете платен изпит, ако желаете. Бих искал да отбележа, че отборът на ITMO държи световното първенство по състезания по програмиране.

Няколко съвета за тези, които се интересуват от програмиране

След като вече имах известен опит в разработката, бих искал да посъветвам тези, които планират да се занимават с ИТ, да не се втурват презглава в пула. За да станете добър специалист, трябва да сте запалени по работата си. И за да направите това, трябва да изберете посоката, която наистина харесвате. За щастие в това няма нищо сложно - сега в интернет има много рецензии и описания за всяка област на разработка, език или рамка.

Е, трябва да сте подготвени за постоянен процес на обучение. Програмистът не може да спре - това е като смърт, въпреки че в нашия случай не е физическа, а професионална. Ако сте готови за това, тогава давайте, защо не?

Източник: www.habr.com

Добавяне на нов коментар