Idealne CV programisty – jak je napisać?

programista3 Idealne CV programisty – jak je napisać?Programiści są na tyle pożądani na rynku pracy, że nie muszą martwić się o oferty, prawda? W dużej mierze tak, ale nie znaczy to, że nie warto mieć dobrze przygotowanego CV! W końcu każdemu zależy na jak najlepszej pracy, ciekawych projektach i dobrej pensji. Jak zatem przygotować CV programisty, by zrobić jak najlepsze wrażenie na potencjalnym pracodawcy?

W przypadku osób zajmujących się IT, ocena kompetencji jest nieco inna niż w przypadku innych zawodów. Programista z 2-letnim doświadczeniem, ale pasjonat, może być znacznie lepszym fachowcem niż osoba z 5-letnim bagażem, która przez ten czas niewiele się rozwinęła. O ile w przypadku niektórych zawodów wiadomo czego można spodziewać się po osobie pracującej w firmie A czy B, o tyle w przypadku programistów mało jest firm, które dają kolejnemu pracodawcy pewność, że kandydat poradzi sobie w pracy bo pracował w firmie A czy B. Kolejna trudność jest taka, że choć zapotrzebowanie na programistów jest spore, to jasnym jest, że programista wysyłający CV do innej firmy to najczęściej a) desperat załamany obecną pracą b) słaby programista. Dobrzy, dostają prace przez znajomości, polecenia bądź są zaczepiani przez head hunterów. By jednak móc być „popularnym” i pożądanym, trzeba tą popularność mieć i zawsze mieć w zanadrzu dobre CV, które w razie potrzeby można przesłać.

Proces uczenia się

Bycie dobrym programistą oznacza nieustany rozwój. Śledzenie nowych trendów, podążanie za nimi i świetną orientację. Programista, który zatrzymał się w rozwoju, tak naprawdę się cofa. Jak można pokazać proces rozwoju w CV? Za pomocą opisów projektów, w których brałeś udział i kolejnych kompetencji, które zacząłeś zdobywać. Można zrobić to słownie (np. umieszczając przy kolejnych pracach adnotację o nabytych kompetencjach) lub w formie mini infografiki, która pokaże jak długo pracujesz na określonych systemach bądź w konkretnych językach programowania (pamiętaj, że infografika musi być czytelna).

Aktualna wiedza i kompetencje

Programowanie to nadbudowywanie kolejnych umiejętności. Jeśli programista zna dobrze jeden język obiektowy, to przyswojenie kolejnego nie jest szczególnie trudnym problemem. Z tego powodu nie musisz sięgać do zamierzchłych historii i uprawiać archeologii pisząc o tym, że zacząłeś programować od Turbo Pascala 20 lat temu (chyba, że jako ciekawostkę).

W IT bardzo ważne są certyfikacje – jest to kosztowny wydatek, ale zwraca się w pensji. Dlatego warto rozważyć zdobywanie co 3-4 lata kolejnego certyfikatu. Oczywiście wpisu je w CV.

Kompetencje miękkie

W pracy zespołowej niezwykle ważne. Niestety zaniedbywane na studiach. W efekcie sporo pracowników IT nie posiada podstawowych umiejętności pracy w zespole czy zarzadzania własnym czasem. Jak przekonująco opisać kompetencje miękkie w CV? Zdecydowanie nie jako listę na końcu CV. Znacznie lepiej zrobić zestawienie umiejętności twardych i miękkich jakie nabyłeś przy konkretnym projekcie.

Przykładowo:

IX 2014 – III 2015 – współtworzenie serwisu do organizacji programów lojalnościowych dla MŚP (www.jakisadresportalu.pl) Wykorzystane technologie i narzędzia: .NET 4.0,ASP.NET MVC 3, MySQL, SQLite, NHibernate, MSpec. Współpraca w 3 osobowym zespole projektowym pracującym zdalnie. Praca w metodyce Agile. Zdobyte kompetencje: poznanie bibliotek NHibernate, umiejętność samodzielnego zarządzania czasem pracy, zdolność pracy w zespole rozproszonym.

Systemy pracy

W IT równie ważne jak kompetencje twarde jest doświadczenie w określonych systemach (metodykach pracy). Byłęś Scrum Masterem? Koniecznie o tym napisz. Pracowałeś w Agile? Również! Ważne poza tym jest również to, w jakiego rodzaju zespołach pracowałeś (samodzielnie, w teamie, jak dużym, praca zdalna czy stacjonarna?) Im więcej masz różnorodnych doświadczeń, tym większą elastycznością dysponujesz – warto to podkreślić w CV.

Portfolio

Niezwykle ważnym elementem dla programisty jest jego portfolio. Pozwala nie tylko zorientować się, przy  jakiego rodzaju projektach brał udział, ale przede wszystkim w jaki sposób pisze kod. Każdy programista pisze kod na swój własny sposób – dlatego doświadczonemu managerowi wystarczy kilka chwil spędzonych nad kodem kandydata, by zorientował się zarówno w poziomie umiejętności, typowych błędach jak i sposobi pracy programisty. Bez posiadania próbek własnego kodu, trudno starać się o lepszą pracę. Dlatego portfolio jest tak ważne.

Jak i gdzie je stworzyć?

Do tworzenia portfolio wykorzystać można kilka narzędzi – od własnej strony www po serwisy pozwalające na przechowywanie kodów źródłowych (np. GitHub obsługujący obecnie około 2 mln repozytoriów).  Co powinno znaleźć się w portfolio programisty?

Przede wszystkim kod. Portfolio nie musi być być udostepnieniem kompletnego działającego skryptu, ale powinno zawierać takie elementy jak:

  • Opis problemu,
  • Opis wykorzystanych technologii,
  • Komentarze do kodu,
  • Testy (automatyczne bądź kompletne)
  • Opis architektury,
  • Ewentualny opis napotkanych problemów, sposób ich rozwiązania.

Pamiętaj, by nie udostępniać kodu, do którego przekazałeś prawa autorskie majątkowe (a przynajmniej nie w całości – najlepiej zawsze uzyskać zgodę klienta).

Zainteresowania

W przypadku pracowników IT są szczególnie ważne. Dlaczego? Bo pracodawcy chcą często mieć pewność, że będą pracować z żywymi ludźmi a nie robotami. Na szczęście już w niewielkim stopniu (ale nadal) pokutuje wizja programisty w kraciastej koszuli, który poza komputerem nie widzi świata. Jeśli masz jakieś poza technologiczne hobby – napisz o tym. Im bardziej zespołowe i społeczne, tym lepiej.

Co jeszcze liczy się w IT?

Dla osoby czytającej CV programisty liczące się doświadczenia to:

  • Wiek, w którym programista napisał pierwszy skrypt czy kompilator,
  • To, czy jest członkiem jakiejś grupy programistycznej, bierze udział w Meet-upach,
  • Brał udział w stażach (zwłaszcza przy niewielkim doświadczeniu),
  • Czynnie działa w ramach Open Source,
  • Lubi (bądź robił to wcześniej) pisać kod „dla zabawy”,