Na studiach przekazywano nam, że rozwój programisty to dość prosta ścieżka - dużo czytaj i jakoś to będzie. To prawda, czytanie książek pisanych przez branżowe autorytety to jeden z najpewniejszych sposobów na podniesienie swoich umiejętności, ale co w momencie kiedy potrzebujemy nowego impulsu? Jakie aktywności pomogą nam w rozwoju kiedy wydaje nam się, że próbowaliśmy już prawie wszystkiego?
Dla wszystkich pracujących na regularnym etacie projekty poboczne to często lek na rozmaite kryzysy związane ze znużeniem pracą czy też rozmaitymi ograniczeniami w danym środowisku. Założenie repozytorium, stworzenie nowego projektu czy też sam fakt rozrysowania wszystkiego od zera może budzić jedynie pozytywne uczucia. W końcu programowanie to budowa, zabawa klockami, tworzenie czegoś z niczego.
Projekty poboczne to znakomita okazja do rozwoju w której to bierzemy sprawy w swoje ręce i nie czekając na wymagania projektowe zaczynamy po prostu… działać. Możesz zepsuć co tylko ci się podoba, zmienić dowolny fragment kodu, naszkicować nowe podejście, albo nawet wyrzucić projekt do kosza. Możesz założyć bloga o twoim rewolucyjnym wynalazku, fanpage na jego temat czy też profil na Instagramie gdzie będziesz wrzucał zdjęcia dokumentujące pracę nad nim. Możesz pochwalić się znajomym, bo nie ograniczają cię klauzule poufności. Możesz poprawić swoje CV, bo w końcu część tego typu pet-projectów zostanie na wieki na GitHubie. Idzie wiosna - być może to dobry czas na nową inicjatywę?
Nauka w izolowanym środowisku w pewnym momencie przestaje być tak efektywna jak dawniej. Książki nie już są tak interesujące, blogi nie są już tak wciągające, a video-tutoriale nie są już tak ciekawe jak w momencie ich odkrycia.
Dlaczego?
Bardzo często dlatego, że wiedzą którą pozyskałeś nie masz się po prostu z kim podzielić. Tutaj na ratunek przychodzi mentoring, który pozwala ci wziąć pod swoje skrzydła osobę która widzi w tobie eksperta. Pomaganie innym jest czynnością która nakręca nas robiąc cokolwiek, a pomaganie innym w kontekście zawodu którym przecież się pasjonujemy to podwójna motywacja. Wspólne rozmowy o problemach są dużo ciekawsze niż nauka w samotności. Odpowiadanie na pytania które uważałeś za pewnik pokazują ci inną perspektywę i przy okazji drogę którą przeszedłeś. Problemy komunikacyjne wskazują na braki które możesz podciągnąć żeby w przyszłości lepiej przekazywać swoją wiedzę. Jak to zrobić? Zaoferuj swój czas na grupach poświęconych programowaniu. Zaoferuj pomoc koledze lub koleżance w pracy. Zacznij udzielać się na forach gdzie początkujący szukają pomocy.
Po dodaniu tylko jednej osoby do twojego środowiska pracy nagle może się okazać, że spojrzenie na własny stan wiedzy zmieni się o 180 stopni - naprawdę warto spróbować.
Co robimy z najlepszymi bibliotekami i narzędziami dostępnymi publicznie? No oczywiście dodajemy taką zależność do naszego projektu, sprawdzamy czy działa i jedziemy dalej. Ilu z nas zatrzyma się jednak i sprawdzi z czystej ciekawości co tak naprawdę siedzi pod maską takiego rozwiązania? W czasach ogromnej popularności GitHuba i drugiej albo trzeciej już młodości open-source wydaje się, że brak poświęcenia nawet kilku minut na sprawdzenie tego jak coś działa od środka to zwykłe zaniedbanie.
Każdy programista myślący o własnym rozwoju powinien mieć w sobie odrobinę zwykłej ciekawości która sprawi, że poświęci trochę czas na przyglądnięcie się jak całkiem mu obcy programista napisał kod który być może ratuje projekt lub sprawia, że oszczędzasz mnóstwo czasu. Czego spodziewać się w środku? Wszystkiego! Innych wzorców, innego formatowania, innego nazewnictwa, innego sposobu na pisanie testów, innej struktury projektu.
Darmowe poszerzenie spojrzenia na programowanie gwarantowane!
Open source to nie tylko darmowe biblioteki ratujące twój projekt. To również okazja na rozpoczęcie pracy nad twoją własną inicjatywą która prowadzona w otwartej formie nauczy cię więcej niż mógłbyś się spodziewać.
Po pierwsze - twój projekt zmusza cię do obserwacji problemów występujących w danym ekosystemie. Nie chcesz przecież rozwiązywać problemów z powietrza.
Po drugie - przez wchodzenie w interakcję z potencjalnymi użytkownikami rozwiązania przechodzisz code review, szkolenie z komunikacji, cierpliwości, zarzadzania czasem i projektem w jednym.
Po trzecie - jest niewiele tak skutecznych dróg podniesienia swojego statusu i renomy w społeczności skupionej wokół danej technologii jak open source.
Pomagamy innym, ale pomagamy też sobie. No i warto pamiętać o tym, że publikowanie rozwiązań z otwartym kodem źródłowym nie musi się ograniczać do rewolucyjnych wynalazków i patentów. Znalazłeś realny problem? Nie trzymaj rozwiązania na dysku - wydaj je na świat!
Dzielenie się wiedzą ma jedną, niesamowicie istotną zaletę związaną z twoim rozwojem - żeby o czymś mówić lub pisać publicznie, to dobrze byłoby najpierw wiedzę na dany temat mieć.
Przez kilka ostatnich lat pisząc posty o rozmaitych technologiach czy przygodach w programowaniu wielokrotnie brałem sobie za temat coś, z czym do tej pory nie miałem kompletnie do czynienia - tak było chociazby z językiem Go. Chciałem przedstawić czytelnikom PoznajProgramowanie.pl z czym się to je, więc spędziłem kilka dni na spotkaniu z tym właśnie językiem. Nie tytułuję się ekspertem ani znawcą, ale mogę już co nieco napisać na temat tego właśnie języka z perspektywy początkującego. Poznaję główne koncepty, zapoznaję się ze składnią, konfiguruję środowisko, a przy tym wszystkim dobrze się bawię.
Dzięki blogom, publicznym prezentacjom czy videotutorialom jesteś w stanie zaczęrpnąć wiedzy w temacie obok którego normalnie przeszedłbyś pewnie obojętnie - a takie odkrycia mogą nawet zmienić całą ścieżkę rozwoju.
Dla naszych profesorów standardowym przedmiotem zawierającym konkretną porcję wiedzy były książki. Prawdopodobnie nie telewizja, nie czasopisma i nie portale społecznościowe. Ścieżka rozwoju była dość standardowa.
Dzisiaj? Dzisiaj wiedza jest wszędzie.
Chcesz obserwować członków core-teamu danego frameworka czy biblioteki? Zapraszamy na Twittera. Chcesz oglądać kodowanie na żywo przez znanego kontrybutora w świecie open source? YouTube czeka. Chcesz zobaczyć podsumowanie spotkania pomiędzy twórcami Reacta i Angulara? Dokument jest dostępny na Google Docs.
Przykładów można mnożyć, a wszystkie one pokazują w jak niesamowitych czasach żyjemy. Dla szukającego wiedzy możliwości są niemal nieograniczone. Jasne, z faktem tym wiąże się też tzw. “paraliż decyzyjny”, tzn. sytuacja w której liczba opcji działa na nas gorzej niż korzyści z nimi związane, jednak po podejściu do tematu ze zdrowym rozsądkiem naprawdę da się przefiltrować to co najbardziej wartościowe.
Które z wymienionych przez mnie sposobów na rozwój działają najlepiej na was samych? Może macie za sobą coś czego nie wymieniłem a w waszym przypadku okazało się niesamowicie ważne?