Wywiad z inżynierami jakości oprogramowania na temat nowych specjalizacji

Poniżej prezentujemy wywiad dotyczący nowej specjalizacji prowadzonej przez ZAiIO w ramach studiów II stopnia (po inżynierskich) uruchomionych od tego roku w Uniwersytecie Śląskim.

Daniel Dec
Head of Quality Assurance
W Future Processing pracuje od ponad 5 lat. Pracował jako QA, Lead QA oraz Project Manager. Od 2 lat Head of Quality Assurance. Obecnie wspiera projekty poprzez konsultacje techniczne, przeprowadza szkolenia dla testerów, wspiera i organizuje inicjatywy rozwojowe, nabywając wiedzę na styku testowania, programowania i metodyk projektowych. Przewodzi wewnętrznej komórce specjalizującej się w wydajności.

Łukasz Kempny
Project Leader & Software Quality Assurance Engineer
Na co dzień pracuje jako lider kilkunastoosobowego zespołu, który wytwarza oprogramowanie dla klienta w Wielkiej Brytanii oraz USA. Stara się wdrażać metodyki Agile w projektach, którymi kieruje. Pracę w IT zaczynał jako inżynier jakości w Future Processing. Bliskie mu są obszary QA i Software Testing. Jest jednym z pomysłodawców i organizatorów ogólnopolskiej konferencji dotyczącej jakości tworzonego oprogramowania – Quality Excites. Jakość ekscytuje – to dla niego oczywiste!

Uniwersytet Śląski po raz pierwszy proponuje studentom studiowanie na specjalizacji ”Inżynieria jakości oprogramowania”. Kim jest inżynier QA i jaka jest jego rola w projekcie informatycznym?

D.D.:

Myślę o osobie inżyniera jakości, jako o specjaliście zorientowanym na metody testowania i proces wytwarzania oprogramowania. W dzisiejszych projektach tak naprawdę testować powinien cały zespół – zarówno testerzy, jak i programiści. Mimo tego, to właśnie inżynier jakości powinien być zdeterminowanym, aby spojrzeć na powstający produkt z szerszej perspektywy. Jego praca polega nie tylko na testowaniu, ale także na poprawianiu całego procesu wytwarzania oprogramowania i zwiększaniu jego efektywności. QA jest także tą osobą, która znajduje błędy i określa warunki ich wystąpienia – są one skomplikowane do tego stopnia, że nikt inny nie będzie w stanie ich znaleźć. Najważniejsze natomiast jest to, że zadaje on pytania, które dotąd nie zostały zadane, co pozwala na odkrywanie wielu istotnych problemów.

Ł.K.:

Większość współczesnych projektów informatycznych składa się z programistów oraz inżynierów jakości oprogramowania. Od jakiegoś czasu rola inżyniera QA nabiera znaczenia, ponieważ firmy przywiązują coraz większą wagę do jakości dostarczanych rozwiązań. Kiedyś liczył się tylko programista i nikt nie zaprzątał sobie głowy testowaniem. Na szczęście obecny trend zwiększonej świadomości w dziedzinie zapewniania jakości prowadzi do tego, iż wymagania stawiane inżynierom QA są coraz wyższe. Tester, jak potocznie określany jest inżynier QA, powinien posiadać umiejętność przeprowadzania testów manualnych, regresyjnych, akceptacyjnych, a także pisania scenariuszy testowych wraz z szczegółowymi przypadkami użycia. Co więcej, często w projektach wymagana jest umiejętność pisania testów automatycznych w różnych językach programowania, co przybliża inżyniera QA do roli DEV.

Dlaczego poleciłbyś studentom wybór właśnie tej specjalizacji? Jakie perspektywy ma przed sobą inżynier QA?
D.D.:

Jak pokazuje badanie przeprowadzone w USA w 2012 roku, zawód inżyniera jakości zajął pierwsze miejsce wśród zawodów sprawiających wykonującym im osobom największą radość. Dobrych testerów jest wciąż za mało i co warto dodać, większość uczelni informatycznych nastawia się głównie na kształcenie programistów. Wystarczy natomiast poszukać ogłoszeń na popularnych portalach w Polsce i zagranicą, aby dostrzec, jak duży jest rynek pracy dla inżyniera jakości. Po dobrych specjalistów firmy zgłaszają się same.

Ł.K.:

