Zasłyszana opinia i zderzenie z rzeczywistością
Do Collegium Da Vinci uczęszczali już moi znajomi, ale jeszcze przed rozpoczęciem semestru zdążyłem poznać koleżanki i kolegów z roku. Ileż to się nie nasłuchałem przed rozpoczęciem zajęć o tutoringu! Żądni twardej wiedzy studenci stawiali się w opozycji do umiejętności miękkich.
Strata czasu! – wołał przed zajęciami Janek.* – Mogliby nam dać dodatkowe zajęcia z programowania w Javie lub chociaż w tym C++ co mamy na innych zajęciach. Znowu będziemy siedzieć i gadać coś tam o celach czy planach na przyszłość. Jeden wielki coaching ze wmawianiem, że możemy wszystko…
Dla przykładu podam, że od zawsze chciałem zarabiać i to zarabiać dużo. Tak więc stanowisko Junior Developera nie było dla mnie satysfakcjonujące. Celem było zarabiać więcej. Ale co to za cel, pod którym może się kryć tak wiele.
Wielu z nas wychodziło po zajęciach z wizją i całkiem odmienną postawą od Janka. Mieliśmy już cele, które były S.M.A.R.T: Skonkretyzowane (ang. Specific), mierzalne (ang. Measurable), osiągalne (ang. Achievable), istotnie (ang. Relevant) i określone w czasie (ang. Time-bound).
Właśnie te cele pozwoliły mi osiągnąć to czego nie dały by “dodatkowe zajęcia z programowania w Javie czy w tym C++”. Cele w iteracyjnych odstępach pozwoliły mi wspiąć się kolejno po większe odpowiedzialności w teamie projektowym, prowadzenie leadershipu nad grupą developerów w firmie aż do leaderowania zespołu produktowego.
To wszystko nie byłoby możliwe gdyby do osiągnięcia celów nie zdefiniowałbym kroków, którymi do nich dążyłem. W zdefiniowaniu etapów tj. pilnowaniem, aby były S.M.A.R.T oraz szukaniu sposobności na ich osiągnięcie pomagał nam wszystkim prowadzący. Zaangażowany i zdeterminowany, aby udało nam się przełożyć teorie na praktykę.
Całą grupą obserwowaliśmy i wspieraliśmy studentów zmieniających pracę, podnoszących kwalifikacje, odbierających nagrody czy podwyżki. Śmiem twierdzić, że gdyby nie tutoring, nie osiągnęlibyśmy nawet połowy.
Nieznajomość realiów i podcinanie sobie skrzydeł
Przecież i tak nie będę z nikim rozmawiać jak będę programować! – rzekł oburzony Dobromir*.
Do zdobycia celów potrzebne są zdolności twarde jak wiedza, znajomość języków czy narzędzi, zawzięcie, wytrwałość, ale też umiejętności miękkie. O tym ostatnim zazwyczaj się zapomina lub temu umniejsza, przez co samemu sobie podcina się skrzydła.
Kimże byłby developer w projekcie, jeżeli nie znałby zasad pracowania w Scrumie czy Prince, nie słyszałby nigdy o Agile, czy nie wiedział o aktywnym słuchaniu czy komunikacji niewerbalnej. Byłby jedynie maszynką do pisania kodu, wypluwania modułów, komponentów, kontrolerów na zlecenie leadera czy projekt managera. Bez jakiegokolwiek udziału w tworzeniu produktu czy definiowaniu planów dalszego jego rozwoju.
Tacy developerzy często zatrzymują się na etapie “klepacza kodu” – nie mogąc przebrnąć przez rekrutacje na pozycje Mid / Senior. Nie potrafiąc uargumentować kierownictwu podwyżki i w efekcie satysfakcjonującej nie dostając.
Randall Koutnik dobrze podsumował to w swoim występie na The Lead Developer UK w 2017 roku na wystąpieniu o tytule “Rethinking the Developer Career Path”. Podzielił on drogę developera na 3 etapy:
- Solution Implemener
- Problem Solver
- Problem Finder
Jest to temat na kolejny wpis, ale wystarczy, że powiem: bez umiejętności miękkich ciężko wyjść poza etap pierwszy.
Nawet jeżeli będziemy mieli wiedze techniczną na temat rozwiązywania problemów systemowych, to czy będziemy w stanie pokierować całym zespołem produktowym na tyle, aby te problemy faktycznie rozwiązać? Czy może naklepiemy wszystko sami w ukryciu przed innymi członkami zespołu, zostawiając ich z codebasem pełnym nieznanych im patternów i zasad?
Nie samym pisaniem żyje programista
Pamiętaj: statystycznie jedynie 40% czasu spędzamy w pracy na pisaniu kodu. W całej reszcie potrzebne Ci będą wiedza i umiejętności miękkie, które nabędziesz na tutoringu!
Zatem schowaj grymas do twarzy na komputer na chwile do plecaka.
Poznaj swoje atuty i predyspozycje. Zdefiniuj cele i dąż do nich ze wsparciem tutora! Powodzenia!
* imiona zmyślone na potrzeby zachowania anonimowości osób trzecich