Poniższy artykuł jest przeznaczony dla programistów, którzy pracują w branży IT od dłuższego czasu, ale nie mają zamiaru pozostać w jednym miejscu i chcą piąć się po szczeblach kariery. Nie zagłębiając się w różne rodzaje specjalizacji, ścieżka do zostania IT-specjalistą obejmuje pewne etapy: Junior > Middle > Senior.
Jednak rozwój zawodowy nie kończy się na tym, a każdy Senior może podjąć wysiłki, aby stać się Tech/Team Lead lub Architect. Przejście z jednego poziomu na drugi zależy od rozwoju umiejętności twardych i miękkich, zarówno poprzez samokształcenie, jak i obowiązki w firmie.
To jak długo zajmuje Middle developerowi osiągnięcie kolejnego poziomu i jakie umiejętności należy rozwijać?
Z takim właśnie pytaniem zwróciliśmy się do Senior specjalistów Computools. Praktyczne porady dotyczące kariery są zawsze bardziej wartościowe niż teoretyczne dyskusje, więc połączyliśmy ich zalecenia w rodzaj listy kontrolnej dotyczącej rozwoju zawodowego.
Przede wszystkim zastanówmy się, kim jest Senior: to specjalista, który może przejąć projekt „pod swoje skrzydła” lub nawet zarządzać oddzielnym zespołem/działami. Posiadana przez niego wiedza sprawia, że z łatwością może stać się mentorem dla Trainee lub Juniora.
Potrafi patrzeć daleko w przyszłość, a dzięki swoim umiejętnościom zwiększa wydajność firmy. Jednakże posiadanie umiejętności czysto technologicznych nie czyni z ciebie starszego programisty.
Specjalista może posiadać najbardziej zaawansowane technologie, ale bez produktywnej komunikacji z zespołem i zrozumienia potrzeb klienta, nie będzie w stanie wnieść znaczącego wkładu do firmy. Jedną z najważniejszych wartości Senior developera jest to, że dokładnie wie, czego nie robić: całkowite przepisanie biblioteki w celu poprawy „czystości” kodu nie zawsze jest dobrym pomysłem. I doświadczony specjalista doskonale o tym wie, przez co nie będzie marnował na to czasu zespołu.
5 kroków od Middle specjalisty do Senior
1. Doskonalenie znajomości języka angielskiego
Wszyscy doskonale zdajemy sobie sprawę z tego, jak ważny jest język angielski dla IT-specjalisty, a nasi koledzy potwierdzają to po raz kolejny. Uważają oni, że znajomość tego języka bardzo pomaga w komunikacji z klientami. By dobrze zrozumieć zadanie, musisz być w stanie prowadzić rozmowę i natychmiast zadawać pytania.
Będąc Middle developerem i zdając sobie sprawę ze swoich braków, powinieneś poprawić swoje umiejętności. Idealnie byłoby, gdybyś mógł czytać profesjonalne podręczniki w sposób przemyślany i z łatwością wyjaśniać klientom konkretne terminy rozwoju oprogramowania.
2. Podnoszenie poziomu wiedzy i kwalifikacji zawodowych
Praca w IT branży – to nieustanne podnoszenie swoich kwalifikacji i uczenie się czegoś nowego. Jednakże nie poprzez codzienne czytanie literatury. Jest to możliwe dzięki symbiozie komunikacji z innymi programistami i studiowaniu nowych tematów lub głębokich zagadnień. Koncentracja na rozwoju zawodowym i ciągła praktyka to wektory prawdziwego specjalisty.
“Gdy jesteś już Senior developerem, – wyjaśnia nasz Technology Lead of React Native – powinieneś rozumieć ogólną koncepcję projektu, aby pomóc wszystkim w zespole, niezależnie od wykorzystywanych technologii. Czyli, oprócz swojego głównego stosu, musisz rozumieć, jak działają inne obszary. Należy posiadać doświadczenie w różnych obszarach i ćwiczyć w rzeczywistych przypadkach”.
“Moim zdaniem większość książek zbyt szybko się dezaktualizuje, – twierdzi Coordinator of .NET Developers, – jednak z pewnością mogę polecić książkę “Clean code” autorstwa Roberta Martina. Książki na temat asynchronii i wielowątkowości również mi pomogły. Oglądałem różne kursy na YouTube i CourseHunter oraz czytałem różne ciekawe artykuły”.
Z kolei jeśli angażujesz się w rozmowy kwalifikacyjne z kandydatami, wykorzystaj tę szansę, by rozwinąć swoje umiejętności twarde i miękkie. Takie przygotowanie do rozmowy kwalifikacyjnej pomaga uporządkować teorię, sformułować pytania i zagłębić się w aspekty programowania.
3. Więcej praktyki
Nie bez znaczenia, doświadczenie mierzone w latach jest oczywiście ważne, a na pracuj.pl czy nofluffjobs.com wyświetlają się oferty pracy w ІТ z określonym pożądanym czasem pracy na danym stanowisku. Niemniej tak naprawdę liczy się doświadczenie praktyczne.
Można przez 5 lat pracować na stanowisku Middle developera i nie rozwiązać żadnego zadania, które przyczyniłoby się do rozwoju zawodowego. Jednak to właśnie jakość doświadczenia doprowadzi Cię do rozwoju kariery.
“Podniosłem swoje umiejętności dzięki sporej ilości praktyki, ponieważ oprócz projektów w pracy, wykonuję również projekty dla zwierząt domowych. Wystarczy cały czas coś robić, próbując różnych opcji, a potem wyraźnie widać, jak podejmowane decyzje wpływają na wynik – w ten sposób formowane są best practise”, – uważa Coordinator of .NET Developers.
4. Podejmowanie inicjatywy i wspomaganie kolegów
Senior specjalista różni się od młodszych specjalistów tym, że zna odpowiedzi na większość pytań. Jeżeli Middle specjalista potrzebuje pomocy przy wykonaniu określonego zadania, przejrzeniu kodu lub chce poznać bardziej szczegółowe informacje na temat potrzeb klienta – to starszy kolega powinien mieć wiedzę, chęci i czas, aby wszystko szczegółowo wyjaśnić. Jeżeli dostrzegasz jakieś trudności w zespole i masz pomysły, jak je przezwyciężyć – działaj.
“Senior specjalicta musi posiadać umiejętność ustanawiania procesów. Otrzymując projekt, należy opracować pewne zasady dla zespołu i upewnić się, że wszyscy ich przestrzegają”, – uważa Technology Lead of React Native.
Rozwijaj swoje umiejętności menedżerskie i zdolność do udowadniania swoich racji, akceptuj krytykę i nie bój się zadawać pytań. “Opinie zwrotne od kolegów po przeglądzie kodu są bardzo ważne, dzięki nim mogłem zobaczyć, jak trafne były moje wskazówki i mogłem je poprawić” – mówi .NET Coordinator. Prawdziwy specjalista umie stworzyć w zespole atmosferę, w której nikt nie boi się dzielić swoimi opiniami.
5. Dostrzeganie potrzeb firmy i branie odpowiedzialności za swoje działania.
Z kolei w przeciwieństwie do Junior i Middle specjalistów, Senior potrafi zrozumieć, czego potrzebuje klient i jak opracować produkt, który przyniesie ciągłe korzyści biznesowe. Ponadto nie muszą już poświęcać czasu na studiowanie stosu technologicznego, dzięki czemu mogą spojrzeć na projekt bardziej globalnie.
“Kardynalna różnica polega na tym, że specjalista może podejmować właściwe decyzje technologiczne w oparciu o swoje doświadczenie i rozkładać zadania na młodszych kolegów, a także częściej dokonuje szacunków”, – wyjaśnia Coordinator of .NET Team.
To znaczy, że taka osoba powinna nie tylko kierować zespołem, ale także realnie oceniać umiejętności i możliwości każdego z jego członków.
I na koniec:
Po opanowaniu określonej technologii, możesz piąć się po szczeblach kariery od Middle specjalisty. Nie będzie to łatwe, ale będzie ekscytujące i interesujące. Pamiętaj, że nigdy nie powinieneś przestawać się uczyć, ale starannie wybieraj to, czego się uczysz. Jeżeli jesteś, podobnie jak nasi specjaliści, spragniony wiedzy i ciągłego rozwoju zawodowego – dołącz do zespołu Computools..