Ścieżka programisty

Dlaczego programiści cały czas wyglądają na szczęśliwych? Odpowiedź na to pytanie jest prosta i zniechęcająca: mają pracę, którą kochają i mają dużo pieniędzy.

Witamy w świecie programowania!

Programiści dobrze zarabiają

Programiści dobrze zarabiają. Zacznijmy od tego, jak przedstawiają się zarobki programistów. Jak wyglądają pensje programistów oraz najlepsze i najgorsze miejsca ich pracy. Wszystkie sprzeczne informacje mogą utrudnić osobie niebędącej programistą samodzielne zrozumienie tego wszystkiego.

Głównym czynnikiem wpływającym na to, ile zarabia programista, nie są jego umiejętności. To tam pracuje. Jeden programista może zarabiać od 2 do 10 razy więcej niż inny programista, mimo że obaj mają takie same kwalifikacje!

Twoje kwalifikacje pozostają dość stałe z chwili na chwilę. Na przykład programista nie zdobywa dwukrotnie większego doświadczenia w ciągu jednego miesiąca, a potem jakoś nie spodziewa się, że zarobi dwa razy więcej pieniędzy. Ale równie dobrze możesz zmienić miejsce pracy w ciągu miesiąca i skończyć zarabiając dwa razy więcej niż wcześniej. Omówmy teraz najlepsze miejsca do pracy dla programisty.

Istnieją trzy czynniki, które mają największy wpływ na to, ile firmy płacą swoim programistom:

1) Czy pracodawcą jest firma programistyczna, czyli firma, której głównym produktem jest oprogramowanie

2) Czy firma koncentruje się na rynkach międzynarodowych czy krajowych

3) Czy właścicielem firmy jest firma zagraniczna czy krajowa.

Ważne jest, aby zwrócić uwagę na lokalizację potencjalnego pracodawcy, zastanawiając się, ile chcesz zarabiać za tworzenie oprogramowania. Na przykład, jeśli mieszkasz w Dreźnie, możesz zarabiać dziesięć razy mniej za tworzenie oprogramowania niż twój przyjaciel mieszkający w Nowym Jorku. W takim przypadku działają czynniki wymienione powyżej.

Rzeczywiste liczby

Ponieważ wynagrodzenia są różne w różnych częściach świata, proponuję przyjąć jako punkt wyjścia pensję starszego programisty Java z 5-letnim doświadczeniem i nazwać ją „maksimum 5 lat”. Wszystkie poniższe wartości zostaną podane jako procent tej kwoty. Oto kilka przykładów „maksymalnych 5-letnich” zarobków w różnych miastach świata: Opiszmy sytuację w Europie Wschodniej, która generalnie dotyczy wszystkich krajów, w których outsourcing/outstaffing IT jest dość popularny.

Oto, ile może zarobić starszy programista Java z pięcioletnim doświadczeniem zawodowym, w zależności od pracodawcy:

Poziom Miesięczne wynagrodzenie Opis
1 200 $ — 500 $ Na najniższym poziomie płac mamy firmy, których głównym produktem lub działalnością nie jest IT. Firmy te są własnością państwa i zazwyczaj koncentrują się na rynku krajowym. Na przykład dział IT urzędu skarbowego lub innej organizacji państwowej.
2 500 $ — 1500 $ Poniżej średniej – działy IT w różnych instytucjach pozarządowych (np. banki itp.).
3 1000 $ - 2500 $ Średnia – firmy tworzące oprogramowanie.
4 3000 $ - 4000 $ Powyżej średniej – firmy programistyczne z klientami zagranicznymi.
5 4000 $ - 5000 $ Na samej górze – firmy programistyczne, których klientami i właścicielami są podmioty zagraniczne. Takich firm jest bardzo mało. Oferty pracy są rzadkie i zwykle trudno je zdobyć. Od czasu do czasu jednak się pojawiają.
Ścieżka programisty 2

Co jest w tym najdziwniejszego?

Połowa wszystkich programistów pracuje dla firm poziomu 1 i 2.

Chcesz poznać haczyk?

Istnieją setki wakatów w firmach poziomu 3 i 4. Są skłonni zaoferować wyższe płace i zazwyczaj znacznie lepsze warunki pracy.

Oto prawdziwa sytuacja: jest dwóch młodszych programistów Java. Jeden z nich dostał pracę za około 3% „5-letniego maksimum” (w firmie Poziomu 1), a drugi dostał pracę za 30% „5-letniego maksimum” (Poziom 4). Dlaczego zarabiać mniej?

Co możesz zrobić, jeśli nie przestaniesz

Dodatkowo, jeśli będziesz nadal doskonalić swoje umiejętności programistyczne, stale inwestując w swoją edukację programistyczną, to kwota, którą zarobisz, począwszy od dzisiaj, będzie rosła w następujący sposób (+/- kilkaset dolarów, w zależności od miasta, w którym pracujesz ):

Plan

0-3 miesiące (Student)

Niewiele wiesz o programowaniu. Być może nauczyłeś się już trochę o programowaniu w szkole średniej i/lub na studiach, ale Twoja wiedza jest tylko powierzchowna.

Twoje zadanie – Naucz się programować, studiując język programowania Java.

Twój cel – dostać pracę jako młodszy programista Java w firmie poziomu co najmniej 3.

Pamiętaj, że przez pierwsze trzy miesiące planu nie otrzymasz żadnej zapłaty. Skupisz się tylko na nauce języka Java. Pamiętaj też, że w przyszłości, kiedy masz rodzinę i być może dużo długów finansowych, znacznie trudniej będzie zmienić karierę. Jeśli tak się stanie i będziesz chciał naprawić swój błąd, będziesz musiał oszczędzać pieniądze przez rok, aby sfinansować zmianę kariery. Na wynos jest uniknięcie głupich błędów zawodowych.

3-15 miesięcy (młodszy programista Java)

Na tym etapie swojej kariery powinieneś już pracować jako programista Java. Twoje rozumienie języka i umiejętności programistyczne powinny być coraz lepsze każdego dnia. Ale to nie czas na relaks. Musisz się jeszcze więcej nauczyć, zanim spoczniesz na laurach.

Twoje zadanie — poznaj technologie, których będziesz potrzebować jako programista średniego poziomu. Jakie to technologie? Świat się zmienia. Dajemy Ci teraz kilka rad, ale życie wszystko zmienia. Znajdź kilka ofert pracy opublikowanych online dla programistów Java i przejrzyj wymagania dotyczące pracy. Sugeruję również przeczytanie książki Bruce'a Eckela "Thinking in Java".

Twoim celem w pierwszym roku pracy jako młodszy programista Java jest rozwój do poziomu programisty Java średniego poziomu. Nikt nie mówi, że będzie to łatwe, ale jest to możliwe dla osoby zorientowanej na cel. Natychmiast zwiększy twoją pensję do 40% „5-letniego maksimum” (64 000 $ dla SF i Londynu, 12 000 $ dla Bangalore).

2 rok pracy jako programista (Mid-Level Java Developer, Level 1)

Pracowałeś dobrze przez ostatni rok, a teraz jesteś programistą Java średniego poziomu. Możesz żyć całkiem nieźle, zarabiając 50% pensji starszego programisty Java. Dostajesz kilka poważnych zadań w pracy, a twoje doświadczenie znacznie rośnie. Za dwa lub trzy lata zostaniesz starszym programistą Java. Nie ma pośpiechu. Twoja pensja i tak szybko nie wzrośnie.

Twoje zadanie — poznaj wzorce projektowe i przeczytaj „Code Complete” autorstwa McConnella. Popraw jakość swojego kodu i rozwijaj umiejętność pracy w zespołach. Możesz przyjąć zasadę czytania jednej książki informatycznej każdego miesiąca. A za rok będziesz o 12 książek mądrzejszy od swoich współpracowników. Tylko pamiętaj, aby nie odkładać tej nauki, ponieważ najprawdopodobniej nigdy nie będziesz miał więcej wolnego czasu w przyszłości. Całkiem możliwe, że założysz rodzinę, a jeśli już ją masz, być może się powiększy.

Twój cel — Wybierz kilka technologii, w których chcesz się specjalizować jako starszy programista. Wszystkiego i tak się nie nauczysz. Warto zostać guru w jednej wąskiej dziedzinie.

3 rok pracy jako programista (Mid-Level Java Developer, Level 2)

