Huawei i Google: Huawei będzie mógł używać tylko bezpłatnej, ogólnodostępnej wersji Androida, ale straci dostęp do Google Play Store, Gmail i YouTube. Więcej na Reuters.com
Poparto zmiany prawa autorskiego w Unii Europejskiej. Chronią autorów? Czy wszystko zadziała tak jak zakłada ustawodawca? Szczegóły  na Reuters.com.
Dopóki polski pracodawca kręci nosem na zatrudnienie programisty czy grafika zdalnie, amerykanie już testują stanowiska dla zdalnej pracy kierowców autobusów – informuje BBC

Jak zdobyć pierwszą pracę na stanowisku programisty?

Jak zdobyć pierwszą pracę na stanowisku programisty? Pracodawcy wymagają doświadczenia i portfolio, ale niektórzy chętnie zatrudniają studentów. Oczywiście, bo zatrudniając studentów na umowie zlecenie (do 26-go roku życia), nie płaci się ZUSu. A co zyskuje pracownik? Jak powinna wyglądać pierwsza praca programisty? Ja szukałem swojej pierwszej pracy jako student, w dalekim 2001 roku.

Najważniejsze w pierwszej pracy programisty – trafić do zespołu który zna się na programowaniu, na projektowaniu bezawaryjnego oprogramowania, ma wdrożone procesy produkcji bezawaryjnego oprogramowania i potrafi szkolić pracowników.

Jak zdobyc pierwsza prace na stanowisku programisty?

W Polsce sytuacja z wytwarzaniem oprogramowania, wg mnie, jest fatalna. Za niecałe 5 lat przebywania w kraju, spotkałem tylko jedną firmę, która ma wdrożony proces produkcji bezawaryjnego oprogramowania. To licząc kilkadziesiąt firm, z którymi współpracowałem lub współpracuję. Problem jest taki że początkujący informatyk nie jest w stanie rozpoznać firmy, która jest w stanie nauczyć go programowaniu, bo nie wie czym jest prawdziwa, poprawna produkcja oprogramowania. A nauka programowania zaczyna się dopiero w pracy. Także to jest kluczowe.

W Polsce sytuacja z wytwarzaniem oprogramowania, wg mnie, jest fatalna. Własnej szkoły produkcji hi-tech rozwiązań prawie brak, a przyjąć zagraniczne doświadczenie, w mojej ocenie, nie pozwała mentalność, bo polskie z definicji jest lepsze. Kraj pozostaje się w niektórym sensie hermetyczny, odporny na innowacje. Jeśli informatyk przez całe życie nie trafi na dłuższy okres do firm zagranicznych (albo do tych pojedynczych polskich firm, które jednak mają wdrożone prawidłowe procesy produkcji), to, tak naprawdę, może nigdy nie stać się prawdziwym informatykiem, bo nigdy nie pozna czym jet produkcja bezawaryjnego oprogramowania. Za niecałe 5 lat przebywania w kraju, spotkałem tylko jedną firmę, która ma wdrożony proces produkcji bezawaryjnego oprogramowania. To licząc kilkadziesiąt firm, z którymi współpracowałem lub współpracuję. Dla początkującego informatyka rozpoznanie właściwej firmy na pierwszą pracę jest niezłym wyzwaniem, nie mniej jednak, to może decydować o całej przyszłej karierze.

Historia pracy w polskiej firmie

Oto historyjka z życia. Nie to żeby hejtuję polskie firmy, tylko piszę jak jest.

