Антон е от хората, които нямат нужда от голямо представяне, защото неведнъж е бил гост на наши събития и интервюта. Той е един от най-търсените QA специалисти и е участвал в над 20 конференции в цял свят, за да споделя знанията си с широката QA общност. Автор на технически и sci-fi книги, започнал професионалния си път от Телерик, а днес управлява собствена компания – Automate The Planet, работейки с десетки български и чуждестранни компании. С Антон говорим за любовта към професията, желанието да споделяш знания и как да се развиваш като успешен QA специалист.
DEV.BG: Как се появи идеята за написване на новата ти книга и с какво тя може да помогне на QA обществото?
Антон Ангелов: Мотивацията за новата ми книга “Design Patterns for High-Quality Automated Tests: Clean Code for Bulletproof Tests” (Java Edition) се появи вследствие на първата, която публикувах. Първата написах преди година под заглавието „Design Patterns for High-Quality Automated Tests: High-Quality Test Attributes and Best Practices“ и е за C#. Идеята за издаване на такова съдържание се зароди от липсата на информация за по-сложните въпроси в нашата сфера. Малко са книгите, които са насочени към старши QA специалисти и архитекти, а на мен винаги ми е било по-интересно да работя върху по-сложните проблеми и да ги разрешавам. След публикуването на първата книга в Amazon, много хора започнаха да ме питат дали няма да издам книга и за Java. Паралелно на това във фирмата ни от 4 г. имахме продукт (test automation framework на C#) и бях решил, че в някакъв момент продуктите ни трябва да започнат да се предлагат и за Java. Издаването на втората книга беше естествено продължение на всичко това. Започнах да я подготвям през август 2020г. и вече е реалност.
Книгата представя същите концепции, които са описани в първата, но на база Java технологии. В нея специалистите ще намерят информация за оптимизирането, стабилизирането на тестовете и как се работи с асинхронни уеб страници в тестовете. Описано е как може да се подобри четливостта на теста, поддръжката, повторната употреба и още, чрез включване на над 10 дизайнерски шаблона: Page Object Model, Facade, Decorator, Observer, Strategy, Singleton, Fluent Interface, Template Method, Abstract Factory, Factory Method, Repository, Lazy Load. Описани са принципите на SOLID и как те могат да подобрят тестовия код, както и други основни принципи на програмиране като композиция, DRY, KISS и други. Книгата би била подходяща по-скоро за тези, които вече имат една-две години опит в тестването. Със сигурност и junior хората ще могат да открият полезна за тях информация, защото е написана на достъпен език, но много от концепциите са малко по-абстрактни и трябва да имаш известен опит, за да ги разбереш изцяло.
DEV.BG: Върху какви проекти работиш сега?
Антон Ангелов: С времето проектите само се увеличават и са на различни фронтове. Виждам, че българското QA общество страда от липсата на специалисти, които да споделят знания и материали за тестването. Това е и причината да стартирам кампанията NEXT_GEN_QA_BG, като основната идея е да съм ментор и да помагам на други експерти в нашата сфера да пишат технически статии и да съдействам с разпространението им през блога ми. За радост вече работя с двама мои колеги и наскоро публикувахме първата си обща статия. Другото, което правим е, че непрекъснато обучаваме хора. От миналия септември основното, с което се занимава компанията ни са онлайн обучения, консултиране, професионални услуги и фирмени трейнинги за автоматично тестване. Един от последните ми проекти е и sci-fi книгата ми – Testing in the Galaxy (107th Orion Testing Simposium), в която действието се развива на конференция след хиляди години. Всяка глава е под формата на лекция и разказва за бъдещето, за това какво се случва в него и как софтуерното тестване се намесва във всичко това. Сега работя върху продължението – 108th Orion Testing Simposium.
DEV.BG: Как се става QA в България?
Антон Ангелов: С надграждане на знанията. Един завършен курс в повечето случаи дава много основни познания, но за да те наемат на работа трябва да притежаваш нещо, което да те отличи от всички останали хора, които също са изкарали този или подобни курсове. Университетът и книгите са важни, теоретичните сертификати също са добра възможност, въпреки че са недолюбвани в средите. Много хора неглижират университетите и разбирам защо се случва, но това което виждам е, че университетът създава аналитично мислене, изгражда качества, които помагат да си вършиш добре работата. Аз съм доволен, че съм бил в Техническия университет, защото това е било от полза за техническото ми мислене. Мисля, че моето професионално издигане се дължи на това, че чета много книги. Дори когато си в началото на кариерата, когато се аргументираш с това, което си прочел от книгите (а те са написани от човек с много повече авторитет) тогава и твоите идеи и аргументи звучат по-сериозно и обосновано.
DEV.BG: Какви умения трябва да притежава един QA, за да е добър в работата си?
Антон Ангелов: Това, с което ще започна е общовалидно за всяка една професия, но е много важно и затова ще го кажа – хората трябва да имат работна етика. Тепърва с много служители се учим на основни неща, особено когато работим дистанционно има доста предизвикателства. Също така аз много следя по интервютата за подбор за комуникативността и soft skills. Въпреки, че сме технически специалисти това е много важно, за да можеш да общуваш добре и да проявяваш емпатия. Мисля, че издигането ми преди време в Телерик се е дължало на две неща и едното е умението да бъдеш прям, но по един деликатен начин. Второто е да притежаваш малко sales/ маркетинг подход и проактивност. Мисля, че умението да заявиш себе си е определящо за кариерата.
Да си QA означава да участваш в целия процес за разрешаването на един проблем – от срещите до автоматизацията и т.н., за мен е важно хората да са минали през цялата верига, за да знаят какво правят. През първите години, когато започнах кариерата си половината от работата ми беше свързана с ръчно тестване. Повечето хора си мислят, че е по-добре да скочиш директно в автоматичното, но мнението ми е, че няма как да си толкова добър в тестването, ако не минеш и през ръчното. Може да си страхотен програмист, но ако не минеш и през двете няма да разбираш същината на проблемите, които трябва да разрешаваш.
DEV.BG: Според теб има ли възможност търсенето на ръчното тестване да изчезне? Какво може да се очаква в бъдеще?
Антон Ангелов: Има твърде много приложения, които няма как да се тестват автоматично, една от сферите в които няма как да изчезне ръчното тестване е тази на игрите. Реално в много сектори има начини за автоматизиране, но това е прекалено скъпо и по-удачният вариант е да се запази ръчното тестване. В България то има все по-малко търсене не заради друго, а защото стандартът при нас доста се е покачил. В Шри Ланка например, както и в други страни, има много голяма общност за ръчно тестване, но там стандартът е съвсем нисък. Смятам, че винаги ще има търсене на ръчно тестване, а и както казах няма как да си добър в автоматичното тестване, ако поне малко не си тествал ръчно.
DEV.BG: Продуктовите или service компаниите са по-подходящи за развитието на един QA?
Антон Ангелов: Всеки тип компания има своите предимства. Ние в Automate The Planet донякъде правим и двете, което е готино, защото нашите служители могат да се чувстват щастливи заради разнообразието. При service компаниите може да се каже, че проектите се сменят сравнително често. Хубавото при тях е, че така свикваш да променяш мисленето си и има възможност да трупаш опит в различни проекти. Виждал съм колеги, които с години са в екип на един продукт, което е много тясно специализирано и знаеш всичко по дадения домейн, но когато затворят екипа нямаш много опции за това как да продължиш напред. Мисля, че в началото на кариерата е добре да се започне в service компания, стига да не се бърза и да не се работи на парче. Защото хаосът е голям и има напрежение, а това означава и голям стрес за един QA. По-важното преди да се започне работа в каквато и да било компания е да се задават правилните въпроси към бъдещия работодател. Това помага и създава яснота за динамиката на екипа.
DEV.BG: Какъв съвет би дал на QA общността?
Антон Ангелов: На първо място бих ги посъветвал да не спират техническото си развитие и да четат книги. Забелязвам, че напоследък се налага разбирането, че можеш да започнеш работа в сектора и без да имаш нужното образование, стига да владееш дадена технология. Това наистина е възможно и се случва, но аз винаги бих избрал образованието. Ако трябва да избирам между двама кандидати – единият с образование, а другият без, ще предпочета този, който е завършил университет.
Другият съвет, който бих дал е по-скоро свързан с прегряването и това как да го избягваме покрай работата особено в ситуацията на локдаун, когато немалко хора работят overtime. Според мен е важно всеки да си има хоби, да открие какво го зарежда. Хубаво е хората да поддържат своята любознателност. Това помага и за работата в последствие – без значение дали ще е чрез книги, пътуване, рисуване или друго. При мен идеите за работа нерядко идват когато трупам впечатления от различни преживявания. Много често това се случва и покрай книгите, които чета. Пътуванията пък са като един вид рестарт за мен. Докато пътувам постоянно мисля и изследвам това, което ме заобикаля. Повечето от идеите ми идват в движение, спирам записвам си и продължавам.
Ако си QA ентусиаст и търсиш ново професионално предизвикателство може да разгледаш всички свободни позиции тук.