CodeGym /Blog Java /Random-PL /Jak to jest być starszym programistą. Krótki przewodnik p...
John Squirrels
Poziom 41
San Francisco

Jak to jest być starszym programistą. Krótki przewodnik po roli

Opublikowano w grupie Random-PL
Tradycyjnie w branży technologicznej programiści są podzieleni na cztery stopnie w zależności od ich poziomów kwalifikacji: Junior, Middle, Senior i Team Lead. W dwóch poprzednich artykułach omówiliśmy już wszystkie podstawy bycia programistą na poziomie młodszym i średnim . Teraz czas przejść do kolejnej gradacji. Senior Developer, jak to jest nim być i czym Senior różni się od programisty średniego poziomu? Dowiedzmy Się. Jak to jest być starszym programistą.  Krótki przewodnik po roli — 1

Kim jest starszy programista?

W tego typu artykułach o zawodach i specjalizacjach w programowaniu zawsze musimy zrobić jakieś zastrzeżenie, tłumacząc, że postrzeganie i rozumienie danej pozycji może się znacznie różnić w zależności od firmy, branży, w której działa i innych czynników . Niektórzy ludzie, głównie ci, którzy wydają się być nieco konserwatywni, uważają, że możesz nazywać się Seniorem tylko wtedy, gdy masz ponad 10 lat doświadczenia w programowaniu, co jest odpowiedzialne. Oznacza to, że liczą się tylko lata, w których faktycznie programowałeś jako pełnoetatowy pracownik, nie możesz zacząć liczyć od momentu, gdy po raz pierwszy spróbowałeś programować w Basicu w wieku 12 lat (co robi wielu młodych programistów, wkurzając prawdziwych starszych programistów ). Będąc mniej konserwatywnym, wiele osób uważa, że ​​więcej niż pięć lat pełnoetatowej pracy jako programista pozwala nazywać się Seniorem. Z drugiej strony lata doświadczenia to tylko liczba, tak naprawdę liczy się wiedza, umiejętności i odpowiednie doświadczenie. Tutaj trzeba się naprawdę postarać, aby zasłużyć na tytuł Seniora, ponieważ Senior Developer jest często postrzegany jako wszechwiedzący, wszechmocny kreator kodowania. W percepcji kierownictwa Senior to zwykle osoba, która wie, jak rozwiązać dowolne zadanie związane z projektem lub jak napisać wymagany kod. Ale jedną z najważniejszych funkcji starszego programisty w konkretnym projekcie tworzenia oprogramowania jest znajomość samego projektu ze wszystkimi jego problemami, potrzebami, niuansami i tak dalej. Zdolność do samodzielnej pracy jest ważną cechą Seniora. Oznacza to, że Senior wie co i kiedy ma robić, i nie potrzebuje nadzoru, aby wykonać pracę, którą ma wykonać. A to dość cenna cecha w oczach każdego pracodawcy, ponieważ oznacza, że ​​możesz powierzyć temu programiście zadanie związane z projektem, a resztę pozostawić jemu/jej. „Cała reszta” to: określenie potrzeb, wymagań i ograniczeń zadania do wykonania, znalezienie odpowiedniego podejścia, znalezienie odpowiednich narzędzi, podzielenie dużego zadania na mniejsze zadania i przekazanie ich poziomowi średniemu i niższemu Deweloperzy itp. Jest jeszcze jeden ważny aspekt, który odróżnia seniorów od programistów średniego i młodszego poziomu. Jest w kodzie, który piszą, i sposobie, w jaki to robią. Senior zwykle jest i powinien być tym, który pisze najbardziej przejrzysty, prosty i zwięzły kod. Czasami do tego stopnia, że ​​ten kod wygląda na zbyt prosty i prymitywnie prosty. Dzieje się tak dlatego, że Senior musi brać pod uwagę nie tylko ukończenie zadania jako wynik końcowy, ale także ogólny wpływ nowego kodu na bazę kodu projektu. Starsi programiści piszą swój kod z myślą o łatwości konserwacji i skalowalności, a to jest ich główna siła, która może przyjść tylko z doświadczeniem i niczym więcej.

