Co dalej?

Na rynku miejsca dla programisty jest dużo, jednak sporo jest też młodych, aspirujących do pracowania jako programista ludzi. Co zrobić by najlepiej pokierować swoją karierą? Jak nie zagubić się w gąszczu innych ludzi?

Od razu, na samym początku, wspomnę że jestem gimnazjalistą – kończę aktualnie 3 klasę. Co, jakiś gimbus będzie nam mówił o tym jak wejść w IT, skoro sam jeszcze tego nie zrobił? Nie tyle mówił z własnego doświadczenia, a agregował porady z różnych źródeł i opisywał je szerzej, dodając przykłady i rozciągając je w swoisty „plan”. Nie oszukujmy się – targetem tego artykułu nie są osoby które w IT siedzą, tylko osoby takie jak ja, które chciałyby siedzieć – osoby młode, niedoświadczone komercyjnie.

Po pierwsze – ucz się, ukierunkuj swoją wiedzę i patrz na trendy.

Prawdopodobnie wiedząc, że chcesz zostać programistą już teraz uczysz się programować w jakimś języku. To, że znasz składnię to niestety nie wszytko – teraz programiści w codziennej pracy wykorzystują różne frameworki, których znajomość staje się obowiązkowa. Przykładowo – kandydat na stanowisko programisty Java często zobaczy w ogłoszeniu Wymagana znajomość Spring/Hibernate/JEE, a od programisty piszącego w Pythonie często będzie się wymagać znajomości Django czy Flask’a. Popatrz na oferty pracy związane z językiem którego się uczysz (na przykład na nofluffjubs), zorientuj się w tym co jest rzeczywiście wymagane przez pracodawców.

Chyba nie muszę wspominać o tym, że są narzędzia które należałoby znać niezależnie od języka w którym programujesz – zalicza się do nich różne systemy kontroli wersji jak (najczęściej) git lub (o wiele rzadziej) Merkurial lub SVN, bugtrackery, takie jak Jira czy Bugzilla oraz narzędzia ciągłej integracji, takie jak Jenkins czy Travis CI.

Jeżeli chcesz zarabiać więcej niż jakiś klepacz kodu – już na tym etapie ukierunkuj się. Jeżeli wstrzelisz się w niszę, bogactwo i sława są twoje. Patrz na trendy – aktualnie na topie jest sztuczna inteligencja, może warto iść w tym kierunku? Jeżeli nie masz aż takiego parcia na kasę i tak warto się ukierunkować, ale w innym znaczeniu – robić to, co ci wychodzi najlepiej i pogłębiać swoją wiedzę w tym kierunku. Piszesz CMSa? Rozwijaj go według aktualnych trendów. Przeglądaj kod innych CMSów, takich jak chociażby WordPress, dzięki któremu możesz czytać ten artykuł. Podglądaj ciekawe rozwiązania, ucz się o nich, implementuj je w swoim kodzie.

Po drugie – zadbaj o doświadczenie.

Nie – nie musisz się martwić że nie masz doświadczenia komercyjnego. Serio.

Najważniejsze jest to, byś sam klepał jakiś kod – każdy swój projekt, nawet najmniejszy, publikuj na GitHubie. Nie wstydź się – będziesz miał duże portfolio i wspaniałą okazję do tego, by pochwalić się przed pracodawcą wachlarzem podjętych tematów, technologii, napotkanych problemów i ich rozwiązań. Oni tylko na to czekają! Chcą widzieć, że kandydat zetknął się z prawdziwymi problemami.

Najprawdopodobniej jako programista będziesz pracować w zespole. Ważne jest, żeby popracować trochę w grupie – po pierwsze, poznasz ten styl pracy (a praca w zespole wygląda zupełnie inaczej niż w pojedynkę), po drugie – będziesz miał się czym pochwalić pracodawcy.

Warto wypróbować pracę w jakimś projekcie opensource – nie dość że poznajesz budowę takiego dużego projektu od środka, to jeszcze masz szansę zasmakować pracy grupowej nad dużym projektem.

No i jest jeszcze freelancing. Strony takie jak ta czy ta oferują dużo różnych ofert od osób które chcą postawić swojego bloga, wizytówkę firmową czy cały CRM. Tu z kolei możesz nauczyć się głównie dwóch rzeczy – pracy na wymaganiach klienta oraz, co chyba najważniejsze – poprawnego wyceniania swoich umiejętności. Jeżeli chcesz być ceniony – sam zacznij się cenić. Może się jeszcze pojawić pytanie natury prawnej – czy w ogóle jako młodociany możesz wykonywać takie zlecenia? Okazuje się że tak – i to już od 13 roku życia. Wystarczy jedynie zgoda rodzica lub opiekuna prawnego i już możesz zarabiać pieniądze i doświadczenie 😉