W 2017 roku współpracowałem z agencją marketingową w Warszawie, programowałem dla nich system do kolejkowania zamówień w serwisie wymiany opon. Specjalizacją agencji marketingowej jest, jak wskazuje sama nazwa – marketing. Reklamy i marketing, ale na pewno nie produkcja oprogramowania. Ciekawostka jest taka, że po bardzo krótkiej współpracy właściciel tamtej agencji, porównując mnie do kolegi który pracuje dla niego od ponad 8 lat, powiedział że ja wytwarzam zbyt mało kodu dziennie. Wyobraź sobie jak działa produkowane przez niego oprogramowanie. Kolega klepal kod jak wariat, bo około tysiąca linijek dziennie. Na funkcjonalność którą ja tworzyłem, pisząc 5 linijek przemyślanego i elegancko zaprojektowanego kodu, kolega (który stwierdzał że ma doświadczenie, podobne do mojego) pisał paręset linijek kodu, jak nie parę tysięcy. Te same rzeczy w kodzie powtarzał nawet przez kilkanaście razy, zamiast rozdzielenia logiki na abstrakcyjne warstwy, wszystko klepał (prawdopodobnie, klepie do tej pory) wprost, po kilkaset linijek kodu w jednej funkcji, niektóre klasy zawierały powyżej 10000 linijek kodu. System absolutnie read-only. Jak trzeba było coś zmodyfikować, on tworzył każdą funkcjonalność od nowa, bo nawet sam nie był w stanie modyfikować swojego systemu. I to nie mówiąc o nazwach klas, zmiennych, tabel i pół w języku, oczywiście, polskim. Pracodawca uznał to za wzór profesjonalizmu. A ja uciekłem stamtąd jak tylko zorientowałem się o co chodzi. Przy czym, miałem problem z odzyskaniem pieniądz za wykonaną pracę. Broń Boże początkującemu programiście trafić do podobnej firmy.

W ogóle, broń Boże trafić do agencji marketingowej na pierwszą pracę na stanowisku programisty, ponieważ na samym początku kluczowe jest nauczenie się poprawnych procesów wytwarzania oprogramowania, zrozumienia podstawowych wzorców architektonicznych (nie tyle ich nazw, ile treści), zrozumienia zasad SOLID i ogólnie nauczenie się poprawnego projektowania i pisania kodu.

Jak szukać pierwszej pracy?

Praca prawdziwego programisty zaczyna się dużo wcześniej niż po studiach, bo już w podstawówce, jak nie wcześniej. Najlepiej, jeśli obok jest ktoś, kto zna się na programowaniu i, koniecznie, na procesie wytwarzania bezawaryjnego oprogramowania. Achillesowa pięta polskiego IT to właśnie proces wytwarzania oprogramowania. Same kodowanie, według moich obserwacji, wygląda jak wszędzie – ktoś pisze bardzo dobry, poprawny kod, a ktoś generuje syf read-only. Ale sam proces wytwarzania oprogramowania to jakaś tragedia – większość prezesów firm, produkujących oprogramowanie i zatrudnionych przez nich menedżerów projektów nie mają zielonego pojęcia o co z tym wszystkim chodzi. Jeśli ktoś z rodziców jest prawdziwym programistą, prawdziwym architektem systemów teleinformatycznych, albo jeśli Twój przełożony w pierwszej pracy jest prawdziwym ekspertem od wytwarzania oprogramowania i potrafi Cię nauczyć, no to masz wygraną. A co jeśli brak takiej osoby, a w pierwszej pracy obok i na górze nie ma prawdziwych informatyków?

Mam na to przepis:

  • swobodny angielski w mowie i piśmie;
  • znajdź pracę w amerykańskim outsourcingu.

Trudne? Nie jest łatwe, ale do zrobienia. Już pisałem o realnych wynagrodzeniach informatyków. Także jeśli interesują Cię wynagrodzenia z wyższej półki, trzeba trochę pracy w to włożyć. Nie jest tak że 15 000 zł miesięcznie bo stanowisko nazywa się programista, tylko osoba zatrudniona na tym stanowisku coś potrafi. Czyli najpierw musi porządnie się nauczyć.

Najlepiej jeśli zaczniesz projektować i programować oprogramowanie już w podstawówce. Koniecznie czytaj źródła (chociażby stackoverflow) w języku angielskim. Nie wiem jak sprawa wygląda w innych językach, ale z tych co ja potrafię czytać, to w angielskim i rosyjskim jest bardzo dużo wartościowych informacji. W polskim segmencie na razie mniej, ale idzie do przodu, bo co-raz więcej polaków uczestniczą w zagranicznych konferencjach, uczestniczą w zagranicznych projektach, co-raz więcej zagranicznych ekspertów przyjeżdża do Polski z wykładami, czyli branża się rozwija (może nie tak szybko jak w Stanach Zjednoczonych, ale na pewno się rozwija). Ewentualnie, prowadząc bloga informatycznego i kursy z programowania, uda mi się też przyczynić się do rozwoju polskiego IT.

