Kot Źródłowy

Jak zdobyć pierwszą pracę w IT

Jak zdobyć pierwszą pracę w IT

Cześć, dopiero marzec, a już moje postanowienia wzięły w łeb. Ale nie wszystkie! I chociaż fajnie byłoby pisać częściej, to i tak wiem, że mogę być z siebie dumna. Myślę, że dzisiejszy wpis nie przysporzy mi zbyt wielu fanów, ale czuję potrzebę napisania go, tak czy inaczej. Oczywiście zapraszam do merytorycznej dyskusji w różnych zakątkach Internetu. Tylko z kulturą i bez dogryzania, bo nie wytrzymam.

Jestem osobą, która wsiąknęła w społeczność programistów. Bacznie obserwuję również rynek pracy i lubię analizować zjawiska, które na nim zachodzą. Nie od dziś wiadomo, że dla wielu osób kariera w IT jawi się niczym ziemia obiecana, wygodne pudełko, ciepły kocyk, zapas tuńczyka i trzy ciepłe herbatki. A do tego jeszcze nic nie trzeba robić, bo cały dzień siedzimy przed komputerem. Media tylko podsycają tę cudowną bańkę oczekiwań, co jakiś czas zasypując ludzi informacjami, ile można zarobić w tej branży i ilu ludzi w niej brakuje. Rzeczywistość wygląda jednak nieco inaczej. Jak donosi raport No Fluff Jobs, na jedno stanowisko juniorskie aplikowały 22 osoby. To bardzo dużo i tak naprawdę znaczna część osób została bez pracy. Ja ci dzisiaj przekażę 3 proste triki, dzięki którym każda praca będzie twoja.

Żartuję! Takich trików nie ma i nie będzie, bo ile ludzi, tyle przypadków. Zacznijmy jednak od początku. Świat IT to nie tylko programiści. Mówię to z całą odpowiedzialnością za moje słowa. Wiem, że jak się myśli o technologiach, to koderzy grają pierwsze skrzypce. Niemniej jednak jest cała masa innych zawodów, bez których świat nie parłby do przodu. Testerzy, specjaliści UX, graficy, administratorzy sieciowi, inżynierowie devops, scrum masterzy, wsparcie techniczne, analitycy danych, architekci – chylę czoła przed nimi wszystkimi, bo nie mam nawet połowy ich umiejętności, które sprawiają, że będzie nam się żyło lepiej. Zastanów się najpierw dobrze, poczytaj o tych zawodach, bo może zainteresowałaby cię zupełnie inna ścieżka rozwoju. IT jest branżą tak dynamiczną, że szkoda w niej czasu na robienie czegoś na razie, na pół gwizdka czy z braku laku. Lepiej dwa razy zastanowić się, co nas interesuje i od razu iść w tym kierunku.

Jeśli o mnie chodzi, to obrałam od razu drogę samuraja programisty i tylko o niej mogę się wypowiadać. Wybacz, że nie przeprowadzę cię przez wszystkie ścieżki rozwoju, ale nie chcę ściemniać, że zjadłam wszystkie rozumy. Z własnego doświadczenia wiem, że autentycznością na blogu tylko zyskuję i zjednuję sobie ludzi. Pozwolisz więc, że zacznę od kilku cech tej pracy, które sprawiają, że nie jest ona dla każdego. Tak naprawdę nie ma takiego zawodu, który byłby dla każdego. Ja na przykład miałabym raczej marne szanse na zostanie baletnicą, ale to temat na zupełnie inną historię.

Czy programowanie jest na pewno dla mnie?

