Kariera w IT?
Kariera w IT? – Postaram się odpowiedzieć na to pytanie.
Ostatnio w grupie „Testowanie Oprogramowania” oraz na innych grupach związanych w większy lub mniejszy sposób z branżą IT widzę sporo pytań typu: “Jak rozpocząć pracę w IT?”/ “Jak zostać testerem?”. Także niektórzy znajomi pytają się, co mógłbym im poradzić, aby mogli rozpocząć pracę we wszelako pojętej branży IT.
Wiele ludzi dzieliło się już swoimi przemyśleniami. Dziś ja chcę przedstawić wam swój punkt widzenia na ten temat. Dzisiejszym tekstem chcę pokazać, jakie są możliwości pokierowania swoją karierą w branży IT. Będzie to moje subiektywne zdanie wynikające bezpośrednio z moich doświadczeń. Mnie osobiście te działania, które będę opisywał, bardzo pomogły. Model ten był/jest powtarzany w podobny sposób przez wielu znajomych z pozytywnym skutkiem.
Czego dowiesz się z tekstu?
- Jak rozwijać się mając 16,18,20,…,50 lat?
- Co ze studiami?
- Kariera w IT? Z czym to się je?
Dla 16-50 latków
Swoją przygodę z branżą IT rozpocząłem w wieku 16 lat.
W rozpoczynaniu kariery kluczową sprawą jest świadomość tego, co się lubi, co sprawia nam przyjemność, w czym bez trudu możemy się rozwijać.
Oczywiście rzadko jest tak, że świadomość przychodzi sama. Ja mając 16 lat, nie wiedziałem, że testowanie oprogramowania będzie moją drogą zawodową, bo w tym czasie interesowałem się inną częścią IT. Było to głównie programowanie i technologie Microsoftu’u. Nie miałem pojęcia o aktualnych metodykach pracy oraz miałem niewielką wiedzę o procesie wytwarzania oprogramowania. Wiedziałem, że jest ktoś taki jak tester, ale nie wiedziałem, że testowanie oprogramowania to tak rozległa i ciekawa dziedzina. W szkole średniej nauczyłem się podstaw programowania. Szukałem w internecie różnych informacji, w jaki sposób można się dalej rozwijać w tej dziedzinie. Przez znajomego trafiłem na informacje o grupie .NET. Zachęcił mnie, abym przyszedł na spotkanie studenckie i dalej zaczął w nich regularnie uczestniczyć. Mimo tego, że wówczas byłem w drugiej klasie technikum, poszedłem na pierwsze spotkanie, nie wiedząc, czego mam się spodziewać. Okazało się, że uczestnicy to bardzo otwarte i pełne pasji osoby.
Ciekawą sprawą jest to, że wiele osób działających w grupach .NET stworzyło swoje firmy, pracują w Microsoft lub są świetnymi programistami w wielu firmach. Czyli jak widać, rozwijają się.
Przygoda z grupami .NET
W spotkaniach uczestniczyłem cały rok. Żadnego z nich nie opuściłem. Uczyłem się tam wraz z innymi podstaw programowania na platformie Windows phone, C#, Windows 8. Każde ze spotkań to była dawka pozytywnej energii, wiedzy oraz satysfakcja z uczestnictwa w studenckich spotkaniach mimo młodego wieku. Następnie dostałem propozycję prowadzenia własnej grupy “junior .NET Twarde Pierniki”. Przez rok uczyłem się jak zachęcać ludzi do przychodzenia na moje prelekcje, jak pozyskiwać wsparcie od firm w branży oraz jak prezentować treści. Równolegle chodziłem na spotkania grupy zawodowej TGD.NET. Po pewnym czasie zostałem jej jednym z wiceliderów.
Wspominam o tym, żeby zachęcić was do spróbowania z różnego rodzaju grupami/kołami, niezależnie od wieku. Jeżeli do tego IT mieści się w waszych zainteresowaniach, to tym bardziej myślę, że warto próbować. Umiejętności oraz znajomości, które możecie wynieść, są bardzo przydatne w dalszej karierze.
Oczywiście, jeżeli Wam nie po drodze z technologiami Microsoft’u i programowaniem, tylko już teraz wiecie, że wasza wymarzona grupa to np. grupa związana z testowaniem lub programowaniem, ale np.: w pythonie, to znajdziecie taką grupę/koło, która to właśnie wam będzie odpowiadać. Najlepiej szukać ich przez Meetup’a lub facebook’a. Na stronie meetup’a można znaleźć informacje o wielu grupach zrzeszających się w Polsce.
Dodatkowo od jakiegoś czasu Microsoft organizuje spotkania grup junior .NET. Odbywają się one w niektórych miastach w Polsce np. Poznań, Warszawa, Gdańsk polecam link (wszystkie grupy .NET) w Polsce, które kierowane są do młodszego odbiorcy w wieku licealnym, lub początkujących studentów.
Aktualnie jestem aktywnym uczestnikiem spotkań PTaQu oraz Girls Who Tests. PTaQu oferuje świetne wykłady na temat wszelako pojętego testowania (każdy, na którym byłem, był świetny), a spotkania Girls Who Tests mają świetną formę panelu dyskusyjnego, która według mnie jest bardzo ciekawa i rozwojowa. Pozwala ona zobaczyć jak w innych firmach, układane są procesy związane z testowaniem oraz w jaki sposób poszczególne osoby, podchodzą do testowania.
P.S
Wiek do 50 lat uwzględniłem dlatego, że znam kilka osób, które zbliżają się do niego, a kariera w IT może być dla nich dobrą zmianą. Pamiętajcie, że praca w IT to nie tylko programowanie i testowanie. Jest także wiele innych specjalizacji, w których każda zdeterminowana osoba powinna się odnaleźć. W tym wieku potrzeba prawdopodobnie większej siły samozaparcia, ale jeżeli komuś bardzo zależy? Warto spróbować.
Praktyki/Staże/Darmowe/Płatne…
Kolejnym dobrym pomysłem na rozpoczęcie kariery w branży IT jest pójście na praktyki. Wiem, że w Polsce darmowe praktyki są deprecjonowane. Osobiście dziwie się temu, bo uważam, że osoba po liceum/technikum, a nawet student, zazwyczaj nie ma jeszcze praktycznych umiejętności, których potrzebuje pracodawca. Dodatkowo trzeba pamiętać o tym, że nawet tzw. „darmowe praktyki” stanowią dla pracodawcy koszt (najczęściej).
Koszty pracodawcy to np.:
- Stanowisko pracy
- Licencja
- Koszt czasu pracownika, który będzie się opiekował tą osobą.
(Mam na myśli oczywiście praktyki merytoryczne. Słyszałem, że zdarzają się jakieś “parzenia kawy”, “drukowanie dokumentów”, ale osobiście nigdy nie spotkałem się z tego typu modelem praktyk).
Uważam, że dla osób, które nie mają doświadczenia praktyki to świetna sprawa. Samemu owszem można uczyć się programować, napisać coś ciekawego, jednak większości osób praktyki pokażą jak fajna, może być praca w zespole, nauka technologii wykorzystywanych komercyjnie, dobrych praktyk i wzorców projektowych. Sam zrobiłem wiele tego typu praktyk. Bardzo się z tego cieszę, mimo że były one często bezpłatne. Pozwoliło mi to nabrać pierwszych szlifów, wyróżnić moje CV oraz nauczyć się wielu przydatnych rzeczy.
Praktyk najlepiej szukać poprzez sprawdzenie firm związanych z IT w naszej okolicy oraz w internecie (np. w grupach “Testowanie Oprogramowania” pojawią się czasami informacje o tym, gdzie bez doświadczenia można pójść na praktyki). Dobrym pomysłem jest też pytanie się osób poznanych na wyżej wspomnianych grupach. Często ktoś może nas polecić. Są też firmy, które bez problemu zgodzą się na praktyki zdalne, wtedy możemy pracować z domu.
Uważam, że możliwości jest wiele. Czasem potrzeba być po prostu bardziej zdeterminowanym i pokazać, że zależy nam na rozwoju. Pamiętajcie, że umieszczenie w CV swojego uczestnictwa w jakiejś grupie, może was wyróżnić od np. innych studentów, którzy są na tym samym roku, co wy.
Inne pomysły?
W tym punkcie chce przedstawić moje pomysły, jeżeli ktoś zastanawia się nad drogą programisty czy testera.
Posiadanie swojego portfolio jako programista.
Oto kilka pomysłów jak można zacząć je budować:
- Jeżeli myślicie o karierze programisty, to polecam zacząć od prostych do bardziej zaawansowanych aplikacji, którymi będziecie mogli pochwalić się w CV, umieszczonych np. na GitHubie. (Jeden z kolegów nie miał wcześniej doświadczenia komercyjnego, ale zrobił kilka fajnych i ciekawych aplikacji w domowym zaciszu. To spowodowało, że dostał pracę w dużej korporacji. Studia rozpoczął dopiero po rozpoczęciu pracy w tej firmie).
- Uczestnictwo w projektach opensource również jest możliwością rozwinięcia się oraz posiadania ciekawego doświadczenia do CV.
- Stworzenie ze znajomymi jakiejś aplikacji pozwala nauczyć się współpracy, a jeżeli aplikacja będzie ciekawa to również może dać nam rozpoznawalność i cenne doświadczenie (również czasem i zarobek).
Jak zacząć być testerem?
- Polecam rozpocząć od zaopatrzenia się w książkę Radosława Smilgina pt. „Zawód Tester”. W bardzo przystępny sposób pokazuje i wyjaśnia podstawowe pojęcia i zadania testera. Uważam, że rozpoczęcie od tej lektury jest najsensowniejszym pomysłem. Polecam ją jako ‘must-have’ na początek.
- Jak wcześniej wspominałem, jestem aktywnym uczestnikiem spotkań dwóch poznańskich grup testerskich. Sam zachęcam do uczestnictwa w nich. Niesie to ze sobą szansę dowiedzenia się czegoś ciekawego oraz zakolegowania się z bardziej doświadczonym osobami co daje nam możliwość zapytania ich o rady.
- Bardzo dobrym pomysłem jest popatrzenie krytycznym okiem na aplikacje, których używamy na co dzień. Wzięcie kilku różnych aplikacji i na własną rękę spróbowanie znaleźć jakiegokolwiek defektu. Pozwala to potraktować testowanie jako swego rodzaju zagadkę, a znalezienie błędu jako nagrodę.
- Kolejnym dobry sposobem na rozwijanie się w testerskim rzemiośle jest Mr.Buggy. Są to aplikacje (wraz ze specyfikacją) ze specjalnie wprowadzonymi defektami po to, by rozwijać się jako tester i mieć na czym ćwiczyć. (napisane na potrzeby Ogólnopolskich Mistrzostw W Testowaniu Oprogramowania).
Cytując ze strony
“Wszystkie wersje Mr Buggy były testowane przez ponad 500 testerów. Są to jedne z najlepiej przetestowanych dokumentów i aplikacji na świecie.” – mrbuggy.pl
Jest to świetny sposób, aby nauczyć się znajdywania defektów. Aplikacja posiada kilka wersji, razem wszystkie dają kilkadziesiąt zdań testerskich.
Tester automatyczny
Moim zdaniem tester automatyczny powinien umieć również testować manualnie i rozwijać także ten obszar swoich umiejętności. Pozwala to w lepszy sposób dobierać przypadki testowe, a funkcjonalności, które muszą być przetestowane manualnie, można przetestować w sprawniejszy sposób.
Jeżeli chcesz iść drogą testera automatycznego, to zdecydowanie należy nauczyć się podstaw języku programowania (z doświadczeniem nabywać coraz to większych umiejętności). Języki, które polecam na początek:
C# – ten, którego używam najczęściej w pracy. Bardzo przyjazna składnia, garbage collector, wyrażenia lambda i dobry support Microsoft’u. Polecam spróbować, jest naprawdę przyjaznym językiem. Oczywiście przez powiązania z Microsoftem mogą wam się pojawić w głowie jakieś negatywne skojarzenia, że jedna platforma etc… Od dłuższego czasu Microsoft silnie stawia na technologie open source i wspiera również rozwój Linuxa. Na potwierdzenie mojej tezy, polecam zapoznać się z tym artykułem http://thenextweb.com/microsoft/2016/09/15/in-your-face-google/ .
Jest wiele innych języków godnych uwagi: Java (dobre wsparcie community), Ruby (dobrze rozwijane frameworki np. capybara), czy python. Każdy z nich jest stosunkowo łatwy do nauczenia. Pamiętajcie o tym, że język programowania to narzędzie. Jeżeli nauczycie się jednego (“nauczyć” – chodzi mi również o sposób abstrakcyjnego myślenia, w sposób programistyczny), to przejście na inny język programowania to szybka sprawa (W zamyślę, chodzi mi o to, że gdy przechodzimy np. z C# -> Jave, lub Pythona -> Ruby, to sprawa jest relatywnie prosta, jeżeli przechodzimy z jakiegoś języka niższego poziomu np. C++ na C# to zmiany są większe, ale również zajmuję to dużej mniej czasu niż nauka pierwszego).
Co ze studiami w IT?
Bardzo ciekawy i merytoryczny post napisał na ten temat Gynvael Coldwind kilka lat temu (link).
Ja uważam podobnie.
Praca komercyjna oraz studia, które pomagają w rozwoju, uważam za bardzo dobry pomysł, jeżeli ma się już plan na siebie. Mnie ten model podoba się najbardziej. Oczywiście wyboru dokonujemy sami. Wielu znajomych studiujących na uczelniach dziennych poszło do pracy na trzecim czy czwartym roku studiów. Każdy z nich mówi, że szybciej zacząłby karierę w IT, jeżeli to teraz miałby dokonywać wyboru. O swój rozwój trzeba dbać samemu. Niektórym wydaje się, że szkoła, nauczyciele zadbają o nich. Niestety jest to złudne myślenie. Nawet najlepsi nauczyciele nie przejdą za nas drogi, którą trzeba podjąć samemu i przejść, aby nauczyć się danej tematyki. Różne są teorie ile godzin trzeba, poświęcić nad danymi zagadnieniami. Jednak na pewno są to tysiące godzin, aby osiągnąć poziom eksperta w swojej dziedzinie. Trzeba pamiętać, że studia są po to, by dany temat studiować, często tylko poznać podstawy danego zagadnienia, z którym więcej w życiu się nie spotka. Jednak pozwala to rozszerzyć swoje horyzonty myślowe i kreatywność.
Podsumowując
Jest wiele możliwości, aby rozpocząć przygodę w IT. Istnieje sporo grup pasjonatów, które pozwolą nam poczuć tę pozytywną energię do robienia rzeczy ciekawych i nadadzą chęci do znalezienia pracy, która pozwoli nam się spełniać i cieszyć z tego, co robimy.
Zachęcam Was do poznawania tego, co lubicie, a czego nie. To pozwala zobaczyć, gdzie jest nam dobrze. I rozwijać się w tym obszarze.