10 porad na pierwszą pracę informatyka

1. Stwórz profesjonalne CV. To podstawa. Jeśli nie masz doświadczenia, tu znajdziesz artykuł o napisaniu CV.

2. Szukając pierwszej pracy, zdecydowanie lepiej iść do firmy, która będzie Cię poważnie szkolić i płacić mniej, niż do firmy która od razu zapłaci o stówę więcej, ale będziesz tam klepać HTMLa i konfigurować święte WordPressy, nadal nie mając zielonego pojęcia o programowaniu.

3. Wysyłaj tak dużo CV, jak tylko się da. Co-najmniej, 150…200 CV miesięcznie będzie dobrze. Nie czekaj aż ktoś odpowie. Wysyłaj CV aż nie będziesz miał/miała podpisanej umowy (najlepiej, o pracę). Pracodawcy potrafią odpowiedzieć na maila nawet za pół roku, a najczęstszej ignorują maili (nie wiem po co płacą kasę za ogłoszenia rekrutacyjne). Także z wysłanych 50 CV możesz liczyć na 3…5 odpowiedzi.

4. Na rozmowie rekrutacyjnej zapytaj o wszystko. Czy umowa (o pracę?) będzie podpisana z pierwszego dnia, przed rozpoczęciem pracy? Ile dokładnie dostaniesz na ręce? Kiedy jest wypłacane wynagrodzenie? Czy faktycznie przez ostatni rok było zawsze wypłacane w terminie? Czy oni świadomi tego że jesteś początkujący? Dopytaj się dlaczego chcą Cię zatrudnić? Ewentualnie, poprzedni kolega uciekł, bo warunki nie znośne, albo oszukali go z wynagrodzeniem itd. Z mojego doświadczenia wynika że pracodawcy dużo częstszej oszukują pracowników niż pracownicy pracodawców (co też się zdarza). Czy jest ktoś, kto potrafi Cię szkolić zawodowo? Jakie doświadczenia ma ten ktoś? Co dokładnie będziesz robił lub robiła w pracy? Jakich dokładnie technologii będziesz używać? Jak oni radzą sobie z terminami – wszystko powinno być na wczoraj czy na przedwczoraj? Ile osób zatrudniają akurat w tym biurze? Kim są ich klienci?

5. Pamiętaj, że na początku kariery (dopóki nie jesteś ekspertem) to pracodawca Ci dyktuje warunki, a nie na odwrót. Z tego powodu warto wybierać firmy, które mają doświadczenie w zatrudnieniu i szkoleniu początkujących informatyków, bo za dużo (wynagrodzenie) nie wynegocjujesz na tym etapie, a szkolenie jest wartością dodaną.

6. Już na rozmowie rekrutacyjnej zapytaj czy mają wdrożony proces produkcji oprogramowania czy po prostu klepią kod. Zwykle bez sensu pytać, bo większość polskich pracodawców nie mają zielonego pojęcia co to jest. Dlatego lepiej zadawaj konkretne pytania, tak żeby utrudnić pracodawcy unikanie odpowiedzi:

  • Ile architektów systemowych zatrudniają?
  • Jakim doświadczeniem dysponuje architekt systemowy, zatrudniony w ich firmie?
  • Jak dawno on czy ona pracuje dla tej firmy? Powinien być co-najmniej jeden architekt. Może to być doświadczony programista (od 15 lat w górę).
  • Ile zatrudniają testerów?
  • Czy są to profesjonalni testerzy?
  • Czym jeszcze zajmują się testerzy w pracy?

Powinni to być osoby, specjalnie szkoleni i zatrudnieni wyłącznie do testowania oprogramowania. Jeśli okaże się że osobnych testerów nie zatrudniają, albo testerzy wykonują w firmie inne zadania, poza testowaniem i raportowaniem błędów – uciekaj z rozmowy rekrutacyjnej już na tym etapie, bo potencjalny pracodawca, prawdopodobnie, nie ma zielonego pojęcia o procesie wytwarzania oprogramowania. A Ci na tym etapie bardzo zależy na profesjonalnym zespole.

7. Zapytaj o szczegóły wdrażania produktu u klienta. Powinno Cię interesować czy to nie programista, czasem, wdraża produkt u klienta. Firma powinna zatrudniać osobnych specjalistów czyli wdrożeniowców. Programista powinien siedzieć w komfortowym biurze, mieć co-najmniej 2 monitory od 21 cali w górę i tworzyć bezawaryjne oprogramowanie. Jeśli potencjalny pracodawca ma inaczej – coś z nim jest nie tak.

8. Jako pierwszą pracę, omijaj szerokim łukiem agencje marketingowe, firmy jednoosobowe i startupy. Na tym etapie potrzebujesz dużej, stabilnej firmy, najlepiej produktowej, a nie usługowej.

9. Na pierwszą pracę omijaj szerokim łukiem pracy w firmie ojca lub mamy. Musisz uczyć się walczyć. Walczyć samemu. Walczyć skutecznie, zwyciężyć, bronić swoich praw i wolności. W życiu cały czas trzeba walczyć. Tylko tak robi się sukces.

10. Nigdy nie przestawaj szukać pracy, chyba że sam lub sama staniesz się pracodawcą. Cały czas miej na LinkedIn, FB i innych portalach info, że w razie ciekawej oferty, co-najmniej, rozpatrzysz ją. Jeśli pracodawca zacznie zmieniać ustalone warunki, albo przed wypłatą wynagrodzenia będzie udawał że coś było ustalone inaczej (a to prawie klasyka) – musisz mieć inną ofertę, a najlepiej kilka do wyboru.

Portfolio początkującego programisty

Co jak nie masz jeszcze portfolio? Pracodawcy wymagają portfolio i doświadczenia, ale nie tłumaczą skąd ono powinno się pojawić.

Dlatego na początku artykułu napisałem i jeszcze raz wyraźnie podkreślam: informatyk to zawód który się zaczyna w podstawówce, od samego dzieciństwa. Żeby zarabiać tyle ile zarabiają dobrzy informatycy trzeba najpierw przez kilka lub kilkanaście lat harować jak wół, czytać dziesiątki, jak nie setki książek, cały czas na bieżąco śledzić za nowymi technologiami, które powstają dużo szybciej, niż przeciętny człowiek jest w stanie absorbować informacje.

Wykonuj pierwsze prace nawet bezpłatnie, ale wykonuj. Szukaj na FB w specjalnych grupach (jest ich mnóstwo) zleceń, powiedź ludziom wprost że jest początkującym, że chcesz stać się ekspertem lub ekspertką i na tym etapie nabijasz portfolio. Większość ludzi będą się śmiać (zazwyczaj to profesjonalne nieudaczniki), ale znajdą się adekwatni ludzie którzy pomogą Ci. W końcu napisz do mnie – ewentualnie pomogę. Najbardziej wartościowe roboty pokaż na własnej stronie internetowej. Nie masz własnej strony? To załóż ją tuż po przeczytaniu tego artykułu. Cały czas pracuj nad własną stroną. Cały czas je ulepszaj. Zrób najlepszą stronę w kraju.

Twórz inne własne projekty. Twórz na światową skalę. Twórz międzynarodowe projekty. Uczestnicz w projektach OpenSource. Na początku dołącz do jakiegoś projektu (oczywiście, bezpłatnie), a jak osiągniesz wyższy poziom, załóż swój własny OpenSource projekt. Niech to wszystko ląduje w Twoim portfolio. Będąc informatykiem, cały czas musisz zapieprzać jak wół, bo branża rozwija się dużo szybciej niż człowiek jest w stanie pochłaniać wiedzę, a Ty musisz być na szczycie wiedzy i umiejętności. Wtedy to Ty będziesz decydować o warunkach Twojej pracy. Wtedy to Ty będziesz dyktować pracodawcy warunki, a nie na odwrót.

Jeśli znalazłe[-a]ś błąd w tekście, bardzo proszę o powiadomienie administratora bloga. Zaznacz błędny tekst i wciśnij CTRL+ENTER.

Autor artykułu: Sergiusz Diundyk, ekspert ds. nowych technologii oraz automatyzacji procesów. Doradca z zakresu architektury oprogramowania, e-commerce i szeroko pojętego cyber-bezpieczeństwa. Więcej informacji 

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

Informacja o błędzie

Tekst zawierający błędy