Jeśli chodzi o programowanie, pierwsza rzecz, jaką musisz wiedzieć, to fakt, że uczyć będziesz się musiał do końca życia. I to nie jest tak, że jak znasz jeden język programowania albo jeden framework, to każdy następny coraz łatwiej i koniec. Może inaczej, to prawda, że z każdym będzie łatwiej, ale to dopiero początek zabawy. Dochodzą zagadnienia związane z architekturą, organizacją, platformą, możesz rozwiązywać coraz trudniejsze problemy i nigdy nie będziesz mógł powiedzieć, że umiesz już wszystko. Tak że IT z pewnością nie jest dla osób, które nie lubią się uczyć. Problemy mogą też mieć ludzie, którzy zbyt mocno trzymają się swojego aktualnego stanu wiedzy. Nagle może się okazać, że wywracasz wszystko do góry nogami, bo ktoś wymyślił nowe koncepcje, które rzeczywiście stanowią przełom w tym, co robisz. Pamiętaj również, że rozwiązywanie problemów będzie twoim chlebem powszednim. Powolne dochodzenie do tego, dlaczego nie działa, później dlaczego działa lub jak zrobić, żeby działało, powinno budzić w tobie dreszcz ekscytacji zamiast podnosić poziomu zniechęcenia.

Co warto wiedzieć podczas nauki?

Jeśli już uzgodniliśmy, że programowanie jest dla ciebie, to musisz jakoś zacząć. Tu nie będę się zbyt długo rozwodzić, bo zarówno źródeł wiedzy, jak i sposobów nauki jest multum. Mam tylko jedną małą radę. Obojętnie, czy wybierzesz studia kierunkowe, bootcamp, płatne lub darmowe kursy, czy po prostu zakupisz kilka książek, musisz wiedzieć o kilku ważnych rzeczach.

  1. Wykształć w sobie nawyk samodzielnego zdobywania wiedzy. Wiem, że wiele kursów prowadzi za rączkę do celu, ukazując gotowe rozwiązania powszechnych problemów. Niemniej gdy czytasz jakiś branżowy artykuł i nie rozumiesz o czym mowa, warto, abyś chociaż oczytał sie z terminologią. Zawsze w głowie zaświta, gdy przyjdzie się z tym następny raz spotkać.

  2. Nie ma praktyki bez teorii. Zawsze warto, żebyś wiedział, dlaczego coś działa tak, a nie inaczej. I to “dlaczego” jest właśnie pożądaną dawką teorii, którą początkujący adept programowania powinien posiadać. Bez zrozumienia dlaczego coś działa, tak naprawdę jesteś w stanie tylko odtwarzać i powielać schematy.

  3. Ucz się nie tylko języka programowania. To tak naprawdę dopiero początek twojej drogi jako programisty. Przed tobą cała masa narzędzi, metodyk, dobrych praktyk i tricków w tworzeniu oprogramowania do poznania. Nie powinieneś się ich bać lub zniechęcać, kiedy coś ci nie wychodzi. Nie od razu Rzym zbudowano i żadna łódź podwodna też nie powstała w mgnieniu oka. Musisz o tym pamiętać i wykazać się odrobiną cierpliwości.

Wiem, że dotychczas pewnie nie powiedziałam nic, czego byś już nie wiedział. Może nawet oczekiwałeś jakiejś solidnej wiedzy, jak ładnie napisać CV, jaki wzór portfolio jest teraz najmodniejszy lub co powiedzieć na rozmowie rekrutacyjnej, aby słuchali z zachwytem. Bardzo bym chciała, ale sama niestety nie wiem. U mnie sprawdziło się coś zupełnie innego i chyba przede wszystkim tym chciałabym się podzielić.

Jakie projekty umieścić w portfolio Front-End developera?

Wiesz, że nawet nie wiem? Ja nie mam swojego portfolio w takim tradycyjnym tego słowa znaczeniu. Mam repo na GitHubie (to mniej używane) i GitLabie (to bardziej), gdzie jest mnóstwo zaczętych i niepokończonych projektów, kilka małych wprawek, blog, rzeczy z hackathonów i kontrybucja do open source. Nie robiłam nigdy specjalnie rzeczy pod portfolio, raczej wiele rzeczy wynikało z ciekawości, jakiejś potrzeby itp. No bo pomyśl, jaki sens ma powtarzanie tych samych projektów, typu TODO lista, czy budzik. Poświęcisz na to dwa wieczory, albo nawet tydzień, żeby potem to poszło do szuflady. A może masz jakieś hobby typu, no nie wiem, zbieranie znaczków pocztowych albo grasz na giełdzie, albo chcesz, żeby interesujące cię zajęcia fitness same się proponowały, żeby dodać je do kalendarza. Chodzi o to, żeby nawet niewielki program, który tworzysz, był ci w jakiś sposób potrzebny. Jeśli nie tobie, to komuś z twojego otoczenia. A przy okazji, żebyś mógł powiedzieć, że za każdym razem uczysz się czegoś nowego. Gdy wiesz już wszystko o projekcie, to w zasadzie programowanie staje się dość nudne.

