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

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

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

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

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

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

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

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

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

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

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

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

Ново обучение и фриланс

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

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

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

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

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

Фрийлансът е добре, но офисът е по-добре.

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

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

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

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

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

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

Моят доход на новото място е удвоен в сравнение с фрийланса — всъщност, в голяма степен благодарение на това, че работя на пълно работно време. Между другото, според статистиката на hh.ru и други ресурси, размерът на заплатата на разработчик в Таганрог е между 40 и 70 хиляди рубли. Общите данни отразяват действителността.

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

Отделно ще спомена, че офисът на компанията се намира в Таганрог, моят роден град. Тук има немалко IT компании, така че има какво да се развива. При желание може да се преместите в Ростов — там възможностите са повече, но засега не планирам преместване.

Какво следва?

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

Усвоявам също курс по разработка на Android, който провеждат преподавателите от ИТМО. Тези курсове са безплатни, при желание може да се положи платен изпит. Ще отбележа, че екипът на ИТМО поддържа световното първенство в състезанията по програмиране.

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

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

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

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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster