5 април, 2020

Мирослав Андонов е независим Test Automation Consultant, живеещ и работещ в Амстердам, Холандия. Неговият труд е насочен към fintech сферата и компанията Ingenico ePayments. Какви са предимствата и недостатъците на Manual и Automation тестването, какви са изискванията за QA професията и колко голяма е разликата между българския и холандския пазар? На тези въпроси ни отговаря г-н Андонов, но преди това…

Какво означава “независим” консултант?

Означава, че тази длъжност не минава през някоя service ориентирана компания, както е разпространено в България. Работата ми е на частна практика. 

Откога се занимавате с технологии? 

Непрофесионално – от гимназията, което прави повече от 25 години. Професионално, от около 19 години. В началото започнах като системен администратор и имах шанса да работя по някои доста големи проекти в държавата ни. Това бе интересно за мен и ми предостави възможност за добър старт в кариерата. С времето реших, че искам да се преместя от страната в която се прави софтуера и това бе пределна точка. Попаднах на обява за QA и ако трябва да съм честен – нямах никаква идея какво точно представлява това. Мотивацията ми дойде от това, че компанията е международна, което създава шанс за работа с хора извън България. По този начин се запознах с testing професията и още в началото – втория или третия месец – осъзнах, че силата ми е по-скоро клони към автоматизацията и писането на код, отколкото в т. нар. ръчно тестване. 

Споменахте, че сте работил по големи проекти в България. Можете ли да дадете примери? 

Работех като служител в Агенция по вписванията и бях в основата на изграждането и внедряването на Имотния и Търговския регистър. 

А как така кандидатствате за работа, без да знаете какво представлява тя? 

До този момент опитът ми бе изцяло фокусиран с български компании и реших, че искам нещо по-различно. Интуицията ми подсказа, че кариерата ми ще се развие много по-добре ако работя за западна компания. В конкретния случай – немска. Реших, че след като съм млад и нямам семейство мога да поема този риск. Държа да отбележа, че преди 10 години, когато се случи всичко това, автоматизацията на тестването въобще не бе популярна. Всичко беше manual. Автоматизацията на front-end web базирани приложения се случваше с първата версия на Selenium, която беше изключително неудобна за работа. Автоматизираното тестване бе абсолютна екзотика, а също така – скъпо струващо начинание за българските компании. Всичко това му създаде непопулярен имидж, а тогава ИТ браншът в България бе на по-начално ниво. Въпреки това усетих, че за автоматизираното тестване предстои много голям пазарен дял и е професия, комбинираща мисленето на tester и уменията на програмист. 

Какви са изискванията за тази професия и кое е по-ефективното – QA Manual или QA Automation? 

Първоначално се говореше, че ръчното тестване е ненужно. С времето осъзнах, че то не може да бъде избегнато. При автоматизираното тестване се изискват повече умения и буквално вече се говори не за automation tester-и, а за програмисти в тестването. Това е, защото се изискват високи технологични умения за работа с Docker, GitLab и т.н. Умение за работа с поне един добър език като Java или JavaScript. Освен това имаме и уменията за работа със сървъри, cloud и др. Всичко това води на мисълта, че ние сме на едно ниво с останалите програмисти.
При manual tester-ите се изисква много разчупено мислене. То може да се изгради с времето и опита, и аз съм работил неведнъж с невероятни специалисти по manual. Намирали са бъгове, за които дори не бих могъл да предположа, че съществуват. За добро или лошо, все пак, “ръчното” тестване вече се намира в сянката на бранша. Повечето процеси изискват по-краткотрайно тестване, като DevOps, следователно за manual няма необходимото време. 

Какви технологии използвате и по какви проекти работите? 

В момента се занимавам с автоматизация на една платформа за извършване на интернет плащания. Когато вие си купите нещо от Amazon, най-просто казано – някой трябва да вземе парите от вас и да ги предаде на компанията. Винаги има поне една компания, действаща като посредник. Ние работим по платформа, базирана на няколко програмни езика и автоматизацията, която правя сега е изцяло на Javа. По-голямата част от компанията е базирана именно на Java и на този етап на пазара е по-лесно да се открият Java Automation QA специалисти. Бих казал, че 90% от тестванията ни са на back-end и всичко е CI базирано. Използваме и два инструмента за тази цел – Jenkins и GitLab. Също така за cloud – Docker и Kubernetes. Нямаме инструменти, които да са наложени на корпоративно ниво. Използваме тези, които решават отделни проблеми, тъй като едно нещо не може да свърши работа за всичко. 

