Programowanie w analogiach – część 1 – poziomy programistów

To wpis otwierający nową serię, w której będę opisywać pewne stwierdzenia, założenia lub twierdzenia na prostych i zrozumiałych analogiach – po to, aby osoby, które nie znają słownictwa i nie są jeszcze związane z branżą zrozumiały o co kaman w tym IT

W tym artykule pokażę Ci czym różni się programista z poziomem Junior od programisty na poziomie Newbie lub Mid.

Użyję do tego bardzo prostego porównania – do młotka i gwoździ

Czym jest gwóźdź?

Gwóźdź w tym porównaniu jest problemem do rozwiązania, a wbicie tego gwoździa w całości jest rozwiązaniem tego problemu – nieistotne czy jest to zrobienie layoutu strony, czy apki w React czy REST API w Next. Aby rozwiazać problem, trzeba wbić gwóźdź

Czym jest młotek?

Młotek w tym porównaniu jest umiejętnością programisty do rozwiązywania problemu, czyli zdolnością kodowania i myślenia o kodzie i rozwiązaniu problemu w sposób prawidłowy – Problem jest rozwiązany, kiedy gwóźdź jest wbity przez młotek

Ok… ale jak to się ma do programistów?

Istnieje kilka „poziomów” programistów jeśli chodzi o ich skille koderskie – czyli umiejętność pisania dobrego kodu – najprawdopodobniej spotkałeś się już z tą drabinką:

  1. „Zielony”
  2. „Newbie”
  3. Junior developer
  4. Regular developer
  5. Senior developer

Poniżej opiszę jak wyglądają poziomy skilli koderskich w analogii do wbijania gwoździ

Także jak wbija gwoździe „Zielony”?

Zielony nie wbija gwoździ, on tłucze się młotkiem po palcach próbując trafić w gwoździe 🙂 palce krwawią, paznokcie już dawno odpadły – gwóźdź dalej nie wbity

Jak wbija gwoździe „Newbie”?

Newbie czasem uderzy się w palec, ale już coraz częściej trafia z gwoździe. Nie wbija ich prosto i jednym uderzeniem tylko na kilka razy, ale w końcu – jest krzywo i czasem towarzyszy temu ból, ale można powiedzieć, że gwóźdź został wbity

Jak wbija gwoździe Junior?

Junior już w miarę umie operować młotkiem i wbija gwoździe w miarę prosto. Nie tłucze się po palcach, ale czasem uderzy obok gwoździa skrzywiając go, ale już wie także jak naprawić jeśli coś zepsuł

Można też powiedzieć, że Junior już wie jak wbijać większość gwoździ w swoim zakresie umiejętności, w przypadku gdy nie wie jak wbić konkretny gwóźdź to wie, gdzie się tego dowiedzieć

Jak wbija gwoździe Regular?

Niczym Thor poznał już wystarczająco moc młotka, umie nim operować i w miarę bezproblemowo wbija gwoździe w swoim zakresie umiejętności

Wie też, że młotek, którym umie się posługiwać nie służy do wbijania wszystkich gwoździ w okolicy i wie, że czasem jego młotek to za mało, aby wbić te większe. Zaczyna uczyć się obsługi innych młotków i szuka ciekawych gwoździ do wbijania

Jak wbija gwoździe Senior?

Senior ma w swojej skrzynce narzędziowej wiele młotków i potrafi dobrać odpowiedni młotek do danego gwoździa. Myśli nad doborem odpowiedniego młotka zanim zacznie wbijać gwoździe

Choć najczęściej sam już ich nie wbija, ale potrafi dać szczegółowe instrukcje młodszym stażem, aby kontynuowali pracę. Potrafi też ocenić czy do wbijania danego gwoździa został użyty odpowiedni młotek, oraz potrafi ocenić czy gwóźdź został dobrze wbity

Senior sam szuka nowych wyzwań do wbijania lub nowych, trudniejszych młotków, których obsługi może się nauczyć

Podsumowanie – czyli co ma pokazać ta analogia?

  • „Newbie” to osoba na tyle zmotywowana, aby wbijać gwoździe mimo krwawiących palców i zauważalnie idzie mu to coraz lepiej
  • Junior jest już w stanie wbijać skutecznie gwoździe – czyli wtedy kiedy jesteś w stanie rozwiązać problem, ktoś jest skłonny zatrudnić Cię do wbijania gwoździ
  • Regular uświadomił sobie, że młotek, którym się posługuje nie nadaje się do wbijania wszytkich gwoździ i zaczyna poszukiwania innych młotków – najczęściej na tym poziomie skilla koderskiego programistom zaczyna brakować umiejętności. Wtedy też Regular decyduje się do rozszerzenia swoich kompletencji na inne młotki – np z Frontend deva na Fullstacka
  • Senior wie, że zanim wbije gwóźdź to warto pomyśleć i wybrać odpowiedni młotek, ale najczęściej sam juz gwoździ nie wbija -chyba, że te które uzna za wyzwanie

Wiem, że to bardzo ogólne porównanie, więc nie staram się nawet być szczególnie dokładny – chodzi głównie o pokazanie zarysu różnic w podejściu do kodowania

Kolejny artykuł jaki napiszę w tej serii – Programowanie w analogiach – będzie odpowiadał na pytanie – czym różni się kodowanie od programowania 😉

Do następnego commita!

contact

Wahasz się? Podaj nam swojego maila i umów się z naszym mentorem na niezobowiązującą konsultację.