Kariera testerska a Stack Overflow

Jak pokierować swoją karierą i rozwojem w testowaniu, bazując na wynikach ankiety Stack Overflow Developer Survey 2017?

 

Jeżeli do tej pory nie poznałeś(-łaś) Stack Overflow, to czas nadrobić zaległości. Jest to największa społeczność programistów i najbardziej wartościowe forum wymiany wiedzy o kodowaniu. Skoro dotyczy kodowania, czy może być wartościowe dla testera? Absolutnie tak i to w wielu wymiarach.

  • Obserwując trendy i tematy omawiane na Stack Overflow będziesz miał(a) olbrzymią wiedzę o kierunku rozwoju oprogramowania.
  • Jeżeli szukasz zagadnień związanych z kodowaniem, to właśnie Stack Overflow najczęściej pojawia się najwyżej w wynikach wyszukiwania. Tak znalezione linki rozwiążą Twój problem.
  • Jeśli oprócz testowania manualnego interesujesz się również programowaniem narzędzi testerskich czy automatyzacją, znajdziesz tam ciekawe wyniki dla siebie.
  • Gdy masz kłopot z czymś pokrewnym z kodowaniem, warto przeszukać tematy poruszane na forum, a gdy nie znajdziesz odpowiedzi, warto zadać pytanie - często dostaniesz wartościową odpowiedź.

 