Po trzecie – dobrze wybierz szkołę (lub jej brak).

Znacie tą odwieczną walkę o to, co lepsze dla programisty: liceum czy technikum, studia czy ich brak? Postanowiłem że przedstawię swoje odmienne spojrzenie na ten problem – nie będę starał się przekonywać ciebie do jednej z opcji. Myślę, że po prostu nie ma to sensu – dla każdego ten wybór będzie wyglądać inaczej. Co mogę zrobić? Mogę przedstawić plusy i minusy danych rozwiązań. Zdecydować musisz sam.

Jesteś gimnazjalistą, masz przed sobą wybór – liceum czy technikum?

  • Liceum jest opcją dla ludzi, którzy cenią sobie czas, mają determinację by poświęcać dodatkowy czas na naukę programowania oraz chcą bardzo szybko wkroczyć w etap następnego wyboru (dojdziemy do tego za chwilę).
  • Technikum jest dla osób, którym nie spieszy się aż tak. Oczywiście, nie mówię że szkoła nauczy was wszystkiego – niestety, poziom techników jest jaki jest, nadal trzeba uczyć się samemu. Plusem jest to, że po zdanych egzaminach zawodowych otrzymujemy dyplom technika, oprócz tego mamy zapewniony miesiąc praktyk, które pomogą nam wdrożyć się w środowisko.

To mamy już podsumowane – a co gdy kończysz szkołę średnią?

  • Możesz pójść na studia informatyczne na politechnice. W zależności od zaparcia – inżynierskie (6/7 semestrów, 3,5 roku) lub jednolite magisterskie (10 semestrów, 5 lat). Niezależnie od wyboru jest to jednak kawałek czasu, w trakcie którego raczej ciężko jest zdobywać doświadczenie zawodowe na pełnym etacie. Oprócz tego, na studiach będziesz uczył się całej masy niepotrzebnych ci prawdopodobnie przez całą twoją karierę rzeczy.
    Oczywiście plusy istnieją – dyplom na trudne czasy (zawód programisty zmierza cały czas do formalizacji, trzeba brać to pod uwagę), kontakty do pracodawców czy potencjalnych wspólników, programy dofinansowań, szkoleń czy certyfikacji oraz oczywiście niezapomniane doświadczenia 😉
  • Możesz też nie iść na studia, a od razu próbować swoich sił w pracy komercyjnej. Daje to jedną, bardzo dużą korzyść – gdy inni kończą studia i zaczynają karierę zawodową, ty masz już masę doświadczenia i (prawdopodobnie) zarobki na dość satysfakcjonującym poziomie. Minus jest taki, że jeżeli nie będziesz wybitny w tym co robisz, z czasem formalizacji zawodu możesz zostać wygryziony przez wymagania pracodawców.

Podsumowanie zalet i wad należy do ciebie – dla każdego z nas ta decyzja będzie wyglądała inaczej, zależała od naszego charakteru, sytuacji materialnej czy temperamentu i ambicji.

I co, tyle?

Nie ma tu właściwie co podsumowywać – należy przystąpić do działania z determinacją i świadomością, że właśnie zmieniasz swoje życie, z każdym krokiem przybliżasz się do swojej wizji siebie. Sam jak mówiłem jestem gimnazjalistą, który za chwilę przestanie nim być – te wybory i działania wciąż są przede mną. Mimo to stawiam im czoła – staram się w miarę regularnie prowadzić tego bloga (choć ostatnio jest to mało widoczne, wiem, wiem), w między czasie prowadzę różne projekty poboczne, które…

A, właśnie… Obserwujący moją stronę na FB już wiedzą, że rozpocząłem tajemniczy projekt pod jakże tajemniczą nazwą ESP_N. Logo wyjaśni trochę więcej:

Oprócz loga na razie nie chcę zdradzać nic więcej, ale na 100% niedługo możecie spodziewać się posta z zarysem i założeniami projektu, rozpoczynającego całą serię postów o tym systemie.

Pozostaje mi tylko podziękować za przeczytanie tego posta, życzyć powodzenia w rozwoju i zaprosić do czytania następnych wpisów 🙂

  • arni

    Na razie zrobiłem kurs z wordpressa na eduweb.pl i zaczynam od małych zleceń za niewielkie pieniądze, żeby zdobyć doświadczenie. Za jakiś czas zainwestuję w kolejne kursy, bo te darmowe mają zbyt ogólnikową wiedzę. W większości poradników piszą, że trzeba się uczyć i ćwiczyć. W pracy programisty nie ma drogi na skróty.