Dotarliśmy do ostatniej części naszej serii.
Rozmawialiśmy już o pierwszych krokach w zawodzie.
O tym, czego naprawdę warto się uczyć. O Code Review, Clean Code i codziennej pracy w zespole.
Pozostało jedno pytanie: Kiedy właściwie przestajesz być Juniorem?
To pytanie pojawia się bardzo często.
Po roku? Po dwóch latach? Po pięciu? A może wtedy, gdy poznasz kolejny framework?
Odpowiedź może Cię zaskoczyć. - Nie istnieje jedna właściwa liczba.
Widzieliśmy programistów z dziesięcioletnim doświadczeniem, którzy wciąż potrzebowali prowadzenia przy bardziej złożonych projektach. Widzieliśmy też osoby z trzyletnim stażem, które samodzielnie projektowały rozwiązania, wspierały młodszych kolegów i brały odpowiedzialność za całe moduły systemów.
To właśnie dlatego w IT lata doświadczenia są tylko jednym z elementów układanki.
Senior nie zna wszystkiego
To chyba największy mit w branży.
Wielu Juniorów wyobraża sobie Senior Developera jako człowieka, który zna odpowiedź na każde pytanie. Rzeczywistość wygląda zupełnie inaczej.
Dobry Senior bardzo często mówi: "Nie wiem."
Ale zaraz dodaje: "Sprawdźmy."
To ogromna różnica.
Senior nie musi pamiętać całej dokumentacji. Nie musi znać każdej biblioteki. Nie musi umieć napisać wszystkiego z pamięci.
Wie natomiast:
- gdzie szukać informacji,
- jak zweryfikować rozwiązanie,
- jakie ryzyko wiąże się z daną decyzją,
- kiedy powiedzieć "nie wiem", zamiast zgadywać.
To jedna z najważniejszych cech dojrzałego programisty.
Programista czy inżynier?
Na początku kariery większość osób skupia się na kodzie.
Jak napisać funkcję? Jak zrobić API? Jak połączyć bazę danych?
Z czasem zaczynasz zauważać, że kod jest tylko narzędziem.
Prawdziwym zadaniem jest rozwiązanie problemu biznesowego.
Klient nie kupuje aplikacji dlatego, że została napisana w konkretnym języku. Kupuje rozwiązanie problemu.
To właśnie moment, w którym programista zaczyna myśleć jak inżynier.
Najlepsza funkcja to czasem ta, której nie napiszesz
Brzmi dziwnie? A jednak.
Wyobraź sobie, że klient zgłasza potrzebę stworzenia nowego modułu. Możesz od razu zacząć projektować rozwiązanie. Możesz również zadać kilka pytań.
Po co ta funkcjonalność?
Jak często będzie używana?
Czy podobne rozwiązanie już istnieje?
Czy można osiągnąć ten sam efekt prostszym sposobem?
Bardzo często okazuje się, że problem można rozwiązać bez pisania setek nowych linii kodu. I właśnie za takie decyzje płaci klient. Nie za liczbę commitów.
Odpowiedzialność zaczyna się tam, gdzie kończy się kod
Senior nie odpowiada wyłącznie za swoją część projektu. Patrzy szerzej.
Zastanawia się:
- jak zmiana wpłynie na inne moduły,
- czy rozwiązanie będzie skalowalne,
- czy nowa funkcjonalność będzie łatwa do utrzymania,
- jakie ryzyko niesie wdrożenie,
- czy użytkownicy rzeczywiście odniosą korzyść.
To zupełnie inny sposób myślenia.
Dobry Senior tworzy kolejnych Seniorów
To jedna z najpiękniejszych rzeczy w naszej branży.
Najlepsi programiści, których spotkaliśmy, nigdy nie bali się dzielić wiedzą. Wręcz przeciwnie.
Cieszyli się, kiedy ktoś z zespołu rozwijał się szybciej. Bo silny zespół zawsze wygrywa z pojedynczym bohaterem.
Przez ponad dwadzieścia lat mieliśmy okazję obserwować, jak osoby rozpoczynające u nas praktyki stawały się pełnoprawnymi członkami zespołu. Jedną z takich historii opisaliśmy w pierwszej części tej serii.
Dzisiaj ta osoba samodzielnie prowadzi wymagające zadania, projektuje rozwiązania i wspiera młodszych programistów.
Czy stało się to z dnia na dzień? Oczywiście, że nie. To efekt setek godzin nauki. Dziesiątek Code Review. Niezliczonych pytań. Popełnionych błędów. I ogromnej ciekawości świata.
AI nie zastąpi dobrego programisty
Nie mogło zabraknąć tego tematu. Czy sztuczna inteligencja zmienia naszą branżę? - Tak. Bardzo.
Czy sprawia, że programiści przestają być potrzebni? - Wręcz przeciwnie.
Zmienia się charakter pracy. Coraz mniej czasu poświęcamy na pisanie powtarzalnego kodu.
Coraz więcej na:
- analizę problemów,
- projektowanie architektury,
- weryfikację rozwiązań,
- rozmowy z klientami,
- podejmowanie decyzji.
AI jest świetnym asystentem. Ale odpowiedzialność za projekt nadal ponosi człowiek. I jeszcze długo tak pozostanie.
Czego nie wpiszesz do CV
CV pokaże:
- języki programowania,
- frameworki,
- certyfikaty,
- doświadczenie.
Nie pokaże jednak rzeczy, które bardzo często decydują o sukcesie.
Czy potrafisz przyznać się do błędu?
Czy umiesz poprosić o pomoc?
Czy szanujesz czas innych?
Czy dotrzymujesz ustaleń?
Czy potrafisz spokojnie rozwiązywać konflikty?
Czy bierzesz odpowiedzialność za swoje decyzje?
To właśnie te cechy sprawiają, że zespół chce z Tobą pracować.
Gdybyśmy mogli dać tylko jedną radę...
Po ponad dwudziestu latach tworzenia oprogramowania moglibyśmy mówić o technologiach.
O architekturze. O frameworkach. O sztucznej inteligencji.
Ale gdybyśmy mieli zostawić Ci tylko jedną radę, brzmiałaby ona tak: Nigdy nie przestawaj być ciekawy.
Technologie będą się zmieniać. Języki programowania będą ewoluować. Frameworki będą powstawać i znikać.
Ale ciekawość, pokora, chęć uczenia się, umiejętność zadawania pytań - to kompetencje, które będą potrzebne zawsze.
Słowniczek pojęć
Senior Developer
Doświadczony programista, który nie tylko tworzy wysokiej jakości kod, ale również projektuje rozwiązania, podejmuje decyzje techniczne, wspiera zespół i bierze odpowiedzialność za realizowane projekty.
Architektura oprogramowania
Sposób zaprojektowania aplikacji oraz relacji pomiędzy jej elementami, wpływający na rozwój, wydajność i łatwość utrzymania systemu.
Skalowalność
Zdolność systemu do obsługi rosnącej liczby użytkowników, danych lub procesów bez utraty wydajności.
Commit
Zapis zmian w systemie kontroli wersji Git, umożliwiający śledzenie historii rozwoju projektu.
Mentoring
Proces przekazywania wiedzy i doświadczenia mniej doświadczonym członkom zespołu, wspierający ich rozwój zawodowy.
Podsumowanie całej serii
Jeżeli przeczytałeś wszystkie cztery części, być może zauważyłeś, że bardzo rzadko pisaliśmy o konkretnych frameworkach.
Celowo.
Bo technologie zmieniają się szybciej niż kiedykolwiek wcześniej.
To, co dziś jest najpopularniejsze, za kilka lat może być jedynie ciekawostką.
Natomiast sposób myślenia dobrego programisty pozostaje niezmienny; Analiza. Odpowiedzialność. Komunikacja. Praca zespołowa. Ciekawość.
To właśnie one sprawiają, że z Juniora stajesz się Mid Developerem, a z czasem Seniorem.
W Web24 od ponad 20 lat tworzymy oprogramowanie dla klientów z różnych branż. Przez ten czas przekonaliśmy się o jednej rzeczy. Najlepszych programistów nie poznaje się po tym, ile języków programowania znają. Poznaje się ich po tym, jak rozwiązują problemy, współpracują z ludźmi i jak bardzo zależy im na jakości tego, co tworzą.
Jeżeli dopiero rozpoczynasz swoją drogę w IT, życzymy Ci, abyś nigdy nie stracił ciekawości.
Bo właśnie od niej zaczyna się każda dobra kariera.