Можете ли да дадете пример за други интересни проекти по които работите или сте работил? 

Друг интересен проект в кариерата ми е свързан с образованието в Америка. Клиентът ни предоставяше оценяване на матури в училищата. Тяхната структура е по-различна, но мисля, че матури е добър еквивалент. На всеки срок идва външна компания, която прави въпросното оценяване, което е изключително важно за учениците. За разлика от България – там това не се прави на хартия и повечето тестове са на компютър. Платформата бе изключително тежка и сложна и започваше от изготвянето на самите тестове за учениците до автоматичното им оценяване. Системата, която ние направихме, можеше да оцени почти всеки отговор, освен есетата, защото те са творческа работа. Българската част на екипа бе съставена от около 100 човека, 30 от които tester-и и повечето – manual. Беше доста изискваща работа, защото клиентите на нашите клиенти бяха самите щати – договорите бяха на ниво щат. 

Имате сериозен опит в сферата и в тази насока искам да Ви попитам, доколко е важно цялостното познаване на продукта, който се тества? Има ли как “дупките” в кода или работата на системата, да бъдат уловени без това познаване? 

Ако трябва да сме честни, винаги ще има бъгове. 

И най-големите компании имат нужда от постоянна поддръжка на своите продукти…

Именно. Затова според мен – няма значение дали сме manual или automation – познаването на домейна е много важно. Проблемът е, че ние сменяме проекти. Работил съм за assessment, healthcare, сега съм във fintech. Всеки нов домейн изисква сериозно първоначално четене. Не само за продукта, а за познаването на самия бизнес. Дали тествате, или разработвате, или сте DevOps – няма значение. Нужно е да познавате самия бизнес на компанията, тъй като има специфични изисквания. Познавам QA специалисти, които са като енциклопедия за дадения продукт, докато програмистите повече се фокусират върху един или два модула. За един QA е важно да направи връзката между всички елементи, за да може да изгради добър план за тестване. Това няма как да стане без познаването на домейна и продукта. 

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

Абсолютно важи и тук. Но освен това е много важно, когато тествате нещо, да знаете основните неща. Първо – няма как да се автоматизира всичко на 100%. Дори и да може, струва изключително скъпо и аз лично не съм работил за компания, която да е склонна да инвестира в това. Може би Google и Facebook го правят, но при тях е друго. Второ – трябва да се изгради риск-базирана стратегия и да е ясно от къде да се започне. Това отнема доста време и аз лично препоръчвам на клиентите си, да стартираме от мястото, където ще ги заболи най-много в случай, че нещо не работи. Това значи – от къде ще бъдат загубени най-много пари и имидж. Някой път, второто е много по-важно от първото. След това трябва да се провери кои дейности се повтарят най-често, защото по този начин ще имаме много по-бързо връщане на инвестицията. Има формули, по които могат да бъдат пресметнати всички тези графики и един добър тестинг план може да доведе до половин час тестване, вместо цял ден.
Защо за важни тези подходи? Виждал съм екипи, решили да използват автоматизация, без да помислят какво ще стане след шест месеца и какво ще е състоянието на продукта. А той изисква своята поддръжка, която струва пари. Затова предварителната подготовка е толкова важна.

Какви са най-големите отговорности за позицията, която заемате? 

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

А какви са особеностите в комуникацията между QA Architect, Product Manager и Developer Architect? В крайна сметка, тя е едно от най-важните неща… 

QA Architect е лидерска позиция от която зависи много. Един такъв специалист трябва да е в много добра комуникация със stakeholder-ите и останалите служители. Той е нещо като свързващо звено. Аз работя в компания с много националности и е много важно да предам правилно посланията. Имам предвид, че от различните краища на света, хората са с различна култура. Някои са по-пасивни, някои са агресивни, българите са доста директни и прями. Ние обичаме да задаваме въпроси. В някои култури това е плашещо. Американците пък, са много учтиви и при тях трябва да се чете между редовете. Поради тази причина, един Architect трябва да е наясно как да се предаде правилно посланието. 

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