Fajnie jakbyś przy okazji uczył się używać powszechnych narzędzi typu Git, Linter, JSDoc itp. Nie wiesz jakich i po co? W profesjonalnych projektach się ich używa i zasadniczo są trochę jak młotek i śrubokręt dla programisty. Bardzo ułatwiają pracę. Tylko błagam, nie rób nic w stylu, że najpierw nauczysz się HTML, potem CSS, potem JS, potem Gita, a na końcu będziesz pisał testy jednostkowe. To trochę tak, jak uczyłbyś się języka obcego i najpierw chciał poznać wszystkie rzeczowniki, potem przymiotniki, potem przeszedł do czasowników, a gdzieś pod koniec dopiero składałbyś zdania. Przecież w ten sposób zanim powiesz, że lubisz placki miną wieki. Tak samo jest z programowaniem, ucz się tego, czego naprawdę potrzebujesz, co chciałbyś wiedzieć, po trochę wprowadzając kolejne elementy niczym puzle do układanki.

Nie mam doświadczenia, jak wzbogacić moje CV?

Ja też kiedyś startowałam z niemal pustym CV. To było serio całkiem niedawno. Nigdy nie pisałam, jak to super obracam się w wielu technologiach, nie były wtedy też modne procentowe słupki z umiejętnościami. Tak naprawdę pierwsze rozmowy w branży zaczęłam w okolicach drugiego roku studiów, a rzeczy do CV zdobywałam jeszcze wcześniej. Nie miałam wtedy zielonego pojęcia o rynku pracy, a moje branżowe doświadczenie można było streścić w dwóch zdaniach. Co decydowało o moim sukcesie? Aktywność na różnych polach, odrobina uroku osobistego, trochę ciężkiej pracy i niewątpliwie pasja, z jaką uwielbiam opowiadać o programowaniu. W moim CV wtedy wpisałam takie rzeczy, jak moja ranga na StackOverflow, uczestnictwo w warsztatach prowadzonych przez zaprzyjaźnione z uczelnią firmy, oczywiście link do GitHuba. Chyba dodałam jeszcze, ile mam punktów w jakimś serwisie z zadaniami z programowania. Wydaje ci się, że to drobiazgi? A jednak na pierwsze praktyki (płatne!) okazały się wystarczające.

Przy czym musisz wiedzieć, że tak naprawdę, to moje możliwości kodowania w JS były zerowe. Niemniej studia informatyczne pokazały mi kilka innych języków programowania, co pozwoliło mi w miarę szybko przestawić się na kolejny. Dlatego przyznam się, że JS-a na pierwsze praktyki uczyłam się w pociągu, jadąc na rozmowę. Wiedziałam, z czego mniej więcej będą mnie pytać, nikt nie wymagał ode mnie znania jakichkolwiek bibliotek, frameworków czy innych rzeczy. W sumie z książki Nicholasa Zakasa o programowaniu obiektowym dowiedziałam się, jak ono wygląda w JS, że jest trochę inne, jak się tworzy zmienne, funkcje, jakie są typy danych itp. Samą składnię miałam opanowaną, bo tak naprawdę ona jest zbliżona do Javy czy C++. Wiem, że takie podejście nie byłoby możliwe, gdybym uczyła się tylko pamięciowo jednego języka, bez ciągłego zadawania pytań “dlaczego”. Może nie wiedziałam, jak wygląda programowanie asynchroniczne, ale rzeczy typu rekurencja, podstawowa obsługa Linuksa i gita miałam w małym palcu.

