Nie tak dawno pisaliśmy, dlaczego dobrzy programiści odchodzą z pracy. Jednym z ważnych powodów było to, że się nie rozwijają. Niemniej, nie zawsze chcemy tylko z tego powodu zmieniać pracę. Ba, czasem, po prostu chcemy podkręcić nasz rozwój w dotychczasowym miejscu. Co wtedy? Ano, można po prostu wziąć odpowiedzialność, za swój rozwój i samodzielnie go poszukać ;) Jak? O tym właśnie opowiemy w tym wpisie.
Uwaga! Zanim zaczniesz planować konkretne akcje, zastanów się co tak naprawdę chcesz zmienić i stwórz własny plan na rozwój. Tak, to jest super ważne, bo znając cel, po prostu jesteś w stanie go osiągnąć.
Małe kroczki
Na nie jest sobie w stanie pozwolić każdy z nas. Często bowiem, w naszej pracy czekamy, a to na deploy, a to na pracę kolegi … czasem pomiędzy jednym spotkaniem a drugim jest 20 min i ciężko nam zmienić kontekst. W końcu, można też urwać jedną przerwę na kawę, czy po prostu, jeśli faktycznie nie da się wcisnąć w nasz plan dnia nawet główki od szpilki, dodać do dnia pracy te 20–30 min. Powiedzmy, że mamy więc 20–30 min do wygospodarowania.
Co można z nimi zrobić?
- Zacząć czytać książkę, którą od dawna odkładamy, bo nie mamy czasu. Ja ostatnio wzięłam do pracy Working Effectively with Legacy Code: Michael Feathers (może wkrótce jakaś recenzja) i szybko okazało się, że pomiędzy kolejnymi buildami (które niestety w obecnym projekcie zajmują kupę czasu, “a czasu brak”, by to poprawić) mogę te 5–6 min przeznaczyć na jej czytanie. W rezultacie, po tygodniu, 200 stron jest za mną!
- Czytać artykuły branżowe i blogi. Znacie jvm-bloggers?Znajdziecie tam polskie jvmowe blogi programistyczne. Albo dev.to? Z resztą ciekawych blogów jest pewno mnóstwo (śmiało polećcie swoje ulubione w komentarzach). Można na każdy tydzień wybrać jakiś jeden temat i zgłębiać go właśnie dzięki takiej lekturze.
- Rozwiązywać programistyczne zadania. Pokaźną listę stron z zadaniami znajdziecie w naszym wpisie: Źródła zadań do nauki programowania. To może być fajny sposób na naukę nowego języka programowania, odswieżenie pewnych zagadnień czy być może … przygotowanie do rozmów kwalifikacyjnych. Dość fajnie ostatnio rozwiązuje się mi problemy na HackerRank, choć żałuję, że nie liczą one złożoności obliczeniowej jak te z Codility… Nie mniej jest w czym wybierać!
- Większe zaangażowanie w pracę zespołu. Tak, dobrze widzisz — to też może być świetny sposób na rozwój. Może masz w swoim zespole osobę, której warto pomóc z jakimś zagadnieniem? Może dostrzegasz jakiś problem, coś co nie do końca Wam wychodzi? Może właśnie, macie jakieś zadanie, zawsze odkładane na później? A co by się stało gdybyś właśnie ten “świeżo odkryty, wolny czas” poświęcił na pracę nad problemem? Może dzięki temu również nauczysz się czegoś pożytecznego?
Jasne cele
Drugim sposobem na zwiększenie rozwoju jest rozmowa o tym z managerem. Może wspólnie uda Wam się zmienić obecną sytuacje. Warto mieć wtedy konkretny plan na to, co chcesz osiągniąć, a także propozycje jakie działania możesz podjąć. Dodatkowo, celnym argumentem będzie to, jak osiągnięcie Twojego celu wpłynie na cele projektu, zespołu czy firmy… W każdym projekcie/firmie mniej lub bardziej jawie są środki na rozwój zespołu, dofinansowanie kursów, certyfikacji … Na pewno warto z nich skorzystać.
Co można z nim ustalić?
- Udział w szkoleniu/certyfikacja. Być może jest jakiś temat, który chciałbyś zgłębić, ba wiesz, że właśnie z niego prowadzone są świetne szkolenia. Warto więc zgłosić się i wziąć w nich udział. Podobnie z certyfikatami. Może właśnie w ten sposób chcesz uporządkować wiedzę?
- Udział w konferencji branżowej. W Polsce znajdziecie naprawdę wiele ciekawych pozycji. Niemniej, często sam udział w konferencji przynosi dobrą energię i motywację bardziej niż konkretną wiedzę — warto poszukać czegoś, co naprawdę Cię zainteresuje i będzie mogło zostać sprawdzone przez Ciebie już po.
- Kursy online — dokładnie! W sieci jest przecież całe morze programistycznej wiedzy — może więc kursy online pozwolą Ci usystematyzować Twoją! Zarówno płatne jak i te darmowe, oferują naprawdę wiele. Grunt to wyszukać odopowiedni. W takim przypadku warto oprócz licencji/udziału poprosić o czas na jego zrobienie.
- Czas na własny rozwój. Słynne googlowskie 20% czasu na własne sprojekty jest też praktykowane w innych firmach. Czasem w innym wymiarze, czasem bardziej w sposób związany z projektem, niemniej warto popytać o taką możliwość. Może akurat masz trochę luzu w dotychczasowym modelu pracy i warto wykorzystać go na coś bardziej produktywnego niż koty na YT?
Inicjatywa
W końcu, coś co wymaga od nas trochę więcej odwagi i wyjścia ze strefy komfortu. Niemniej może świetnie uzupełniać się z rozwojem zaplanowanym oficjalnie z managerem — jako zwrot z inwestycji :) A mowa tu o działaniach, które możesz podjąć by sprawdzić swoją wiedzę w praktyce. Podzielić się nią z innymi.
Co dokładnie możesz zrobić?
- Zorganizować spotkanie po szkoleniu/konferencji, przeczytaniu ciekawej książki, czy w końcu sprawdzeniu technologii w praktyce. Dla swojego zespołu, a może i dla całej firmy. Powszechne są spotkania typu Book Club czy Lunch and Learn, a jeśli jeszcze nie ma ich w Twojej firmie to warto je zorganizować.
- Napisać tekst na bloga firmowego/LinkedIna, dodanie tekstu na Confluence/firmową Wiki — znowu, jest to świetny pomysł na podzielenie się swoją wiedzą, jak i jej utrwalenie.
- Mentorowanie innego pracownika. To świetny sposób na rozwój nie tylko umiejętności technicznych, ale i miękkich. Może mieć formę formalną, jeśli w Twojej firmie istnieje program mentoringowy, jak i nieformalną, gdy po prostu w ramach zespołu się na niego umówicie.
- Rekrutacje. Bycie rekruterem technicznym również może nauczyć Cię bardzo wiele. Nie tylko samo przygotowanie do rozmowy, zapoznanie się z obowiązującymi wymaganiami, ale też po prostu poznawanie innych programistów i ich spojrzenia na programowanie.
- Zgłoszenie się na konferencje/targi pracy/szkolenia w charakterze prelegenta. Przekazywanie wiedzy na zewnątrz organizacji często bywa ciutkę bardziej wymagające — musisz przygotować się na bardziej zróżnicowanych odbiorów, a np. w przypadku wykładów na uczelni, również takich, dla których Twój temat będzie całkiem obcy.
- Prowadzenie projektu wewnętrznego. Szewc bez butów chodzi i wiele software housów czy firm IT ma sporo wewnętrzych potrzeb jeśli chodzi o oprogramowanie. Być może w Twojej firmie również przydałaby się nowa prezentacja, aplikacja dla działu księgowości, czy lepszy sposób na zarządzanie zgormadzoną biblioteką — jeśli dostrzegasz taką potrzebę, może warto wyjść z inicjatywą i podjęciem tematu. Część z firm na pewno będzie szczęśliwa i pozwoli na dodatkowy projekt (to może być to 20% z Twojego dnia pracy), a Ty dostaniesz świetne pole do testowania nowych technologii. Ale nie tylko, bo przecież możez również spróbować swoich sił jako Scrum Master, czy Product Owner …
Mam nadzieję, że ten wpis uświadomił Tobie, że da się rozwijać, nawet jeśli projekt, sam w sobie jest raczej nudny i przewidywalny jak flaki z olejem (tutaj uwaga, bo może i to jesteście w stanie zmienić?). Tak potrzeba do tego sporo chęci, a także pracy, w końcu rozwój, to coś, co każdy z nas, sam sobie musi wypracować. Niemniej słaby projekt to nie wystarczająca wymówka byś przestał się rozwijać. I powyższe kroki powinny być Twoją próbą zmiany sytuacji zanim złożysz wypowiedzenie — bo może się okazać, że dzięki temu rozwojowi poza projektem jesteś bardziej szczęśliwy, niż gdybyś po prostu zmienił firmę.