Stack Overflow przeprowadza również swoją ankietę, a jej lektura może być źródłem wiedzy i podstawą przygotowania swojego dalszego rozwoju, również w zawodzie testera. Poniżej prezentujemy kilka danych z ankiety i naszą interpretację pod kątem środowiska testerskiego. W tym wypadku traktujemy Stack Overflow jako zwierciadło całej społeczności programistów na świecie, przyjmując, że 64000 udzielonych przez profesjonalistów odpowiedzi to bardzo wartościowa podstawa do dalszych analiz.

  1. Rozwijaj swoje umiejętności miękkie, szczególnie te w zakresie komunikacji.
    Czy wiesz, że programiści preferują pracę zdalną? Lepiej więc pracuje im się w domu niż w biurach. Umiejętność komunikowania się czy to przez e-mail, czy przez narzędzie raportowania defektów, czy w końcu przez telefon jest uboższe niż konwersacja twarzą w twarz. Aby być dobrze zrozumianym, musisz być wyraźny w swojej komunikacji.
  2. Ucz się testować rozwiązania internetowe.
    Ponad 70% programistów pracuje przy tworzeniu stron i aplikacji WWW, a niecałe 30% w desktopach. Na trzecim miejscu (23%) są rozwiązania mobilne [brak sumowania się do 100% wynika z możliwości wyboru więcej niż jednej opcji].
  3. Ucz się testować aplikacje mobilne dla Androida i dla iOS-a.
    Oczywiście nie jest to zaskoczenie, ale to właśnie te dwie platformy są najbardziej popularne wśród programistów.
  4. Spodziewaj się dużej liczby defektów w swoich projektach.
    Niedoświadczonych programistów jest najwięcej. Programowanie przeżywa renesans, a do zawodu ciągną tłumy. Pisząc niedoświadczeni mamy na myśli tych z doświadczeniem do 2-óch lat (jest ich ponad 20%). Wiadomo, że mniej doświadczeni popełniają więcej błędów, zaciągają większy dług technologiczny i ogólnie tworzą gorszej jakości kod. Musisz być przygotowany na dużą liczbę defektów i kompletny brak zaufania dla pracy programistycznej.
  5. Wiedz, z kim pracujesz.
    Przeciętny programista to biały (i/lub europejski) mężczyzna, zdrowy na ciele i umyśle, wychowany przez rodziców z wyższym wykształceniem, który sam osiągnął takie wykształcenie w inżynierii oprogramowania. Do czego przyda Ci się ta wiadomość? Każdy z nas jest inny, ale każdy z nas ma w sobie pewne kulturowe piętno, którego poznanie znacząco ułatwi Ci pracę z programistami. Dobra współpraca z koderami to z kolei +10 punktów do powodzenia projektu, w jakim pracujesz.
  6. Samoedukacja to podstawa rozwoju.
    Skoro 90% programistów deklaruje, że nauczyło się wszystkiego samodzielnie, to czy Ty potrzebujesz studiów, aby zostać testerem? Ulubione metody uczenia się (w kolejności od najczęstszej): samodzielna nauka, kursy online, nauka przez pracę, udział w projektach open-source, hackathony i zawody w kodowaniu, kursy i certyfikacja. Podobne możliwości ma każdy tester.
  7. Testowanie powinno być Twoim hobby.
    Czy wiesz, że dla 75% programistów praca to hobby i ponad 30% z nich pracuje w otwartych projektach? O ile łatwiej wstaje się rano jeśli praca sprawia Ci przyjemność. Aby to jednak osiągnąć potrzebne są nie tylko chęci, ale również wartościowe i ciekawe projekty oraz dobra atmosfera w pracy.
  8. Weź pod uwagę popularność języka, w jakim będziesz kodował.
    Popularne języki to również większe wsparcie społeczności, lepsza dokumentacja, ciekawsze biblioteki i wiele, wiele więcej. Warto więc inwestować w te, które cieszą się największą popularnością wśród programistów i są to: JavaScript (62,5%), SQL (51,2%), Java (39,7%), C# (34,1%) i Python (32%). Wśród technologii rządzi JS wraz ze środowiskiem node.js i frameworkiem AngularJS, więc jeśli chcesz się rozwijać jako tester webowy, ucz się właśnie nich.
    Warto podkreślić, że w tym towarzystwie znajdują się dwa języki bardzo popularne wśród automatyków testów - kompilowalna Java i skryptowy Python. Jest to czytelne wskazanie technologii rekomendowanych dla testerów.
    Czy wiesz, że w ostatnich latach rośnie popularność tylko Pythona i JS-a i to właśnie one są na liście najbardziej pożądanych języków do nauki?
  9. MySQL jest dla Ciebie najważniejszą technologią bazodanową.
    Jest technologią preferowaną przez deweloperów, więc również Ty musisz ją znać. Zarówno projektowanie baz danych, jak i tworzenie zapytań będzie znaczącą umiejętnością każdego testera.
  10. Poznaj Visual Studio i Notepad++.
    Są to dwa najpopularniejsze środowiska pracy programistów i znając je będziesz miał większe szanse synergii z nimi. 
  11. Poznaj Gita...
    ...bo blisko 70% programistów go używa.
  12. Poznaj relacje między językami, środowiskami i technologiami.
    Znajomość środowiska pomaga Ci lepiej zrozumieć architekturę rozwiązania, czy źródła błędów.
  13. Pomyśl o bardziej niszowych rozwiązaniach jeśli chcesz zarabiać więcej.
    Rzadziej stosowane rozwiązania dają Ci szansę na lepsze zarobki. Programiści najlepiej zarabiają jeśli pracują w DevOpsie, uczeniu maszynowym i statystyce. Może warto rozejrzeć się za pracą w tych obszarach? Co ciekawe w rankingu zarobków bardzo wysoko znajduje się inżynier QA.
  14. Przeprowadź się do Stanów Zjednoczonych.
    Pensje tam są ciągle najwyższe i przekraczają zarobki we wszystkich innych krajach. Inżynier jakości może zarobić nawet 85k$.
  15. Mierz efektywność swojej pracy.
    Programiści mają swoje preferencje odnośnie określenia efektywności ich pracy. Większość z nich może odnosić się również do efektywności pracy testerów. Są to: zadowolenie klienta, zmieszczenie się w czasie i budżecie, ocena kolegów, odniesienie do benchmarków i ocena kierownika. Ciekawe jest to, że oceną pracy, zdaniem programistów, powinna być również liczba... znalezionych bugów.
  16. Poznaj Agile i praktykuj Scruma.
    W tych metodykach pracuje najwięcej programistów. Jest oczywiste, że również tester musi je poznać. Dane dla Agile'a (76,9%) i Scruma (65,2%), jak i innych metod zwinnych - Pair (42,8%), Kanban (34,8%), Extreme (19,5%) i Lean (15,1%) - są zdecydowanie dominują nad Waterfallem (26,9%).
  17. Przygotuj się na częste dostawy nowych wersji.
    Większość programistów dostarcza kod kilka razy dziennie i chce częstych dostaw na produkcję.
     

Chcesz wiedzieć wszystko? Zapoznaj się z całą ankietą >>


Ciekawostka

Każda strona internetowa jaką przeglądasz gromadzi dane na temat Twojej aktywności. Stack Overflow zbiera te dane, aby dostosować treść serwisu do Ciebie. Chcesz wiedzieć co SO wie o Tobie? Wejdź na stronę Personalized Prediction Data i pobierz swoje dane. Dane przetwarzane są w algorytmach uczących maszyn.

 

 

 

Najbliższe terminy szkoleń

 

4-5.09.17 - Kraków

Automatyzacja testowania


6-8.09.17 - Wrocław

ISTQB Poziom Podstawowy (Foundation Level)


11-12.09.17 - Warszawa

ISTQB Tester Zwinny (Agile Tester)

 

Partnerzy

Narzędzia testerskie