Po kilku miesiącach miałam do CV dopisane trzy miesiące stażu w Samsungu, blog programistyczny, 2. miejsce w lokalnym hackathonie, bycie prelegentką u Geek Girls Carrots. Mimo że nie pracowałam zawodowo, to nie próżnowałam. Bardzo chciałam uczyć się więcej, wiedziałam, że dobrze byłoby mi w jakiejś firmie. Następne lato znowu spędziłam na stażu, tym razem w innej firmie. Jeszcze w czasie jego trwania przechodziłam rekrutację do Google. Tak naprawdę dalej nie mając zbyt wiele doświadczenia zawodowego. Może inaczej, doświadczenie było i to na różnych polach, po prostu za znaczną jego większość nikt mi nie płacił. Próbowałam bardzo różnych rzeczy i powoli na własnej skórze przekonywałam się, co mi odpowiada, a co niekoniecznie. W ten sposób wybierałam też oferty pracy, na które chcę zaaplikować. Można powiedzieć, że byłam wybredna, niemniej wiem, że opłaciło mi się to.

Mam nadzieję, że cię nie zanudziłam, chciałam tylko pokazać, że nie mając wielkiego doświadczenia, ale powoli zdobywając doświadczenie możesz być po chociażby roku czy nawet pół całkiem niezłym materiałem na specjalistę. Oczywiście, nie musisz robić tego wszystkiego, co ja robię. Ale warto trochę pod prąd szukać innych ścieżek rozwoju, niż robi to większość. Pomysł z blogiem, gdzie będziesz dokumentować swoje postępy, też jest bardzo mądry. Po pierwsze, masz dokumentację swojego rozwoju, po drugie, możesz wytłumaczyć coś, co już rozumiesz, innym ludziom. Czemu to ma wartość? Nikt lepiej nie wytłumaczy drugiej osobie zagadnień, niż osoba, która dopiero się ich nauczyła. Dlaczego? Jeśli pewne rzeczy stają się dla ciebie oczywiste, to już przestajesz pamiętać, jak to jest tego nie wiedzieć. Tobie będzie łatwiej wytłumaczyć coś komuś, tak jak sobie wytłumaczyłeś. Wiem, że gdy prowadziłam kurs dla początkujących programistek, to bardzo duży problem miałam z wytłumaczeniem im, czym właściwie jest zmienna.

Jak przeżyć rozmowę kwalifikacyjną?

Bardzo prosto, idziesz, dajesz z siebie wszystko, a potem dowiadujesz się, czy to aby na pewno praca dla ciebie. Jeśli nie czujesz się pewnie, aplikuj na staż, wtedy częściej masz komfort powiedzenia, że czegoś nie wiesz. Oczywiście, to wiąże się z mniejszymi zarobkami, niemniej pamiętaj, że przez pierwsze kilka miesięcy ktoś płaci ci za to, że uczysz się nowych rzeczy. Co mówić na rozmowie? Prawdę i najlepiej konkret. Umiesz coś, to się tym pochwal, robiłeś fajne rzeczy, to o nich wspomnij. Nie zaniedbuj sekcji zainteresowania w CV. Wiem, że u mnie to pozwoliło przeżyć przyjemnie niejedno interview. Nie mogę ci wiele więcej poradzić, bo sama jestem zazwyczaj zaprzeczeniem wielu poradników rekrutacyjnych, gdyż po prostu jestem wtedy bardziej sobą. Zazwyczaj ubieram się wygodnie, jeansy i T-shirt + jakaś bluza lub sweterek. Docieram na miejsce wcześniej, żeby jeszcze zrobić sobie kilkuminutowy spacer po okolicy. Już na etapie maili pytam, czy możemy przejść na ty, żebym się nie czuła skrępowana dodatkowym paniowaniem. W tej kwestii żaden ze mnie autorytet.

To chyba tyle ode mnie. Moim zdaniem najważniejsza w tym wszystkim jest naturalna dociekliwość i chęć rozwoju. Zapał do pracy i nauki to wartości na wagę złota. Ważna jest w tym wszystkim pewna samodzielność, szczególnie jak już dostaniesz się do jakiejś firmy. Nikt nie zabrania ci zadawania pytań, ale próba samodzielnego rozwiazania problemów na pewno będzie plusem. Gdybym w jakikolwiek sposób pomogła ci tym artykułem, możesz mi napisać tutaj w komentarzu lub na maila (opcja dla wstydliwych). Tymczasem czas na mnie, idę tworzyć dla ciebie nowości. A ty rozwijaj się dowoli. Miau!