Jakie są obowiązki Senior Developera?

Porozmawiajmy teraz bardziej szczegółowo o niektórych najbardziej standardowych i powszechnych obowiązkach Senior Developera, naturalnie skupiając się na obowiązkach typowych dla programistów Java.
  • Identyfikacja i analiza wymagań użytkowników;
  • Ustalanie priorytetów, przydzielanie i wykonywanie zadań związanych z kodowaniem;
  • Tworzenie aplikacji w Javie;
  • Przeglądanie kodu pod kątem dokładności i funkcjonalności;
  • Regularne analizowanie segmentów kodu;
  • Bycie na bieżąco z nową technologią i nauczanie młodszych programistów, jak z niej korzystać;
  • Generowanie pomysłów i rozwiązań związanych z cyklem rozwojowym z innymi członkami zespołu;
  • Przyjmowanie ogólnej odpowiedzialności za wszystkie prace rozwojowe i kod projektu.

Wymagania dla starszego programisty

Oto lista najczęstszych i typowych wymagań dla Senior Developera, które powinieneś spełnić, aby dostać tę pracę. Oczywiście wymagania będą się różnić w zależności od polityki zatrudniania firmy, technologii używanych w projekcie i języka programowania.
  • Rozległa ogólna wiedza na temat tworzenia oprogramowania i jego technologii;
  • Dobra znajomość Javy;
  • Doświadczenie w projektowaniu, budowaniu i testowaniu aplikacji korporacyjnych;
  • Dogłębna znajomość popularnych frameworków Java, takich jak Spring, Spring Boot, Java EE, JSF i inne;
  • Doświadczenie w projektowaniu zorientowanym obiektowo (OOD).
Są to tylko podstawowe wymagania związane z programowaniem, ale wiedza techniczna często nie wystarcza, aby dostać pracę jako Senior Developer, ponieważ jest tak wiele innych ważnych umiejętności, które składają się na silnego Seniora. Oto niektóre często wymieniane wymagania niezwiązane z technologią dla starszego programisty.
  • Dobre umiejętności delegowania i zarządzania czasem;
  • Umiejętności rozwiązywania problemów;
  • Dobre umiejętności komunikacyjne;
  • Silne umiejętności komunikacji pisemnej i werbalnej;
  • Umiejętność dotrzymywania terminów i strategicznego myślenia.

Ile zarabiają starsi programiści?

Jak być może wiesz, jeśli chodzi o wynagrodzenia za pracę programisty w USA, dla doświadczonego Senior Developera niebo jest granicą, ponieważ giganci tacy jak Google, Facebook, Amazon, Apple i Microsoft płacą inżynierom oprogramowania DUŻO . Na przykład w Google inżynier oprogramowania na poziomie 7, który jest uważany za najwyższy, jaki można uzyskać jako programista, może zarobić łącznie 608 000 USD rocznie. Ale przejdźmy przez średnie liczby. Według Glassdoor przeciętny starszy programista w USA zarabia około 121 000 USD rocznie, co jest znacznie wyższe w porównaniu z pensją programisty średniego poziomu wynoszącą 71 000 USD rocznie i średnią pensją 63 502 USD rocznie, jaką zarabiają programiści w USA. raport _przez PayScale, starszy programista z 10-19-letnim doświadczeniem zarabia średnio 109 122 USD na podstawie 5523 pensji. W późnej fazie kariery (20 lat i więcej) pracownicy zarabiają średnio 111 432 USD. W Niemczech , według PayScale, starszy programista z ponad 10-letnim doświadczeniem zarabia łącznie 63 638 euro. We Francji, średnia pensja Seniora wynosi 54 982 €. Jak zwykle, jeśli chodzi wyłącznie o liczby, amerykańscy programiści wyprzedzają swoich kolegów w Europie i poza nią. Inną interesującą kwestią, na którą należy zwrócić uwagę, jest to, że starsi programiści w Ameryce zarabiają znacznie więcej niż programiści średniego poziomu. Być może najlepiej byłoby to wyjaśnić przy założeniu, że większość naprawdę profesjonalnych i doświadczonych programistów-seniorów w USA pracuje dla amerykańskich gigantów technologicznych, którzy są wiodącymi światowymi wydatkami na siłę roboczą oprogramowania.

