Zaraz rozpoczyna się kolejny semestr na studiach. Dla wielu będzie to ostatnia przygoda z uczelnią. Dla innych: czas rozmyślań o letnich praktykach, czy może nawet pierwszej pracy. Jak często bywa: pojawi się element paniki: “AAAAAA, RATUNKUUUU, JAKIE MOJE CV JEST PUSTE!!!“.
Refleksje na ten temat to bardzo pozytywny znak. Znak, mówiący: jesteś gotów, by zakasać rękawy i zabrać się do roboty. “Samo się nie zrobi“.
Uwaga! Doczytaj ten tekst do końca, to może być Twoja najważniejsza lektura w tym roku. Serio serio.
Każdy zaczynał z pustym CV
Spokojnie, nie ma się czego bać. Każdy miał kiedyś w CV wpisane tylko liceum i uczelnię. Albo nawet i to nie. To nie powód do rozpaczy, ale… im wcześniej zaczniesz dbać o rozwój swojego resume, tym lepiej dla Ciebie.
Zacznij od tej lektury: “Recenzja CV młodego programisty“. A potem: zapraszam z powrotem.
Już? To jedziemy dalej.
Nie oszukujmy się, pracodawcy poszukujący kandydatów na staż albo stanowisko “junior dev” nie oczekują zbyt wiele. Wiedzą, że przychodzący człowiek będzie wymagał nauki. Inwestycji. Czasami: prowadzenia za rączkę. I bardzo dobrze, gdzieś trzeba zacząć, jesteś w miejscu absolutnie zgodnym z oczekiwaniami rynku.
Jednak to nie powód, by osiąść na laurach. A dlaczego? Dlatego, że takich jak TY są TYSIĄCE. A potrzeba naprawdę niewiele – bardzo niewiele – aby się wyróżnić z tłumu.
Zaczynamy.
Co możesz zrobić JUŻ DZIŚ?
W programistycznym CV powinna znajdować się sekcja “Doświadczenie”. Ale co tam wpisać, jeśli żadnego doświadczenia… nie masz?
BŁĄD! Ty MASZ doświadczenie, ale może nawet nie zdajesz sobie z tego sprawy. Więc po kolei:
1) Zbierasz i przeglądasz CAŁY KOD, jaki do tej pory wypluła Twoja klawiatura.
Serio: cały kod. Wszystkie nieudane eksperymenty z Reactem. Zakończone łkaniem brutalne współżycia z Angularem. Nierówna walka z CSSem. Pierwsza stronka łącząca się z bazką. PeHaPowe potwory na zaliczenie. Wszystkie projekty zrealizowane na potrzeby studiów. Jakiś standardowy “System bankowy” w Javie? Albo “Obsługę pizzerii” w C#? A może “Gabinet weterynaryjny” w Accessie? Może jakaś inżynierka czy magisterka?
WSZYSTKO!!!
Bo chyba MASZ taki kod, prawda? Jeśli nie, to dodajemy punkt “0) Programuj cokolwiek”. Od razu skocz do ostatniego akapitu tego tekstu.
Dla przykładu: u mnie do worka z takim kodem wpadłyby różne zabawy. A to implementacja stosu. A to aplikacja desktopowa ściągająca rozkład jazdy autobusów. A to wygaszacze ekranu. A to klient Gadu-Gadu. A to ohydna strona o wampirach. A to…
Było tego naprawdę sporo. Jeśli interesują Cię moje początki to zapraszam do cyklu Procentografia (a szczególnie do odcinka “Narodziny pasji“). Co prawda ja nie miałem warunków do wykonania kolejnych kroków: w tych czasach nie każdy miał nawet internet :) ). Ale na szczęście TY możesz.
Więc bierzesz cały ten kod. Odcinasz z tego połowę najgorszego, najbrudniejszego szlamu, którego się najbardziej wstydzisz (spoko, każdy ma takie potwory w swoim dev-sejfie).
A co z resztą?
2) Dodajesz do CV sekcję “Zrealizowane projekty”
Wiele osób błędnie uważa, że w takiej sekcji powinny znaleźć się tylko zamówienia komercyjne. BŁĄD!
Do tej sekcji dopisujesz te kilka/kilkanaście najmniej brzydkich projekcików. O każdym piszesz kilka słodko-gorzkich słów. Odpowiadasz proste na pytania: “co ten projekt robi?” i “czego mnie nauczył?“.
Nagle okazuje się, że masz z pół strony (albo i więcej?) doświadczenia! Pokazujesz, czym się bawisz, co robisz. To o wiele lepsze niż cały akapit słów kluczowych, pustych nazw technologii o których wiesz tyle, że “było kiedyś na jednym wykładzie”.
Jeszcze raz podkreślę: to nie musi być kod piękny, kod idealny. Ważne, żeby był. W tym przypadku naprawdę “lepszy rydz niż nic”.
3) Idziesz na GitHub i zakładasz konto
To konto i tak będzie dla Ciebie obowiązkowe, ale do tego dojdziemy za chwilę. Tylko zlituj się, nie wybieraj username w postaci “uroczy_kwiatuszek_98“.
To od tej pory Twój dom. Twój pokój, w którym przyjmiesz gości. Twoja wizytówka. Film dokumentalny o Twojej podróży.
Napisz krótkie bio: 2-3 ładne zdania o sobie. Po angielsku. Wgraj zdjęcie. Nie porównuj się z kontami innych (np. moim). Nie wszystkie są “ładne”. Wiele osób traktuje GH tylko jako backup kodu. Nie muszą się tak starać. Ty: musisz.
4) Uczysz się podstaw Gita i wysyłasz tam swoje projekty…
…a linki do nich dołączasz do CV.
Wyżej napisałem, że GH to film o Tobie. Wyobraź sobie, że nazywa się “Od zera do uber-developera“. Nawet jeśli jesteś bliżej “zera”: TO NIC!
Dzięki temu Twoje CV już od jutra będzie lądowało na górze stosu. Zdeklasujesz konkurencję.
Ale jak to – słaby kod? Przecież mnie wyśmieją!
Jeśli firma wyśmieje Twój kod to wiesz, że nie jest to dobra firma do pracy.
Ale nie wyśmieją. Nawet słaby kod to świetny punkt startowy dyskusji. Dzięki temu zostanie Ci dana okazja, aby poopowiadać co więcej wiesz o danej technologii. Jakie błędy w projekcie zostały popełnione. Jak zrobisz to lepiej w przyszłości?
Jak zawsze: CONTEXT IS KING. I to TY ten kontekst budujesz. Na GitHubie każdy projekt może mieć opis wyświetlany na stronie (plik readme.md). Dodaj taki opis. Napisz kiedy kod powstał i czego cię nauczył. Dzięki temu odwiedzający pokiwa głową i szepnie: “ten koleś dobrze kombinuje!“. Albo: “ta panna nie wstydzi się swojej pracy, szacun!“.
Popatrz po swoim otoczeniu. Jaka jego część pokazuje kod światu?
I zastanów się nad dalszymi konsekwencjami: jak zmieni się Twój sposób pracy, jeśli z założenia cały kod będziesz wysyłać w świat? Prawdopodobnie bardziej się do niego przyłożysz, prawda? A co za tym idzie: Twój skill wzrośnie szybciej niż w Diablo pozostawionym na noc z przyblokowanym LMB.
Po co to wszystko?
Gdy inni nieśmiało skrobią pazurkami w drzwi jak cziłała, któremu pęka pęcherz, ty: napierdzielasz taranem.
Gdy inni rysują serduszka na powiekach, przymykają kusząco oczka i szepczą: “uwierz mi, weź mnie“, ty: przedstawiasz rzeczowe argumenty.
Gdy inni mają w swoim CV tylko ładne słówka, ty: dołączasz DOWODY. Dowody na to, że:
Umiesz Gita
Gita trzeba umieć. Koniec i kropka. Niektórzy umieją go bardzo dobrze, inni – średnio, a jeszcze inni: przenoszą kod DropBoxem, na pendrajwie czy innym TFSem. Napisanie “znajomość Gita” nie jest nawet w 1% tak dobre, jak dodanie linków do swoich repozytoriów.
Znasz GitHuba
Nie BitBucket, nie jakiś podgniły SourceForge, nie zwyrodniały CodePlex. Tylko GitHub. To jest centralne (pun intended) miejsce spotkań programistów z całego świata.
Nie wstydzisz się swojej pracy
Każdy popełnia błędy. Każdy na początku generuje tony nawozu. Ale nie każdy chwali się swoimi postępami, pokazując ewolucję.
Rozwijasz się
Twój kod świadczy o tym, że – z lepszymi bądź gorszymi efektami, wolniej bądź szybciej – idziesz do przodu. A nawet jeśli czasami nie do przodu tylko w bok – to nieważne. Ważne, że nie stoisz w miejscu.
Świadomie oceniasz swoją pracę
Pamiętasz plik “readme.md”? Budowanie kontekstu?
Nie każdy będzie w stanie przyznać się do popełnionych błędów. Sam sobie wytknąć potknięcia i wskazać możliwe rozwiązania.
Taki typowy, zadufany w sobie BOBek – jakich niestety pełno w naszej branży – tego nie potrafi. Jeśli TY potrafisz, to bardzo dobrze nadasz się do pracy w zespole.
Pierwsze kroki za Tobą. Już jesteś tym “juniorem z górnej półki”.
Ale to dopiero początek.
Od jutra…
Poszukaj miejsc, w których inni programiści szukają rozwiązań swoich problemów. Czy to Stack Overflow, forum 4Programmers, forum Pasja Informatyki, a nawet wykop czy programistyczne grupy na fejsie.
Spróbuj komuś pomóc. Rozwiązać cudzy problem. A następnie: napisać mu to rozwiązanie.
To nie koniec Twoich studiów?
To koniecznie przeczytaj tekst: “Czy programiście potrzebne są studia?“.
Nie marnuj czasu na uczelni. Studiowanie jest BARDZO potrzebne, ale nie każdy sposób studiowania jest prawidłowy. Życie masz tylko jedno: wyciągnij z tych lat maximum.
Co dalej?
Działaj! To nie jest łatwe, ale nie jest też mega-trudne.
O wiele więcej informacji na takie tematy znajdziesz w mojej (bestsellerowej zresztą ;) ) książce “Zawód: Programista“. Polecam!
Tydzień dobrze się zaczyna! Już czuję motyle w burzchu przed “pierwszym” ;) Btw przypomniał mi się słynny filmik “Jesteś zwycięzcą”. Można by to sparafrazować “Kim jesteś?! Jestem programistą! Kim jesteś?! Jestem programistą!” itd. itd.
Grzegorz,
U mnie to już nawet nie motyle tylko stado słoni :).
Filmik: jak najbardziej! Już 1 lutego pojawi się najbardziej kołczerskie video, jakie do tej pory opublikowałem :).
Bardzo pomocny tekst, jako studentka pierwszego roku niedługo będę przymierzać się właśnie do poszukiwania pierwszej pracy w IT.A nic tak bardzo nie przeraża jak myśl “co ja wpisze w doświadczeniu?”.
Teraz już wiem i jestem spokojna.
Wiktoria,
Super, o to chodzi! Podaj dalej i pamiętaj o 1 lutego ;).
Ja właśnie jestem w podobnej sytuacji, tylko mam trzy dyszki na karku ;) Chcę zmienić zajęcie, bo do tej pory byłem takim klasycznym informatykiem. Chętnie bym podesłał swoje CV do oceny komuś kto się szczerze i rzeczowo wypowie. Znajdzie się ktoś chętny do pomocy?
Grzesiek,
Widziałeś podlinkowany post z analizą CV? Tu nie ma wielkiej filozofii, tam starałem się wszystko zawrzeć.
Przeczytałem i wszystko jest dla mnie jasne, jednak ja zrobiłem to w trochę w innym stylu (w cv mam na przykład link do własnej strony, która jest moją “wizytówką”) i chciałem żeby ktoś profesjonalnym okiem ocenił, czy gdzieś mnie nie poniosło ;)
Świetny tekst, a ja polecę od siebie “Jak wykorzystałem Stack Overflow i GitHub, żeby dostać wymarzoną pracę przed 19 urodzinami bez studiów”
https://webmastah.pl/jak-wykorzystalem-stack-overflow-i-github-zeby-dostac-wymarzona-prace-przed-19-urodzinami-bez-studiow/
bo to się idealnie wpisuje w ten temat! Więcej działania, a mniej pitolenia w CV ;)
NRM,
Thx, dobre!
Hej, dodałbym jeden punkt od siebie:
Naucz się pisać testy do swojego kodu! Jeśli widzę że ktoś na projekcie GitHubowym ma testy jednostkowe, to od razu wskakuje na kolejny level.
Piotr,
Oj to już zupełnie inny level. Chociaż nie mogę się nie zgodzić, od samego początku na tym blogu zachęcam do testowania. Pierwszy post – w 2008r – był właśnie o testach :).
Cześć, mam pytanie w kwestii CV.
Będę się starać o posadę programisty (pierwsza praca tego typu). Jednak przez ostatnie 8 lat pracowałem jako freelancer (projektowanie web i aplikacji mobilnych). Freelancer czyli żadnej konkretnej firmy, różni klienci etc. Powinienem uwzględnić tą informację w CV aplikując na stanowisko programisty?
Aby uściślić – szkołę średnią skończyłem w wieku 22 lat. Studia zacząłem po zastanowieniu się co chciałbym w życiu robić 2 lata później. Więc te 8 lat doświadczenia nie wzięło się od początków gimnazjum ;-)
Dzięki wszystkim za pomoc z góry.
Adrian,
Oczywiście że powinieneś! Przecież to jest ogromnie wartościowa informacja. A jeśli rzucisz linkami albo do kodu albo do gotowych realizacji to tym lepiej.
Witam
Naprawdę świetny tekst, nawet nie wpadłbym na to, żeby przejrzeć moje stare projekty z uczelni albo kursu, na który chodziłem. Zgodnie z poradą z tego pierwszego tekstu założyłem własną stronę (do której zapomniałem hasła…) na której wrzucałem swoje projekty, więc teraz będzie można zwiększyć jej kontent (jak się to hasło przypomni…) ;D
Dzięki za rady i oby tak dalej, takich skarbnic wiedzy nam młodym potrzeba ;D
Witam,
Jak ja mogę doradzić można jeszcze założyć profil na Linkielin czy na Goldenline. Można też dodatkowo stworzyć o sobie stronę internetowo typu “one page landing pages “. Sposobów jest całe mnóstwo :)
Niezłe, na prawdę niezłe. Od czegoś trzeba zacząć, tego powinni uczyć w szkole!
Bardzo przydatne wskazówki! Dzięki! Mam umówiona rozmowę w Codete z Krakowa i jak wysyłałem CV to opierałem się właśnie na Waszych wskazówkach i jak widać wyszło. Teraz nic, tylko trzymać kciuki, żeby mi się udało, bo słyszałem, że można się nieźle tam rozwinąć :)