Холандският пазар е изключително мултинационален и холандците не са най-доминиращата част. Има компании, от които 90% не са от Холандия. В Ingenico сме около 40 различни националности. 

В България на 95% може би са само българи…

Основно да. Но има и друга разлика. В по-голямата си част българският пазар е аутсорсинг – не искам да обиждам никого, но това е така. Работи за външни компании. В Холандия пазарът е на две части – има много продуктови компании, чиито бизнес е базиран в страната, заедно с IT Hub-а – в една и съща сграда. Другата част от пазара е от консултантски компании – Accenture, Tata Consultancy и др. 

Докато в България консултантството, като че ли, все още не е модерно? 

Не е толкова развито, определено. Да не забравяме, че в Холандия са и някои от най-големите банки в Европа. Имат хиляди ИТ служители, което в България липсва, поради по-малката икономика. Също така – иновациите са много повече. Ако погледнете в LinkedIn ще забележите, че от 10 обяви за QA, 9 са за автоматизация. Повечето компании не наемат Manual QA. Имат си служители, работещи за тях от дълго време и са високо ценени функционални тестери, знаещи изключително добре продукта. В България QA браншът е по-доминиран от ръчното тестване. 

Работата ли бе основната мотивация да се преместите в Холандия? 

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

Така, както разбирам – не съжалявате за това решение? 

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

А виждате ли прилики между тамошния пазар и българския? 

Става дума за компютри и по тази логика технологиите са еднакви и на двете места – DevOps, Big Data и т.н. Всъщност, тук в Холандия, проектите по които работите, можете да ги видите и извън офиса. Докато в България повечето са за външен пазар и хората от екипа дори не могат да усетят по колко голямо нещо работят. Нямат досега. Това е голяма разлика. Все пак, в България имаме много добри специалисти, защото се интересуват и доста четат. В Холандия не е точно така. 

Да се върнем на QA. Вие сте бил Team Lead, Project Manager, Architect, Consultant. Как върви развитието на един QA специалист и има ли най-висока позиция, която може да се достигне? 

Най-високата позиция е небето. Той е таванът. Лично аз съм виждал много опровержения на тезата, че един QA не може да се издигне до Architect. Реално има примери за такива, които са CTO и др. Смятам, че таванът на един човек не идва от това каква е професията му, а от това какво има в главата. За по-младите колеги на тази специалност, горещо препоръчвам да не се страхуват да пишат код. Професията става по-технологично ориентирана и интересна. Една от тенденциите, които ще последват според мен е, QA Automation да се слее с DevOps Engineer. Работим по доста общи неща. 

Значи можем да кажем, че QA Manual ще започне да изчезва от пазара? 

Това си мислех преди години, но всъщност винаги ще я има тази професия. Само че ще е в по-малка степен. 

Последен въпрос. Към този момент е възможно най-актуалното нещо на света – коронавирусът. Вие живеете в Холандия, вече има случаи в България. Как ще се отрази това на пазара? Ще засегне ли ИТ специалистите, след като те могат да работят от домовете си, следователно работа ще има, за разлика от други звена, в които работата намалява… 

Най-напред пожелавам на всеки да се опази здравословно. В ИТ бранша можем да работим и от плажа и homebase работата не е никакъв проблем. Аз дори върша повече работа тогава, защото успявам да се концентрирам и не ме разсейват. Проблемът е именно в спада на икономиката. Има мини криза и кривите, които дават по борсите са по-остри отколкото 2008 г. – още не сме паднали на същите стойности, но тенденцията е много тревожна. Компаниите се опитват да вземат мерки като орязване на маркетинг, консултантски услуги и др. Ако компаниите нямат cash flow, те няма да могат да плащат. Определено ще има спад в бранша, който ще се отрази индиректно под една или друга форма и на компаниите в България. 

Интервюто проведе Пламен Михайлов

 

Тагове: , , , , , , , , , , , , , , , , , ,