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ę.
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).
- 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.
GO TO FULL VERSION