Jesteś teraz doświadczonym programistą średniego poziomu i myślisz o zostaniu starszym programistą. Jest przyjemny i prestiżowy. Twoja pensja przekracza 60% „5-letniego maksimum” (18 000 USD w Bangalore, 24 000 USD w Kijowie, 66 000 USD w Berlinie, 75 000 USD w Nowym Jorku). Od tego momentu popyt na profesjonalistów takich jak Ty przewyższa podaż. Zawsze będziesz w stanie znaleźć pracę w ciągu kilku dni i prawdopodobnie nigdy nie będziesz zarabiać mniej niż teraz. Oczywiście jeśli nie zrobisz nic głupiego.

Twoje zadanie – Kontynuuj naukę wybranych technologii. Kontynuuj ciężką pracę, nie dla dobra pracodawcy, ale dla siebie. Poproś o udział w projektach z zaawansowanymi technologiami, takimi jak Big Data. I tak będziesz spędzać w biurze osiem godzin dziennie, więc równie dobrze możesz zarabiać trochę więcej i, co ważniejsze, zdobyć cenne doświadczenie, którego będziesz potrzebować w przyszłości.

Twój cel – Zdobądź nową pracę. Wszędzie są dobrzy ludzie. W nowej firmie będziesz pracować nad nowymi projektami i technologiami. Nie przywiązuj się zbyt wcześnie do biurka. Jeśli nadal pracujesz w firmie poziomu 3, zacznij myśleć o przejściu do firmy poziomu 4. Piąty poziom, choć może się wydawać atrakcyjny, wciąż jest poza twoim zasięgiem.

4 rok pracy jako programista (Senior Java Developer, Level 1)

Jesteś teraz starszym programistą. Gratulacje. Może nie zasłużyłeś na to i czujesz to. Mimo wszystko moje gratulacje. Nie ma znaczenia, czy jesteś teraz godny swojej pozycji. Liczy się tylko to, abyś w przyszłości stał się tego godny. Myślę, że zgodzisz się ze mną, że lepiej jest znaleźć dobrą pracę, a następnie rozwinąć się do wymaganego poziomu, niż na odwrót.

Mam nadzieję, że nie zapomniałeś o mojej radzie czytania jednej książki miesięcznie? Każdy student będzie teraz zazdrościł Twojej wiedzy i umiejętności. Bardziej prawdopodobne, że będzie się za nich modlił. Pomyśl tylko: zarabiasz poważne pieniądze, blisko 90% pensji „maksymalnej 5 lat”. Pewnie jesteś jeszcze młody. Świat jest u twoich stóp.

Twoje zadanie – Ponowna ocena wybranych technologii. Może trzeba zmienić specjalizację. Świat się zmienił, technologie się zmieniły, a ty zdobyłeś całkiem sporo wiedzy w ciągu ostatnich dwóch lat. To, co wybierzesz teraz, zostanie z Tobą na kilka następnych lat. Czas wybrać swoje ulubione technologie.

Twój cel – Wybierz obszar dalszego rozwoju. Jest wiele. Zbyt wiele, by wymienić, ale musisz teraz wybrać. Małe zmiany dzisiaj spowodują duże zmiany w przyszłości.

5 rok pracy jako programista (Senior Java Developer, Level 2)

Określiłeś swoją przyszłość i pracujesz nad realizacją swojego marzenia. Dzięki odpowiedniej specjalizacji i chęci pójścia naprzód, nie potrwa długo, zanim zobaczysz wyniki. Gratulacje. Cieszymy się, że jeszcze jedna osoba na świecie jest teraz bardziej zadowolona ze swojej kariery.

Oto jeszcze jedna dobra rada: ludzie często przeceniają to, co mogą osiągnąć w ciągu jednego roku, a nie doceniają tego, co mogą osiągnąć w ciągu pięciu lat. Przypomnij sobie ostatnie pięć lat swojego życia. To prawda, prawda?

Twoje zadanie – Nie podejmuj głupich decyzji. Nie bądź obojętny na swoje cele.

Twój cel – Wybierz obszar i idź do przodu. Myślałeś, że to koniec? Pamiętasz, kiedy skończyłeś szkołę? To nie koniec – to dopiero początek.

Przyszła specjalizacja

Możesz rozwijać się jako ekspert techniczny (górna branża), menedżer (niższa branża) lub profesjonalny/niezależny konsultant (środkowa branża). Wszystko zależy od twoich preferencji.

Kariera programisty

