Kim jest humanista i dlaczego tak o sobie mówię?
W środowisku IT humanista może się kojarzyć zazwyczaj z sierotką Marysią (nomen omen), która liczyć potrafi co najwyżej na palcach, kodu nie tknie, a komputer zepsuje, zawiesi i nawet nie zresetuje.
Ale powiedzmy sobie szczerze, kto z nas nigdy nie zepsuł sprzętu, na którym pracował, albo chociaż grał? Nie trzeba być humanistą, żeby cokolwiek zepsuć.
Ale to fakt, humanista prawdopodobnie bardziej się wystraszy takiej katastrofy. Dawniej często spotykałam się z negatywnymi skojarzeniami z określeniem „humanista”. To było takie słowo-klucz: mówisz „humanista”, myślisz „nie radzi sobie z przedmiotami ścisłymi”, „nie nadaje się do pracy z komputerem”, „niedorajda życiowa i filozof, umrze z głodu”. Na początek zatem rozprawię się z tym krzywdzącym stereotypem.
Owszem, zdarza się, że humaniście nie po drodze z matmą i fizyką, ale na jego obronę można powiedzieć, że większość dzieci w ciągu pierwszych lat edukacji szkolnej jest skutecznie zniechęcana do przedmiotów ścisłych. Ale o tym innym razem.
Skupmy się na tym, co humanista może, co potrafi i w czym nie jest gorszy od tak zwanych “ścisłowców” czy też “technicznych”.
Humanista często potrafi patrzeć na problem holistycznie. Złośliwi powiedzą, że filozofuje, ale nawet w naukach ścisłych czy w technologii dostrzega się niebezpieczeństwo zbytniego skupienia na szczególe, czy też na danym wycinku pracy. Cenna jest zatem umiejętność ekstrapolacji, wyszukiwania analogii, tworzenia alternatywnych scenariuszy czy też przewidywania.
Jeśli ograniczymy się do stwierdzenia, że humanista nie umie liczyć, tracimy z oczu to, co miałby do zaoferowania.
Humanista sporo czyta, zatem istnieje prawdopodobieństwo, że dysponuje bogatym słownictwem i umiejętnością analizy słowa pisanego i mówionego. Umiejętność ta jest o tyle cenna, że sięga znacznie głębiej niż prosta analiza składniowa, którą mógłby równie dobrze przeprowadzić program napisany przez kogoś, kto humanistą nie jest.
Humanista często zna kilka języków, co pozwala przypuszczać, że nauczyłby się też języków programowania. W końcu skoro potrafi porozumieć się z ludźmi, dlaczego miałby nie umieć zrozumieć języka maszyn?
Nie zapędzajmy się jednak za daleko.
Tym razem nie będzie o kodowaniu i językach programowania. Czego humanista szuka w obszarze testowania?
Jak zainteresowałam się testowaniem i co miała z tym wspólnego Agatha Christie?
Jako rasowa humanistka pożeram książki. Sięgam po każdą literaturę z wyjątkiem romansów. Największą miłością darzę kryminały. Przeczytawszy wszystko, co wyszło spod pióra Agathy Christie czy Sir Arthura Conan Doyle’a, zajęłam się seriami autorstwa Camilli Lackberg, Katarzyny Puzyńskiej i kolejnych autorów powieści z zagadką w tle.
Pewnego razu pewien znajomy informatyk chciał przybliżyć mi nieco proces testowania oprogramowania i przyrównał go do pracy detektywa – grzebiesz, szukasz, przyglądasz się z każdej strony, aż wreszcie BACH!
Widzisz już, co nie pasuje. I dalej po nitce do kłębka dochodzisz do źródła problemu.
Nieco później dowiedziałam się, że tester-detektyw niekoniecznie musi sam dochodzić do źródła problemu, czyli do samego błędu. Wystarczy znaleźć defekt i zgłosić go komu trzeba. Ale oto testowanie nabrało dla mnie całkiem nowego znaczenia – można zabawić się w detektywa i niczym Herkules Poirot wyciągać na światło dzienne kolejne usterki, które do tej pory czaiły się dobrze ukryte przed ciekawskim okiem.
Wizja siebie jako tropiciela złośliwych bugów zaczęła mi się coraz bardziej podobać.
Co zrobiłam, żeby przekonać się, czy to moja bajka?
Na początek pewna pomocna dłoń podrzuciła mi garść linków do stron z samouczkami i filmami instruktażowymi. W ten sposób zapoznałam się z podstawami testowania, prostymi technikami, założeniami i terminologią. Najpierw w języku angielskim, bo takie materiały wydały mi się przystępnie opracowane.
Później przyszedł czas na usystematyzowanie wiedzy na szkoleniu przed egzaminem ISTQB. Tutaj trochę sprawdził się stereotyp – na kursie poza mną byli sami panowie i to tacy, którzy już pracują w zawodzie.
Ale skoro się powiedziało A, to nie po to, żeby czmychnąć z przerażeniem, zanim powie się ISTQB. Jako jedyna nie miałam doświadczenia w testowaniu i musiałam ze wstydem przyznać, że nie kumam algorytmiki. Na szczęście algorytmy okazały się jedynie narzędziem i jednym z etapów drogi do tytułu testera. Nie ma się czego bać, szczególnie jeśli lubicie puzzle i krzyżówki.
Obecni na kursie panowie zapewne w tej chwili westchnęli w duchu: „Humanistka”. Ale algorytmy udało się ogarnąć przy odrobinie dobrej woli. Już niedługo umawiałam się na egzamin. Zdałam z wysokim wynikiem, choć o mały włos bym się spóźniła. Po drodze udało mi się jednak znaleźć defekt w oprogramowaniu katowickich parkometrów.
Różnice w patrzeniu na testowanie – programiści/informatycy a humaniści. Na co patrzymy? Czego nam brak?
Nie twierdzę, że bez doświadczenia z dnia na dzień zostanę znakomitym testerem.
Jako humanistce brak mi z pewnością umiejętności programowania, ale po kilku miesiącach pracy w IT okazało się, że ścisłowcy z zespołu testerskiego też nie zawsze potrafią programować.
Nie każdy tester musi jednak umieć tworzyć skomplikowane kody. A te prostsze można z powodzeniem zrozumieć, podpierając się wiedzą zdobytą z tutoriali.
Dobry tester to przede wszystkim ktoś, kto cały czas się uczy i rozwija. Wiedzą o tym przede wszystkim praktycy – nie wystarczy nauczyć się Javy i Pythona.
Każde nowe miejsce pracy, każde zlecenie i każdy projekt to inne wyzwanie, w którym wykorzystujemy, i owszem, dotychczasowe doświadczenie, ale trzeba się też pilnować, żeby nie stracić tej ciekawości świeżaka, tej dociekliwości i umiejętności filozofowania, za którą humaniści często zbierają po łapkach.
Najgorszym wrogiem testera jest rutyna i niedocenianie przeciwnika, jakim jest czający się gdzieś w zakamarkach oprogramowania defekt. Jako humaniści patrzymy na projekty całościowo, proponujemy spojrzenie inne niż pozostali członkowie zespołu. Nie jesteśmy samowystarczalni ani nieomylni.
Ba, nie jesteśmy nawet szczególnie wyrywni, jeśli chodzi o majstrowanie przy kodzie. Ale wnosimy do zespołu inne podejście, nową perspektywę.
Co nam się podoba w testowaniu?
O tym było już przy Agacie Christie. Humanista lubi wyzwania, lubi szukać, szperać, porównywać, analizować i myśleć.
Jedni układają puzzle, drudzy testują.
Tak czy owak, liczy się skrupulatność, logika, dar do wyłapywania szczegółów, cierpliwość i chęć do nauki.
Testowanie wprowadza nas w świat niekończących się poszukiwań, w labirynt z niespodziankami. To jak otwieranie matrioszek, zastanawiając się, czy ta następna będzie już ostatnia. Albo jak budowanie domku z kart i zgadywanie, kiedy runie. W testowaniu pociąga nas nieprzewidywalność, ciekawość, niepewność i swego rodzaju nieskończoność.
Bo nie da się przetestować danego modułu tak, by z całą pewnością powiedzieć, że nie ma w nim już ani jednego defektu. Humanista dobrze wie, że z niepewnością da się żyć. A nawet trzeba.
Co może nas odstraszyć?
Tu będzie krótko – odstraszają wszelkiego rodzaju „niedasie”.
To coś, co widuje się nie tylko wśród informatyków. Byłabym niesprawiedliwa. O nie, to cecha widoczna u przedstawicieli zawodów regulowanych albo u takich, które wymagają długiej ścieżki „terminowania”.
W sumie trudno się dziwić – jeśli ktoś musiał zainwestować sporo czasu i środków we własny rozwój, w zdobycie umiejętności i certyfikatów, to na pewno nie powie świeżakowi: „spoko, misiu, nauczysz się tego sam, raz-dwa. Nic trudnego. Zlecenia już czekają”.
O ile uświadomienie adeptowi, że przed nim długa droga i sporo nauki wydaje się uczciwe, to zniechęcanie i sprowadzanie do parteru jest po prostu nieprofesjonalne. Poza tym po co? Żeby dla pozostałych został większy kawałek tortu? Dla fachowców z wieloletnim doświadczeniem i tak zostanie. I oni o tym wiedzą – nie muszą rzucać nowicjuszom kłód pod nogi, bo zdają sobie sprawę, że świeżak im nie zagrozi. A jeśli zagrozi, no, to widocznie znak, że zaniedbało się własny rozwój. Nauka nigdy się nie kończy.
Dlaczego możemy się sprawdzić jako testerzy?
Humanista w zespole testerskim wniesie nową perspektywę, inne spojrzenie na problem – pomoże szukać tam, gdzie nikt jeszcze nie zaglądał. Poza tym wyniki testów zwykle trzeba jakoś opracować, przekazać, sporządzić raport z testów.
Dlaczego by przy okazji nie zadbać o formę przekazu? Tam, gdzie inżynierowie skupiają się na esencji, na tym, co niezbędne, humanista będzie w stanie dodać przysłowiową wisienkę na torcie, dorzucić wartość dodaną.
Skoro konkurencja na rynku jest spora, to wygrywa ten, kto do „pakietu standardowego” będzie mógł dorzucić ciekawą i potrzebną wartość dodaną. Innymi słowy, żeby być zauważonym wśród zespołów testerskich, trzeba stworzyć zespół, który ma wszystko co trzeba PLUS COŚ JESZCZE, coś fajnego. Albo kogoś.
Czego nam potrzeba na dzień dobry, żeby ruszyć z kopyta?
Mnie pomogło porównanie do Agathy Christie. Kogoś innego zmobilizuje postać Don Kichota walczącego z wiatrakami ukrytymi pod postacią usterek w kodzie.
Ważne, żeby pokazać drogę, podrzucić linka do publikacji, podać przykład kogoś, komu się udało.
Nie do przecenienia jest też instytucja mentora, który wesprze nowicjusza w pierwszych próbach pisania testów.
Wiadomo, same umiejętności musimy nabyć we własnym zakresie, ale w czeluściach internetu dostępnych jest tyle kursów, tutoriali i szkoleń, że każdy znajdzie coś dla siebie. Można też w ramach pomocy koleżeńskiej podrzucić przykładowy test albo wspólnie udać się na poszukiwanie bugów.
Z tego co widzę, defektów starczy dla wszystkich.