Rola QA nie ogranicza się tylko do testów manualnych i eksploracyjnych. Będąc inżynierem jakości możemy pogłębiać wiedzę w bardzo rozległych obszarach IT. Przykładem mogą być testy bezpieczeństwa, wydajności i użyteczności, a także automatyzacja testów. Możliwych ścieżek kariery jest wiele. Każda z nich jest inna i daje wiele satysfakcji. Co więcej, na rynku IT aż roi się od specjalistycznych wydarzeń poświęconych zagadnieniom QA. Pierwszą na Śląsku konferencją dotyczącą jakości tworzonego oprogramowania jest Quality Excites (www.qualityexcites.pl).

Na co kładłeś największy nacisk podczas tworzenia ramowego programu specjalizacji? Jakie kompetencje zdobędą absolwenci tej specjalizacji?
D.D.: Bazując na doświadczeń moich i kolegów, staraliśmy się stworzyć program możliwie jak najbardziej przekrojowy, aby dzięki temu umożliwić poznanie zagadnień istotnych z naszego punktu widzenia. Zakres wiedzy teoretycznej, jaka będzie przekazywana studentom, wzorowany jest na światowych standardach. Natomiast to, co od strony praktycznej jest potrzebne osobom dopiero rozpoczynającym przygodę z testowaniem, znamy doskonale, gdyż sami też kiedyś przechodziliśmy tę drogę. Tworząc ramy programowe, staraliśmy się zatem aby zawierały one wiele elementów praktycznych podpartych solidną podstawą teoretyczną. Jako firma jesteśmy na bieżąco z najnowszymi trendami zapewniania jakości w wytwarzaniu oprogramowania, dlatego w momencie tworzenia programu specjalizacji wybraliśmy te zagadnienia, które według nas są najistotniejsze. Jestem przekonany, że po dobrym przepracowaniu i przeprowadzeniu programu specjalizacji, osoba będzie mogła śmiało starać się o rolę QA inżyniera w firmie informatycznej.

Dlaczego wybrałeś drogę inżyniera jakości oprogramowania w FP?
Ł.K.:

Będąc na czwartym roku studiów Informatyki zastanawiałem się nad możliwością podjęcia pracy. Rola inżyniera jakości jawiła mi się jako bardzo ciekawe wyzwanie. Na początku mojej przygody z FP zajmowałem się pisaniem testów automatycznych w języku C# oraz wykonywaniem scenariuszów testowych. Poznawanie nowych obszarów i zagadnień z dziedziny QA dawało mi wielką satysfakcję. Przykładem może być wykorzystanie wiedzy o testach użyteczności do wzbogacenia wartości merytorycznej pracy dyplomowej. Obecnie, po ponad 4 latach pracy, jestem kierownikiem projektu, pełniąc rolę Scrum Mastera. Solidne podstawy z inżynierii jakości oprogramowania są nieocenioną wartością dodaną w prowadzeniu projektów w zwinnych metodykach Agile.

D.D.:

W każdym projekcie, w którym byłem, czułem, że jestem osobą, która ma bardzo duży wpływ na sukces projektu. Wiedziałem, że przy obieraniu kierunku działań, moje zdanie może mieć kluczowe znaczenie. Muszę przyznać, że to praca, w której nigdy się nie nudziłem. Pierwszy etap pracy to zawsze fascynacja znajdowaniem błędów – nawet w najlepszym systemie znalezienie jakiegoś błędu jest tylko kwestią czasu. Zdziwiony programista to zawsze widok bezcenny. Kolejny stopień wtajemniczenia to robienie wszystkiego, aby zapobiegać pojawianiu się błędów – usprawnienia procesu, techniki testowania na różnych poziomach, efektywna automatyzacja i ciągłe dostarczanie. Jeżeli doda się do tego niemałą skalę przedsięwzięcia – projekty o dużym stopniu rozproszenia i rozbudowanej architekturze – robi się jeszcze ciekawiej. Jedną z możliwości rozwoju pracy QA, są wyzwania związane z pełnieniem funkcji lidera projektu i komunikacją z klientami. Innym przykładem ścieżki rozwoju dla osób doświadczonych, może być praca konsultanta. Zdarza się również, że część QA ostatecznie wybiera jednak programowanie, którego również w pracy inżyniera jakości nigdy nie zabraknie. Można także wybrać ścieżki związane z projektowaniem – UX, lub zostać specjalistą od wydajności czy bezpieczeństwa. Dróg jest wiele, a po ukończeniu tej specjalizacji wszystkie są na wyciągniecie ręki. Obecnie pełnię rolę technicznego lidera w jednym z największych naszych projektów oraz wewnętrznego konsultanta w wielu innych projektach.

Data dodania: 17-02-2014
Autor: a.nowakowski

Kontakt

mgr Halina Przybysz
Pokój: 107
Telefon: 32 36 89 860
wewnętrzny 715
Adres email: halina.przybysz@us.edu.pl