Subtelna różnica pomiędzy junior a senior…

Ostatnimi czasy dostałem pod opiekę / pracuję z bardzo młodym – zarówno wiekiem jak i doświadczeniem front-end developerem. Faktem jest, że chłopak jest utalentowany, w kraju tak wesołym jak Australia zdarzyło mi się pracować już z kilkunastoma programistami wszelkiej maści i ten jest – utalentowany. Więc dlaczego narzekam i co będzie tematem mojego krótkiego wynurzenia? Otóż kwestia doświadczenia…

Pomimo ponad 10 lat pracy w „zawodzie” jako web-developer, trochę administrator, przez parę ładnych lat właściciel i zarządzający firmą nabrałem odrobinę doświadczenia w pracy z kodem, klientami i ogólnie know-how w temacie. Zatrudniałem kilku (nastu) programistów, pracowałem z kilku(dziesięcioma) firmami. Co za tym idzie, orientuję się mniej więcej w oczekiwaniach drugiej strony.

Wiem, że niewiele wiem – jest grono programistów lepszych ode mnie, setki lepszych administratorów, a młodsi mają zdolności, o których ja „dziadek” mogę jedynie pomarzyć. Dlaczego więc moje stanowisko ma w tytule „senior”? Jest to kwestia właśnie doświadczenia. Wiedzy na temat tego co może się wydarzyć jeżeli wykonam swoją pracę źle lub nawet niedbale.

Młodzi – juniorzy – mają to do siebie, że są przekonani o własnych zdolnościach i wszechwiedzy. Wszystko robione jest szybko i niedbale. Ważne żeby jak najszybciej dotrzeć do końca powierzonego działania. Dokumentacja jest niepotrzebna, standardy nieistotne. Ważne, żeby na koniec powiedzieć „zrobione” – zobacz jak wygląda na moim komputerze, albo moje ulubione „u mnie działa”. Na nic tłumaczenie i opowieści i historie o przykładach z życia, albo próba wymuszenia jakiejś organizacji, komentarzy czy dokumentacji. Po co? Efektem takich działań jest to, że praca która jest do wykonania powiedzmy w 4h, junior wykonuje 2h. Nastepne 6h spędza na poprawianiu tego co zrobił.

Oczywiście nikt nie jest bez winy – sam popełniam błędy – zdarza mi się utknąć nad jakimś durnym problemem i spędzić nad nim stanowczo za dużo czasu, ale wiem, że na wszystko potrzeba czasu, czasami trzeba zrobić „odejście” i powrócić do problemu z innej strony. Warto też rozmawiać – dzielić się problemami i co najważniejsze rozwiązanami – z innymi ludźmi. Burza muzgów, rozmowa z innym developerem czy nawet postronną osobą wnosi czasami nieoczkiwane rozwiązania i idee.

Dlatego kilka rad „seniora” dla wszystkich „juniorów” czy też początkujących programistów / developerów.

  1. Słuchajcie „seniorów” – ich wiedza wynika głównie z doświadczenia, którego nie jesteście w stanie zdobyć bez czasu,
  2. Pytajcie – pytanie nic nie kosztuje, a jest najlepszą metodą nauki,
  3. Rozwijajcie się – każdą wolną chwilę wykorzystujcie do poszerzenia waszej wiedzy, jak zwykłe „howto” nie dają rady, warto zainwestować we wszelkiego rodzaju „książki kucharskie” gdzie są pokazane konkretne rozwiązania danych problemów,
  4. Czytajcie blogi, losowe skrawki kodu – inni ludzie mają naprawdę fajne pomysły,
  5. Korzystajcie z gotowych rozwiązań – nie warto wyważać otwartych drzwi,
  6. Przeczytajcie Dekalog projektanta Googla – najważniejsze jest hasło „prostota ma wielki potencjał”,

Jak coś mi przyjdzie go głowy na pewno dodam do listy, może ktoś chce coś dorzucić?

Mała aktualizacja 21 maja 2012

Doskonały artykuł na temat Serniorów i Juniorów – being „Senior” – gorąco polecam dla wszystkich angielskojęzycznych 😉