JavaRush /Blog Java /Random-PL /Jak oszacować swoją wartość na rynku pracy: poradnik dla ...

Jak oszacować swoją wartość na rynku pracy: poradnik dla programistów

Opublikowano w grupie Random-PL
Jaką wysokość wynagrodzenia podać na rozmowie kwalifikacyjnej? Czy mogę prosić o podwyżkę wynagrodzenia? Wszystkie te pytania wynikają z faktu, że deweloper nie wie, ile kosztuje jego praca, lub błędnie szacuje jej wartość. W tym artykule podkreślimy czynniki, które wpływają na kształtowanie się wynagrodzenia programisty. Przeanalizujemy ogólne wyobrażenia na temat tego, co zwiększa wartość specjalisty IT na rynku pracy, a także przedstawimy ocenę tych czynników przez doświadczonych programistów – naszych absolwentów i eksperta z EPAM. Jak oszacować swoją wartość na rynku pracy: poradnik dla programistów - 1

Poziom doświadczenia zawodowego

To banalne, ale rekruterzy w pierwszej kolejności zwracają uwagę na doświadczenie zawodowe. A 20 lat temu, teraz i w przyszłości kandydaci z imponującym doświadczeniem mogą kwalifikować się do wyższego wynagrodzenia niż nowicjusze. To proste: dopiero dzięki doświadczeniu programista nabywa cenne umiejętności - pisze czytelny i funkcjonalny kod, potrafi zrozumieć cudzy i mylący kod, widzi zadanie „w ogóle”, a nie tylko w szczegółach.

Stos technologii

Na wysokość wynagrodzenia wpływają także języki programowania czy specyficzne rozwiązania techniczne stosowane przez programistę. Programista na poziomie podstawowym, z niewielkim lub żadnym doświadczeniem, będzie kosztować mniej niż guru programowania. Mniej popularne technologie, w tym Clojure, Rust, Elixir lub odwrotnie, stosy technologii, na które jest obecnie popyt, takie jak Go lub Swift, zwykle mają wyższą cenę. Do najlepiej płatnych języków programowania należą Golang, Perl, Shell scripting, Node.js/JavaScript, Java , Typescript, Python, Ruby, Swift, C#, pisze „How I got the Job” na podstawie danych amerykańskiego Biura ds. Statystyka pracy. Stos technologiczny obejmuje także wiedzę na temat dodatkowych frameworków i narzędzi.

Specjalizacja programista

Programiści, którzy opanowali złożone technologie, otrzymują wyższe pensje niż ich koledzy na rynku. Przykładowo specjalista ds. uczenia maszynowego w USA może zarobić około 110 tys. dolarów rocznie (około 9 tys. dolarów miesięcznie). Na Ukrainie specjalista uczenia maszynowego może zarobić od 5 do 7 tysięcy dolarów miesięcznie, w Rosji około 3-4 tysiące dolarów. Jeśli pomysł na produkt ma zawiłą logikę, oznacza to, że trudniej jest go opracować, przetestować i wdrożyć. Niezależnie od tego, czy chodzi o złożoność technologiczną, czy o złożoność projektu, stawki godzinowe wzrosną proporcjonalnie do liczby funkcji.

Umiejętności miękkie

Jasne, umiejętności techniczne są kluczowe w świecie rozwoju, ale w dzisiejszym technologicznym społeczeństwie umiejętności miękkie są cenione bardziej niż kiedykolwiek wcześniej. Programiści, którzy poprawili swoje umiejętności komunikacyjne, adaptacyjne i społeczne oraz posiadają znaczny zestaw umiejętności technicznych, zazwyczaj zarabiają więcej niż ci, którzy posiadają jedynie umiejętności techniczne.

Kraj zamieszkania i zatrudnienia

Koszt zatrudnienia programisty na Ukrainie czy w Rosji będzie się różnić od kosztu zatrudnienia tego samego programisty w USA. Według badań przeprowadzonych przez Devox Software stawki godzinowe programistów są znacznie niższe w Europie, Afryce i Ameryce Południowej w porównaniu z Kanadą i Stanami Zjednoczonymi.

Spostrzeżenia programistów i absolwentów JavaRush: co wpływa na poziom wynagrodzeń

O znaczeniu doświadczenia