Perspektywy kariery

Jeśli chodzi o perspektywy kariery, Senior Developerzy zdecydowanie je mają. Ale zabawne jest to, że większość z nich tak naprawdę nikogo nie szuka. Pozycje takie jak Team Lead i Tech Lead byłyby jednymi z głównych opcji, na które można patrzeć w przyszłość po osiągnięciu poziomu Senior. Jak również różne opcje zarządzania technologią. Z prawdopodobnie stanowiskami CTO i CEO firmy technologicznej jako najwyższe możliwe osiągnięcia w karierze Senior dev'a. CTO jest oczywiście bardziej realistyczne, ponieważ nawet w branży technologicznej większość dyrektorów generalnych w rzeczywistości nie ma żadnego lub ma bardzo ograniczone zaplecze techniczne.

Jak to jest być starszym programistą. opinie

Oczywiście, jeśli chodzi ogólnie o stanowisko Starszego Programisty, większość dyskusji koncentruje się na dwóch kluczowych tematach, o których programiści po prostu chcą debatować: co naprawdę czyni cię Starszym Deweloperem i jak szybko możesz zacząć nazywać siebie Seniorem. „Może to niektórych zaskoczyć, ale na stanowiskach na wyższym szczeblu konsekwentnie wymagano od kandydatów od 5 do 8 lat doświadczenia. Było kilku, którzy prosili o 10 lat lub więcej, ale niewielu. Jako starszy programista, firma będzie oczekiwać, że będziesz w stanie przyjąć niejasny pomysł, określić go, zaplanować rozwój, zaangażować zespół i przeprowadzić go do końca. Natomiast od programisty średniozaawansowanego oczekuje się generalnie wykonywania, bez nadzoru, poszczególnych przydzielonych mu zadań, pracy w zespole i pełnienia roli mentora.podziela jego pogląd. „Dzięki starszemu programiście mogę wyznaczyć cel wysokiego poziomu/mniej ogólnikowy, a on może go sprecyzować, stworzyć plan wykonania, przeprowadzić go przeze mnie, a następnie wdrożyć go przy minimalnym zaangażowaniu. Więc kiedy masz pewność, że możesz wziąć niejasny pomysł i doprowadzić go do końca, jesteś starszym programistą. Pamiętaj, że to nie znaczy, że nigdy nie prosisz o pomoc, ponieważ wszyscy to robią od czasu do czasu, ale możesz kierować procesem bez konieczności opiekowania się tobą” — mówi Eric Wise, współzałożyciel i dyrektor generalny Wise Telemetry. I zakończmy to tym całkiem niezłym cytatemPablo Oliva, doświadczony programista z Niemiec: „Starsi programiści, z którymi pracowałem, wydawali się mieć ogromny pasek narzędzi, że tak powiem. Gdy pojawiały się problemy, mieli mnóstwo zasobów, do których mogli się zwrócić. Znali dobrze narzędzia i języki, z których korzystaliśmy na co dzień, i wiedzieli, gdzie szukać, gdy czegoś nie wiedzą (istnieje różnica między googlowaniem bez celu a przejściem do odpowiedniej strony podręcznika za pierwszym razem). Znajomość starych rozwiązań i biegłość w szukaniu nowych rozwiązań sprawiły, że cieszyli się szacunkiem rówieśników, którzy często zwracali się do nich o sugestie. Oni z kolei wiedzieliby też, kiedy przestać szukać samodzielnie i poprosić o pomoc kolegę. Niektórzy mieli certyfikaty, inni nie. Niektórzy skończyli studia, niektórzy nie. Ale zawsze byli punktem odniesienia dla swoich zespołów (a nawet dla ludzi z innych zespołów, dla niektórych szczególnie spektakularnych starszych deweloperów). Więc, ile osób myśli o poproszeniu cię o pomoc, kiedy utkną w miejscu?”
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION