Branża IT zmaga się obecnie ze spowolnieniem. Popyt na specjalistów jest mniejszy, niż przyzwyczaił nas do tego rozgrzany przez kilka ostatnich lat rynek – i niestety ta sytuacja tyczy się także branży testerskiej. Wielu testerów ma problem ze znalezieniem pracy, a w najtrudniejszej sytuacji są osoby początkujące, którzy chcą wejść do branży i szukają swojej pierwszej pracy. Często wtedy pojawia się pytanie – jak wyróżnić się na rynku pracy i zwrócić na siebie uwagę rekruterów?
ISTQB – przepustka do świata IT?
Utarło się, że zdany egzamin i posiadany certyfikat ISTQB Foundation Level najczęściej jest mocną kartą przetargową podczas rekrutacji na stanowisko testerskie i czymś, co realnie wyróżniało kandydatów w oczach rekruterów. Według mnie, ta sytuacja mocno się zmieniła i posiadany certyfikat ISTQB nie jest już tak mocną kartą przetargową jak jeszcze kilka lat temu. Treści opisane w sylabusie często mają niewiele wspólnego z realnymi projektami, do których trafisz w swojej pracy komercyjnej jako tester oprogramowania – po prostu teoria czasem nie pokrywa się z praktyką. Nie zrozum mnie źle – uważam, że znajomość zagadnień opisanych w ISTQB wciąż jest niezbędna, jednak nie traktowałbym już posiadania certyfikatu jak czegoś obowiązkowego i czegoś, co mocno wyróżni Cię na rynku pracy. Jeśli miałbyś wybór, czy zainwestować w ISTQB, czy np. w warsztaty z automatyzacji testów, wybierz to drugie.
Umiejętności techniczne kluczem do sukcesu
Testowanie oprogramowanie coraz rzadziej opiera się tylko na testowaniu manualnym. Coraz częściej testuje się nie tylko warstwę wizualną, ale też np. weryfikuje się API. Aplikacje są coraz częściej testowane automatycznie, do tego czasem dochodzą testy wydajnościowe, testy bezpieczeństwa, testy mobilne itd. Zawód testera oprogramowania staje się coraz bardziej techniczny i wymaga coraz szerszego zakresu umiejętności. Pytanie brzmi – czego powinni uczyć się specjaliści, którzy chcą wyróżnić się na rynku pracy?
REST API
Jeśli szukasz sposobu na zwiększenie swojej wartości jako specjalisty QA, możesz zacząć od nauki testów API. Powinieneś nauczyć się podstaw komunikacji HTTP, teorii REST API i tego, jak testować je np. z pomocą narzędzia Postman. Ta umiejętność jest poszukiwana i ceniona na rynku pracy. Nie trzeba dużo nakładu czasowego, by „złapać” jej podstawy.
Programowanie
Naucz się podstaw jednego z języków programowania najczęściej wykorzystywanych w automatyzacji testów, czyli Javy / JavaScript / Python. Ta umiejętność da Ci solidny fundament pod naukę automatyzacji testów i poprawi Twoje analityczne myślenie. Lepiej zrozumiesz specyfikę tworzenia oprogramowania i będziesz w stanie lepiej identyfikować błędy. Jest to umiejętność, która wymiernie wyróżni Cię w oczach osoby prowadzącej daną rekrutację. W mojej opinii osoba potrafiąca programować z reguły myśli w sposób logiczny i jeśli będzie to od niej wymagane, często po prostu szybciej nauczy się nowej technologii. Coraz częściej jest to umiejętność wymagana od specjalisty QA.
Automatyzacja testów
Kiedy spytasz się jakiegokolwiek testera oprogramowania, o to, w jakim obszarze chciałby się rozwijać, w 90% usłyszysz odpowiedź „w testach automatycznych”. Nie jest tajemnicą, że każdy z umiejętnościami automatyzacji testów to tzw. tester na sterydach i to ta specjalizacja daje duże pole do rozwoju i większe widełki płacowe.
Jest to także studnia bez dna jeśli chodzi o potrzebę ciągłego uczenia się, poznawania nowych technologii i utrwalania dobrych praktyk. Potrzeba co najmniej kilku lat praktyki, by dojść do zadowalającego poziomu. Zdaję sobie sprawę, że ten poradnik pisany jest w kierunku osób początkujących, które dopiero zaczynają swoją przygodę z testowaniem, lecz zachęcam – naucz się podstaw automatyzacji testów. To będzie świetnie wyglądać w CV, a Ciebie będzie to pozycjonować na innej półce niż specjalistów bez tej umiejętności.
No dobrze, ale co dokładnie radzę Ci zrobić? Po pierwsze, weź na warsztat jeden z popularnych frameworków do automatyzacji – niech to będzie Selenium, Cypress lub Playwright. Polecam Ci samodzielnie postawić sobie projekt od zera, korzystając z tutoriali na YouTubie i dokumentacji, napisać pierwszy, najprostszy scenariusz testowy (np logowanie do aplikacji), a następnie pisać coraz bardziej rozbudowane testy. W międzyczasie natrafisz na problemy, które będziesz musiał rozwiązać, ale jest to najbardziej efektywny sposób nauki.
Pokaż, jak pracujesz
W społeczności programistów czymś powszechnym jest posiadanie własnego konta np. na GitHub, gdzie przechowywane kody źródłowe projektów. Z reguły projekty te są publiczne, i inni deweloperzy mogą je swobodnie przeglądać. Wśród testerów oprogramowania często spotyka się również publikowanie swoich projektów testów automatycznych, jednak widziałem także konta na GitHub, na których publikowano własne scenariusze testowe i przykładowe zgłoszenia błędów. Według mnie, jest to rewelacyjny sposób na wyróżnienie się podczas jakiejkolwiek rekrutacji.
Doświadczenie niekomercyjne
Jeśli masz możliwość zaangażowania się w testy na zasadzie stażu, praktyk, uczestniczenia w projekcie open source, w projekcie studenckim itp. – zrób to. To będzie rzecz, którą możesz wskazać w CV, opowiedzieć o niej na rozmowie rekrutacyjnej i co najważniejsze – złapać pierwsze doświadczenie jako tester oprogramowania.
Udział w rekrutacjach
Warto brać udział w spotkaniach rekrutacyjnych, ponieważ każda taka rozmowa przyniesie Ci konkretne korzyści. Po pierwsze, po każdej z takich rozmów dostaniesz ocenę swoich umiejętności. Będziesz wiedział, w jakich obszarach radzisz sobie lepiej, a w których powinieneś się podszkolić. Po drugie, złapiesz „lekkość” rozmowy, każda następna rozmowa nie będzie już tak stresująca jak te pierwsze. Po trzecie, najważniejsze – często zdarza się, że oferta rekrutacyjna nie do końca oddaje dokładne wymagania dotyczące poszukiwanego specjalisty, lub projekt do którego się trafi. Może zdarzyć się, że firma szuka osoby o profilu zbliżonym do Twojego, mimo że początkowo oferta wcale na to nie wskazywała. Istnieje także możliwość, że w innym miejscu w tej firmie, jest otwarta rekrutacja na podobne stanowisko i tam Twoja kandydatura może się nieźle wpasować.
Niby oczywiste? Piszę to ponieważ osoby początkujące często (według mnie błędnie) wysyłają swoje CV jedynie w przypadku, gdzie w 100% spełniają wymagania wskazane w ogłoszeniu rekrutacyjnym. Zachęcam do próbowania także w miejscach, gdzie Twoje kompetencje są zbliżone do wymagań stawianych przez potencjalnego pracodawcę.
Pewne rzeczy nie działają
Ostatnio usłyszałem, że aby zostać zauważonym przez zespoły rekrutacyjne, tester oprogramowania może do CV dorzucać np. list motywacyjny. Napiszę wprost – według mnie takie rzeczy już nie działają. Twoim celem jest pokazać Twoje umiejętności w zakresie QA, a nie to, że potrafisz napisać dokument opisujący Twoją motywację do zdobycia pracy w danej firmie. Skup się na zdobyciu i podkreśleniu kompetencji testerskich, ponieważ to przyniesie Ci wymierną korzyść i wyróżni Cię na rynku „juniorów”.