W naszej ankiecie oceny stanowisk wzięli udział absolwenci JavaRush – prawie wszyscy z nich pracują w branży IT od kilku lat. Najpierw porozmawiajmy o korelacji pomiędzy stażem pracy a wynagrodzeniem. Tak czy inaczej, większość programistów uważa, że ​​doświadczenie zawodowe wpływa na poziom wynagrodzeń. Poprosiliśmy ich o ocenę, jak ważne jest doświadczenie dla wzrostu wynagrodzenia z 0 do 9. Około 27% programistów głosowało na ocenę 7, kolejne 17% na ocenę 6. Kolejne prawie 12% oceniło znaczenie doświadczenia na 5 punktów . Wynik ten oznacza, że ​​współczynnik stażu pracy jest ważny, ale nie decydujący przy ustalaniu poziomu wynagrodzenia dewelopera. Jak oszacować swoją wartość na rynku pracy: poradnik dla programistów - 2

O równowadze kompetencji twardych i miękkich

W zakresie umiejętności technicznych wpływających na wysokość wynagrodzenia programisty Java respondenci podkreślali znajomość następujących technologii i narzędzi:
  • Java Spring (w szczególności rozruch, dane, bezpieczeństwo),
  • Hibernować
  • Konfigurowanie i praca z NoSQL i SQL,
  • DBMS ( System Zarządzania Bazami Danych – wyd.),
  • rozwój fullstack (AngularJS, ReactJS),
  • wątki,
  • Mydło,
  • Git,
  • Doker
  • Kubernetes,
  • Chmura (AWS/GCP/Azure).
„Umiejętność googlowania bardzo pomaga na początku, ale im głębiej nurkujesz, tym więcej musisz wiedzieć. Dogłębne zrozumienie wykorzystywanych narzędzi pozwala na szybki wybór i wdrożenie odpowiedniego rozwiązania. Zwiększa to „ciężar osobisty” specjalisty – zauważa Evgeniy.
Wśród umiejętności „miękkich” , które wpływają na poziom wynagrodzeń, programiści podkreślają odpowiedzialność, towarzyskość, elastyczność, wytrwałość i odporność na stres.
„Umiejętność interakcji z zespołem i menedżerami jest bardzo ważna. Umiejętność krótkiego i jasnego przekazywania swoich myśli, umiejętność doceniania czasu własnego i innych, umiejętność słuchania i zgadzania się” – mówi Władimir.
„Umiejętność prawidłowego przedstawienia informacji konkretnej osobie jest bardzo cenna” – dodaje Daniel.
Wśród czynników wpływających również na poziom wynagrodzeń programiści podkreślają networking (umiejętność nawiązywania kontaktów ze współpracownikami i przyszłymi pracodawcami), ciągłe doskonalenie w rozwoju, pomyślną zmianę pracy i szybkość uczenia się.
„Ale najważniejszym narzędziem jest trzeźwa ocena swoich umiejętności i silna wiara w siebie i swoje możliwości!” – zauważa Artem.

Jak śledzić zgodność wynagrodzenia z wykonywaną pracą

Zapytaliśmy także programistów, w jaki sposób monitorują, czy ich wynagrodzenia są proporcjonalne do ich złożoności pracy i doświadczenia. Oto następujące źródła do śledzenia:
  1. Wywiady (przechodź do nich okresowo);
  2. Przyjaciele, znajomi z branży IT;
  3. Strony z ofertami pracy i specjalistyczne zasoby dla programistów; (LinkedIn, Dou, Habr, Djinni).

Zadowolenie z poziomu wynagrodzeń

Na koniec zapytaliśmy programistów, czy są obecnie zadowoleni ze swojej pensji. 63% odpowiedziało, że jest zadowolonych, prawie 30% że jest niezadowolonych, a kolejne 7% znalazło się w kategorii „Inne”.
„Obecnie balansuję między doskonaleniem swoich umiejętności a zarabianiem, więc muszę zarabiać mniej, pracując nad bardziej złożonymi i interesującymi projektami. Chociaż możesz zyskać 1,5–2 razy więcej, pijąc jakieś internetowe śmieci” – mówi Michaił.
Jak oszacować swoją wartość na rynku pracy: poradnik dla programistów - 3

Opinia eksperta

