W iRonin senior developera definiuje bogate doświadczenie oraz wiedza pozwalająca na samodzielne wykonywanie nawet najbardziej wymagających zadań.
Zdarza się przekonanie, że senior developer różni się od mocnego mida jedynie umiejętnościami miękkimi. W iRonin kompetencje miękkie nie są wymagane na stanowisku seniorskim. W projektach, w których developer nie ma kontaktu z klientem, liczą się dla nas przede wszystkim kompetencje techniczne.
W naszej opinii nie każdy developer aspiruje do bycia team leaderem, CTO lub innej roli wymagającej takich umiejętności.
Kogo zatem uważamy za seniora i dlaczego iRonin to dobre miejsce na rozwój? Zapraszamy do poczytania o seniority z naszego punktu widzenia.
Senior poradzi sobie z każdym zadaniem
Istotne dla nas umiejętności seniorskie, wynikają z nabytego doświadczenia i obycia z różnymi projektami. Uważamy, że senior powinien poradzić sobie z każdym postawionym przed nim zadaniem - nie oznacza to jednak, że ma to robić zawsze sam - senior wie kiedy i gdzie szukać pomocy w jak najszybszym wykonaniu zadania. Najistotniejsze według nas różnice dla mid vs senior developera przedstawiliśmy w poniższej tabeli.
| Mid | Senior |
| ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Jest samodzielny, ale potrzebuje konsultacji. Zdąża mu się utknąć na problemie i nie zapytać o pomoc | Służy radą mniej doświadczonym developerom, podejmuje ważniejsze decyzje nawet gdy wiążą się z nimi ryzyka. Szuka pomocy jak tylko zauważy za trudny dla niego problem, który ktoś inny może pomoc mu rozwiązać - co dwie głowy to nie jedna |
| Wie jak używać bibliotek | Wie jak biblioteki działają “under the hood”, co sprawia, że potrafi je rozszerzać i robić z nimi coś więcej |
| Potrafi podążać za wyznaczonym “kursem” technicznym | Wyznacza “kurs” techniczny |
| Potrafi od początku do końca zrobić zadanie | Zamienia wymagania biznesowe na jasno określone zadanie, które może bez problemu wykonać mid |
| Potrafi w miarę obiektywnie określić poziom własnych umiejętności oraz własne braki | Potrafi określić poziom umiejętności innych oraz ich braki |
Czy liczy się dla nas ilość lat doświadczenia?
Z naszego doświadczenia rekrutacyjnego wynika, że nie ma jakiejś jednej, magicznej liczby lat, po której przekroczeniu developer staje się seniorem. Zdarzali nam się kandydaci z 10-letnim doświadczeniem, którzy okazywali się midami oraz tacy, którzy mieli 5 lat doświadczenia i byli mocnymi seniorami. Z prowadzonych przez nas statystyk wynika, że ilość, różnorodność projektów i obycie z nimi, ma znaczenie, a na to potrzeba czasu. Stąd, 2-3 lata nie są wystarczające dla zostania seniorem; 4-5 lat w jednej technologii i różnych, wymagających projektach to minimum, by móc się nim mianować.
Moment stania się seniorem doskonale obrazuje według nas poniższy wykres prezentujący tzw. Efekt Dunninga-Krugera. Gdy developer na poziomie mid wchodzi coraz głębiej w tajniki danej technologii, zaczyna zdawać sobie sprawę, że tak naprawdę nadal jego wiedza jest niewystarczająca. Trafiając do różnych projektów i wraz z upływem czasu nabiera pokory i właśnie wtedy zaczyna się powolna droga do stawania się ekspertem w danej dziedzinie.
Seniorem stajesz się dzięki zespołowi
Naszym zdaniem nie da się dojść do poziomu senior developera bez współpracy z innymi senior developerami. To właśnie starcie się różnych doświadczeń i punktów widzenia sprawia, że developer się rozwija. W iRonin mamy tego świadomość. Dzięki temu, że zatrudniamy 70-90% senior developerów, możesz czerpać od innych wiedzę i inspirować się nawzajem. Współpraca nad zaawansowanymi projektami z innymi senior developerami w projekcie pozwala zobaczyć inne punkty widzenia, wspólnie rozpatrzyć kluczowe czy bardziej skomplikowane kwestie projektowe. Na porządku dziennym jest code review, pair programming, daily standup, retrospektywy, spotkania 1:1 z liderami zespołów. W niektórych projektach mamy specjalnie zaprojektowane architecture meetings. Poza tym, jesteśmy zwolennikami nieustannego, wzajemnego feedbacku, a nie np. ocen okresowych. Wszystko po to, by na bieżąco dzielić się wiedzą i wspólnie opracowywać rozwiązania.
Różnorodne doświadczenie ma znaczenie!
Istnieją pewne kwestie techniczne, które można nabyć jedynie dzięki latom doświadczeń w różnorodnych projektach. Senior, dzięki swojej wiedzy i umiejętnościom może uniknąć pewnych problemów w przyszłości, dlatego:
- proaktywnie zgłasza rozwiązania, które ułatwią utrzymanie aplikacji w przyszłości;
- zastanawia się jak powinna wyglądać finalna architektura (albo nowe funkcjonalności), w jaki sposób zorganizować drogę do tej zmiany, jak ją dobrze zakomunikować z całym zespołem i jak przeprowadzić jej egzekucję;
- uwzględnia w planowaniu dług technologiczny, rozumie czym jest, z czego wynika i jakie niesie ryzyka;
- rozumie problemy związane z warstwą biznesową aplikacji, z jakimi przyszło mu pracować w danym projekcie. Analitycznie podchodzi do wymagań, tak by przełożenie tego co działa w rzeczywistości, działało też na poziomie kodu;
- jest otwarty na zaznajamianie się choć w małym stopniu ze wszystkimi technologiami użytymi w projekcie, by mieć holistyczny pogląd na aplikację.
Czego **NIE MUSISZ** robić w iRonin, by być uznanym za senior developera?
W wielu kręgach rozpowszechniło się przekonanie o pozaprojektowych aktywnościach, które musi wykonywać developer, by stać się seniorem. W iRonin nie musisz:
- Prowadzić wykładów, webinarów
- Być mentorem dla junior developerów
- Uczestniczyć w naszych rekrutacjach
- Pisać artykułów
- Udzielać się w social media
- Mieć marki osobistej jako developer
- Uczestniczyć w spotkaniach integracyjnych teamu
- Rozmawiać z klientami
U nas developerzy skupiają się przede wszystkim na kodowaniu i projekcie, nie na dodatkowych aktywnościach. Są u nas oczywiście możliwości rozwoju w wymienionych kwestiach, ale jest to opcja dla chętnych i nigdy na tej podstawie nie określilibyśmy czyjegoś poziomu jako seniora.
Ścieżki rozwoju dla senior developera
Będąc senior developerem, doskonale zdajesz sobie sprawę z tego jakie są Twoje mocne strony, oraz jakie obszary wymagają poprawy. W iRonin oferujemy możliwość wyboru ścieżki rozwoju. Umożliwiamy decyzję czy wolisz skupić się stricte na rozwoju technicznym i szlifowaniu kodu, czy może chcesz uczestniczyć w rozmowach z biznesem i uczyć się umiejętności miękkich.
Dlaczego senior developerzy zostają w iRonin na dłużej?
W iRonin developerzy rozwijają się wraz z projektem. Aplikacje skalują się, potrzebnych jest coraz więcej dobrych praktyk, sięgamy do zaawansowanych rozwiązań, aktywnie walczymy z długiem technologicznym.
Co mówią o swoim rozwoju nasi senior developerzy:
- Trzymamy się dobrych praktyk i standardów w praktyce - nie jest to tylko w team contract, do którego nikt nie zagląda. Robimy też solidne code review (hard skills profit).
- Mamy mądrze zarządzane projekty ze strony klienta - uczucie, że buduje się coś naprawdę dobrze i z sensem, a nie tylko na potrzeby uzyskania kolejnej transzy finansowania od inwestorów (motivation profit).
- Projekty mają perspektywy na przyszłość i konkretne plany rozwojowe, w których widzi siebie nasz senior developer.
- Aplikacje są na tyle skomplikowane, że lista problemów dylematów i nowych problemów do rozwiązania się nie kończy.
- Klienci nie boją się używać nowych technologii w projekcie, jeśli team widzi taką potrzebę.
Jesteś programistą / ką Ruby on Rails?
Sprawdź swój poziom zaawansowania! Dołącz do naszego RoR wyzwania, rozwiąż zadanie i otrzymaj feedback w 1 dzień!