Programowanie różni się od innych zawodów. Dzięki programowaniu nie trzeba być managerem, żeby dobrze zarabiać. W wielu przypadkach starszy programista zarabia więcej niż jego szef. Im więcej doświadczenia zdobędziesz, tym szybciej Twoje relacje z kierownictwem zmienią się z „pracownika-menedżera” na „supergwiazdę-agenta”. Znający swoją wartość programiści mogą wybierać najciekawsze projekty do pracy lub obsadzać najciekawsze oferty pracy. Oklaskujmy wszystkich programistów, którzy spełnili to marzenie!

Co musi zrobić osoba, aby zostać czołowym programistą cieszącym się dużym zainteresowaniem na całym świecie? Musisz mieć duże doświadczenie w najnowszych gorących technologiach. Jak to zrobić? Czytaj dalej.

Gdy dostaniesz swoją pierwszą pracę jako programista, wydarzą się dwie rzeczy, być może nawet bez Twojej wiedzy.

1. Szybko zdobędziesz doświadczenie w pracy przy prawdziwych projektach. Rok pracy jako programista może dać ci znacznie bardziej adekwatną wiedzę i umiejętności niż pięć lat studiów uniwersyteckich. To doświadczenie jest często wymieniane w ogłoszeniach o pracę w IT: „Potrzebujemy programisty Java z trzyletnim stażem”.

2. Będziesz się uczyć nowych technologii osiem godzin dziennie i będziesz za to zarabiać. Trudno nie docenić znaczenia tego. Czasami te nowe umiejętności są tak ważne, że możesz pracować za darmo, a nawet płacić pieniądze, aby je zdobyć. Jeśli starannie wybierzesz swoje projekty, będziesz wspinać się po szczeblach kariery.

Co powinienem wybrać?

Jeśli nie wiesz, jakie technologie będą Ci przydatne w przyszłości, możesz zacząć wybierać technologie w oparciu o „to mi się podoba” i „tamto mi się nie podoba” lub „to jest modne” i „to jest nie w modzie". To podejście zależy całkowicie od szczęścia. Dlatego zawsze lepiej wiedzieć z wyprzedzeniem, gdzie chcesz się znaleźć.

Programista może się rozwijać na wiele sposobów. Wspomnimy o niektórych z nich i przedstawimy naszą opinię. Ale nie traktuj mojego słowa jako jedynej prawdy. Po prostu zapewniam uproszczony wygląd, aby wszystko było dla ciebie jaśniejsze.

Bądź wiecznym programistą

Bądź wiecznym programistą

Jeśli Twoim ulubionym zajęciem jest pisanie kodu, powinieneś zostać starszym programistą, następnie liderem technicznym, a następnie architektem. Możesz też po prostu pracować jako programista przez 50 lat. Pensje starszych programistów i kierowników technicznych są często wyższe niż pensje ich menedżerów. Nie możesz przegrać.

Bądź menedżerem. Masz szczęście, jesteś wyjątkowy.

Przeszedłeś na stronę wroga. Żartuję. Jeśli czujesz, że masz dobre zdolności organizacyjne, to może to być Twoja ścieżka: Lider Zespołu, potem Kierownik Projektu. Daje to szansę zostania dyrektorem i pomoże ci, jeśli chcesz otworzyć własny biznes. Chcesz tego, prawda?

Umów się na przejażdżkę.

Jeśli masz rodzinę i dzieci, prawdopodobnie próbujesz zbudować spokojne i dostatnie życie w kraju o stabilnej gospodarce. Być może myślisz o przeprowadzce/emigracji do Kanady, Stanów Zjednoczonych, Szwajcarii, a nawet Australii. Masz wielkie umiejętności i zawód, na który jest duże zapotrzebowanie. Nie będziesz musiał zaczynać od dołu i możesz zacząć jako starszy programista Java z dobrą pensją. To nie byłoby takie złe.

Zobacz cały świat (oprócz Paryża) bez umierania.

Załóżmy, że nie masz jeszcze rodziny i chcesz podróżować. Upwork jest dla Ciebie. Znajdź klienta, wynegocjuj stawki (20-50 USD za godzinę), weź laptopa i pracuj w drodze! Zarobisz wystarczająco dużo pieniędzy, aby mieszkać w dowolnym miejscu na świecie. Dlaczego nie zacząć żyć swoim marzeniem już teraz?