Jak oszacować swoją wartość na rynku pracy: poradnik dla programistów - 4Koszt specjalisty na rynku to osobliwa formuła. Na pewno obejmuje umiejętności twarde (czyli bezpośrednią znajomość technologii) i umiejętność ich stosowania. Ten ostatni punkt jest ważny, ponieważ widziałem wielu znakomitych teoretyków z wieloma różnymi certyfikatami, którzy wykonali swoją pracę nie tak skutecznie, jak się od nich oczekiwano. I o ile same umiejętności technologiczne dość łatwo jest sprawdzić podczas rozmowy kwalifikacyjnej (w EPAM wykorzystujemy do tego własną platformę do rozmów kwalifikacyjnych, na której kandydaci piszą kod), o tyle zaradność i efektywność są już trudniejsze. A jednak jest to możliwe: należy pamiętać, że niektóre firmy proszą o rekomendacje od byłych pracodawców (nawiasem mówiąc, EPAM nie ma takiej praktyki), istnieje też poczta pantoflowa. Reputacja zawodowa może być zarówno Twoim plusem, jak i minusem. Oczywiście wymagana jest znajomość języka angielskiego. Na przykład w EPAM Ukraine praktycznie nie bierzemy pod uwagę kandydatów bez tej umiejętności. Wymagany poziom znajomości języka angielskiego zależy od wakatu, na który kandydat aplikuje oraz jego bezpośrednich zadań. Ogólnie rzecz biorąc, dla inżynierów wskazana jest znajomość języka na poziomie co najmniej B1, dla analityków biznesowych - co najmniej B2. Zdarza się, że specjaliści z bardzo podstawową znajomością języka angielskiego mają doświadczenie w pracy z klientem zagranicznym, ale obiektywnie zawsze jest to trudne. Ale znajomość innych języków obcych nie jest wymagana tak często. Zdarzają się sytuacje, gdy potrzebujemy analityka biznesowego ze znajomością języka francuskiego lub testera ze znajomością języka szwedzkiego, ale są to rzadkie przypadki. Dla sukcesu specjalisty ważne są także kompetencje miękkie. Prawie najważniejsza jest umiejętność prawidłowego i grzecznego komunikowania się z klientami i współpracownikami. Jest to szczególnie odczuwalne w międzynarodowej firmie: nadal warto zrozumieć, że w korespondencji poprawne jest pisanie „czy mógłbyś”, ale „czy możesz” jest już niegrzeczne (a to tylko jeden przykład, który ponownie prowadzi nas z powrotem do kwestia języka angielskiego). Jeśli chodzi o klientów, inżynierowie w EPAM mają możliwość komunikowania się z różnymi przedstawicielami klientów: są to pracownicy techniczni, menedżerowie i menedżerowie na poziomie stacji paliw lub dyrektor generalny firmy. Oczywiście trzeba umieć się z nimi porozumieć – i to na różne sposoby! Jeśli wyjaśnisz przedstawicielowi firmy, że czas dostaw ulega skróceniu, ponieważ zespół nie zbudował poprawnie modelu klasy obiektowej, wtedy spojrzy na ciebie jak na kosmitę. W takim przypadku ważniejsze jest wskazanie, kiedy problem zostanie rozwiązany. Lub, powiedzmy, rozpoczynasz pracę nad projektem dla dużego przedsiębiorstwa z branży ubezpieczeniowej ze 150-letnią historią. Nie należy od razu narzucać takiemu klientowi najnowszych rozwiązań Agile i procesów CI/CD, ponieważ jego kultura i dynamika są inne. Takie zrozumienie kontekstu klienta wiąże się z doświadczeniem i możliwością pracy z różnymi klientami i przedstawicielami biznesu. Musisz także umieć ustalić priorytety i zrozumieć biznes. Brak tego ostatniego jest częstym problemem wśród inżynierów. Większość absolwentów kierunków technicznych jest gotowa zanurzyć się w kodzie i ciężko pracować, aby uczynić go idealnym, ale często nie widzą szerszego obrazu: czego potrzebuje klient i jak użytkownicy będą korzystać z produktu. Taka krótkowzroczność inżyniera może spowodować, że pokaźna suma pieniędzy zostanie zmarnowana. Pamiętaj, że branża nie stoi w miejscu, a specjaliści IT, podobnie jak lekarze, muszą się ciągle uczyć. Przeczytane książki, artykuły, udział w konferencjach (w tym w roli prelegenta), domowe projekty, wysokiej jakości GitHub – to wszystko może być dla Ciebie dodatkowym atutem na rozmowie kwalifikacyjnej. Polecam także rozejrzeć się za full-stackem. Właśnie tego teraz oczekują klienci. Co więcej, full-stack jest rozumiany inaczej: dla jednych jest to specjalista, który potrafi wykonać zarówno back-end, jak i frontend, a dla innych jest to inżynier, który pisze kod i testy. Tak czy inaczej, im szersza jest Twoja wiedza, tym lepiej. Czy zgadzasz się z czynnikami wpływającymi na poziom wynagrodzenia programisty? A może coś innego może wpłynąć na wartość specjalisty IT na rynku? Czekamy na Wasze komentarze ;)
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION