logoskutecznyprogramista.pl

Zacznij dowozićBlog

Dlaczego warto się specjalizować?

Długość wpisu: 4 min

Ktoś mnie ostatnio zapytał:

Po co się specjalizować? Nie czuję takiej potrzeby, rozwiązuję problemy i uczę się na bieżąco tego, co trzeba.

To jest klasyczny przykład just-in-time learning, bardzo przydatnego podejścia, które pozwala zminimalizować ilość niepotrzebnych informacji w głowie.

Jednocześnie jest to bardzo dobre pytanie i na początku też nie znałem na nie odpowiedzi.

Swoją pierwszą specjalizację postanowiłem wybrać dlatego, że miałem wokół siebie wielu ekspertów, którzy mniej lub bardziej świadomie się w czymś specjalizowali.

Gdy słyszałem teksty typu “zagadaj do Wojtka, bo on jest ekspertem z Node’a i na bank Ci pomoże”, to czułem, że też chcę być takim Wojtkiem, do którego ludzie przychodzą po radę. Było jasne, że takie osoby przynoszą wartość i ludzie ich szanują.

Był to strzał trochę w ciemno, ale trafiłem, faktycznie warto się specjalizować.

Jednak teraz znam znacznie lepsze powody, dla których warto to robić.

Dlaczego warto się specjalizować?

Pierwszą specjalizacją, którą dla siebie wybrałem był ekosystem Reacta.

Przez długi czas rozkładałem ten temat na części pierwsze i zrozumiałem, jakie konkretnie problemy rozwiązuje, jak wszystko działa pod spodem i jak te wszystkie elementy ekosystemu współgrają ze sobą.

Nauczyłem się przy okazji, w jaki sposób twórcy Reacta podchodzą do czystego kodu, do podziału odpowiedzialności w kodzie, do takich tematów jak High Cohesion i Low Coupling, albo w jaki sposób myślą o zapobieganiu bugów itd.

Im głębiej kopałem, tym częściej na powierzchni ukazywały się dobre praktyki i uniwersalne zasady, którymi musiałem się kierować, żeby budować aplikacje, które łatwo się utrzymuje. Zrozumiałem, z jakich klocków składa się aplikacja frontendowa i jak je układać, żeby zminimalizować liczbę WTFów podczas pracy z kodem.

Te uniwersalne zasady, które poznawałem, odświeżałem i które w końcu aplikowałem w praktyce, działają wszędzie, niezależnie od stosu technologicznego.

👉 Dzięki temu, specjalizacja w jednym temacie pozwala przeskakiwać do innych mniejszym kosztem i szybciej poszerzać wiedzę.

Zauważyłem, że w miarę jak powiększałem swoje umiejętności w tym jednym temacie, to zrozumienie innych było łatwiejsze, bo kierowały nimi podobne praktyki i zasady.

To jest ta tajna moc specjalizacji, o której na początku nie wiedziałem.

Dobrym przykładem jest też moja przygoda z Visual Basic .NET, którego miałem wątpliwą przyjemność używać w moim pierwszym większym projekcie.

Zanim zacząłem pracę, to pompowałem w siebie wiedzę z C# i poznałem ten język od deski do deski. Jednak zamiast C#, dostałem w pracy VB i mimo że było to trochę smutne na początku, to w praktyce, największym problemem było odzwyczajenie się od klamerek, których VB nie ma.

Pozostałe mechanizmy działały bardzo podobnie i pisanie w VB nie było żadnym problemem. Wiedza z C# nie została zmarnowana.

💡 Note: Pisałem też o tym tutaj.

Tak samo potem nie było dla mnie problemem wskoczyć w JavaScript. Wiedziałem dokładnie, z czego składa się język programowania i czego powinienem oczekiwać. Kto zna JS, ten wie, że krew człowieka może zalać podczas nauki niektórych dziwnych quirków, ale w praktyce, to nie jest rocket science i nie różni się jakoś specjalnie od innych języków.

Tak samo jest z innymi rzeczami:

  • Gdy dobrze poznasz Reacta, to łatwiej nauczyć się Vue
  • Gdy dobrze poznasz dobrze AWSa, to łatwiej poznać Azura
  • Gdy dobrze poznasz dobrze Netlify, to łatwiej będzie przejść na Vercel
  • Gdy dobrze poznasz frontend, to łatwiej będzie zrozumieć backend
  • Gdy dobrze poznasz backend, to łatwiej będzie zrozumieć DevOpsy

Zauważyłem też, że powierzchowne zgłębienie wielu tematów, to dopiero pierwsza faza nauki. Jej głównym celem jest pokazanie możliwości, osadzenie tematu w większym kontekście i łączenie kropek. W żaden sposób nie zastępuje głębokiego wejścia w temat.

Win-win

Zrobienie specjalizacji, to sytuacja win-win, bo realizuje dwie duże, albo i największe potrzeby naszych klientów i pracodawców:

  1. Dostęp do eksperckiej wiedzy i umiejętności
  2. Szybkie uczenie się nowych rzeczy

Poza tym, o czym wspominałem wyżej, drugi punkt wynika też z tego, ze zrobienie specjalizacji rzadko jest łatwe. Zdarzało się, że zapomniałem, czego się nauczyłem albo nie wiedziałem jak naprawić bugi, które powodują, że zaczynałem kwestionować wszystko, co wiem (bo “przecież to nie powinno tak działać”).

To mnie zmusiło do wyrobienia sobie lepszych sposobów nauki i utrwalania wiedzy oraz umiejętności, dzięki którym mogę teraz łatwiej i szybciej uczyć się nowych tematów oraz rozwiązywać nowe problemy.

I niekoniecznie muszą to być problemy powiązane ze specjalizacją. Sposoby na szybszą naukę są uniwersalne, tak samo, jak dobre praktyki. Nie muszę się szufladkować, sky is the limit.

Podsumowując

Wracając do pytania ze wstępu:

Po co się specjalizować? Nie czuję takiej potrzeby, rozwiązuję problemy i uczę się na bieżąco tego, co trzeba.

Odpowiedź brzmi: specjalizacja może Ci w tym tylko pomóc.

  • Specjalizacja w jednym temacie pozwala przeskakiwać do innych bardzo małym kosztem i szybciej poszerzać wiedzę.
  • Specjalizacja realizuje dwie największe potrzeby naszych pracodawców i klientów:
    • Dostęp do eksperckiej wiedzy i umiejętności
    • Szybkie uczenie się nowych rzeczy

Powodów jest więcej, ale na chwilę obecną, te wydaja mi się najważniejsze. 🖖

Podziel się:

Zapisz się do newslettera, aby otrzymywać powiadomienia o nowych wpisach.

Wyślę Ci również dokument, dzięki któremu zaczniesz szybciej dowozić taski 💪.

Zapisz mnie

Cześć! Jestem Krzysztof. Dokumentuję swoją drogę w IT i pokazuję, jak wdrażam nawyki, narzędzia i taktyki skutecznych programistów.


Instagram, Twitter, YouTube, Facebook, LinkedIn