Jak efektywnie rozpocząć karierę programisty?
Każda wiedza teoretyczna w pewnym momencie powinna przerodzić się w praktykę. O niezbędne umiejętności, które powinni posiadać młodzi adepci sztuki programowania i o najbardziej efektywną drogą rozpoczęcia kariery zawodowej programisty zapytaliśmy Jerzego Niemojewskiego, dyrektora rozwoju oprogramowania.
Jakie umiejętności młodych programistów są najbardziej cenione przez pracodawców?
Wypada zacząć od rzeczy podstawowych, tj. znajomości technologii, języków programowania, systemów operacyjnych: Java, .Net, JavaScript, SQL, Linux. To jest podstawa i baza do dalszego rozwoju i w większości przypadków kandydaci są tego świadomi. To co jest mniej oczywiste, a również bardzo ważne, to umiejętność budowania algorytmów, efektywnego konstruowania ciągów przyczynowo skutkowych. Z kolei z umiejętności miękkich warto wspomnieć o tzw. solving attitude. Praca w branży IT polega na nieustannym szukaniu rozwiązań problemów. To jest trochę tak jak z rozwiązywaniem łamigłówek typu Sudoku – nie sztuką jest je rozwiązać kiedy ktoś podaje nam cyfry, a my uzupełniamy pola, tylko chodzi o to, by być tą osobą, która sama jest w stanie dotrzeć do rozwiązania zadania.
Jak zatem można realnie ocenić swoje umiejętności na starcie kariery zawodowej?
W sieci jest dostępnych wiele testów sprawdzających umiejętności z zakresu IT np.: badających poziom znajomości danego języka programowania. Jednak tak naprawdę weryfikują one tylko jakiś podstawowy poziom i w ogólnej ocenie nie dają prawdziwego poglądu na umiejętności i predyspozycje kandydata. Jakimś sposobem weryfikacji jest również robienie własnych projektów, czy programowanie hobbistyczne. Niestety w większości przypadków to również nie jest optymalny sposób oceny. Realizując własny projekt zazwyczaj zaczynamy od tzw. czystej karty, mamy dowolność w wyborze technologii, narzędzi i wybieramy drogi, w których czujemy się pewnie i są dla nas łatwiejsze. Dlatego właśnie takie podejście nie daje poglądu na uniwersalne umiejętności czy zdolności rozwiązywania problemów w sytuacjach gdy jesteśmy ograniczeni technologiami, narzędziami czy zastaną sytuacją. Wówczas liczy się kreatywne, kompleksowe myślenie i zdolność do radzenia sobie z napotykanymi trudnościami. Prawdziwa weryfikacja umiejętności ma miejsce dopiero po rozpoczęciu kariery zawodowej.
Praca w branży IT polega na nieustannym szukaniu rozwiązań problemów. To jest trochę tak jak z rozwiązywaniem łamigłówek typu Sudoku – nie sztuką jest je rozwiązać kiedy ktoś podaje nam cyfry, a my uzupełniamy pola, tylko chodzi o to, by być tą osobą, która sama jest w stanie dotrzeć do rozwiązania zadania
Jak młodzi adepci sztuki programowania mogą umocnić swoją pozycję na rynku pracy?
Po pierwsze samorozwój. Świat technologii zmienia się bardzo dynamicznie stąd kluczowe jest utrzymywanie bieżącej wiedzy o trendach i standardach. Możliwości jej zdobywania jest wiele. Uczelnie, bootcapmy samokształcenie – tak naprawdę każdy z tych sposobów może być dobrą drogą. Kluczowe jest odpowiednie podejście, zaangażowanie i poświęcenie odpowiedniej ilości czasu na naukę i tzw. cierpliwe „dłubanie” w temacie.
Wiedza teoretyczna bez względu na sposób jej zdobycia musi w pewnym momencie przerodzić się w praktykę. Jaki jest najlepszy sposób na wdrożenie się w projekty komercyjne?
Z punktu widzenia pracodawcy, w odniesieniu do rzeczywistej pracy u w ramach firmy/organizacji wiedza zdobyta w ramach toku nauki nie jest nigdy kompletna. Zderzenie się z realiami projektowymi jest pierwszym momentem gdzie tak naprawdę można zidentyfikować braki i niedociągnięcia, których często młodzi programiści nie są, a nawet nie mogą być świadomi. Dlatego warto zadbać o odpowiedni początek drogi zawodowej i zacząć od stażu. Zazwyczaj są ona nastawione na „miękkie” wdrożenie do „prawdziwego” świata IT i pracy przy projektach komercyjnych. Pomagają tym samym na ocenę własnych kwalifikacji, preferencji i umiejętności. Świat IT jest światem bardzo szerokim. W jego ramach można realizować różne zadania. Obok programowania mamy analizę, wsparcie, administrację systemami. Zazwyczaj dopiero po takiej 3 miesięcznej praktyce jesteśmy w stanie określić, do obrania jakiej drogi dana osoba ma predyspozycje.
W tym momencie rynek pracy pełen jest programów stażowych, które oferują różne możliwości rozpoczęcia kariery. Co odróżnia Savangard Labs od innych programów dostępnych na rynku?
Standardowe podejście do stażów skupia się głównie na pracy przy konkretnym projekcie i odciążaniu zasobów firmy. Wówczas zadania stażysty sprowadzają się do pojedynczych działań np.: napisania konkretnych fragmentów kodu. De facto jest to praca mocno odtwórcza i nie rozwija kompleksowo. My podchodzimy do staży inaczej. Pierwsze 3 miesiące z naszej strony to intensywna nauka i inwestowanie w rokujących, młodych programistów. Program realizowany w ramach stażu jest wypełniony zadaniami o różnych charakterze. Budowanie aplikacji, administrowanie, wymyślanie rozwiązań, a następnie ich wdrażanie to przykłady tego, co serwujemy naszym podopiecznym. Takie ogólne podejście pozwala nam ocenić wspominane już wcześniej preferencje i umiejętności. U podstaw naszych założeń leży nawiązanie stałej, długotrwałej relacji. Z naszego doświadczenia wynika, że takie podejście przynosi najwięcej korzyści obu stronom i najzwyczajniej w świecie się sprawdza – jak do tej pory ponad 80 % stażystów zostało z nami na stałe.
Szukasz miejsca żeby zacząć swoją karierę zawodową? Sprawdź nasz program stażowy Savangard Labs