Dzisiejszy tekst otwiera serię wpisów o pisaniu własnych projektów programistycznych i budowaniu swojego programistycznego portfolio na githubie. Mam nadzieję, że cykl ten zachęci wszystkie Super Programistki do eksperymentowania i dalszej nauki oraz pomoże oswoić się z publikowaniem własnego kodu!
Własne projekty są świetną formą nauki!
Od kiedy tylko sama zaczęłam się uczyć programowania – a było to w gruncie rzeczy jeszcze szkole podstawowej – to zawsze nauka zupełnie nowych pojęć była dla mnie bardzo męcząca i czasochłonna. I niezależnie od tego, ile czasu ktoś mi tłumaczył nowe zagadnienia, ja wciąż wyglądałam jak ten kot na pustyni – za nic nie ogarniałam tej kuwety! Czytanie książki o tym, jak coś zaprogramować również nie pomagało i po dziś dzień nie mogę skupić się nad czytaniem manuali dłużej niż pięć minut.
I wcale nie chodzi o to, że jestem głupia, albo nie nadaję się na programistkę! Po prostu – przyswojenie teorii jest zwyczajnie ogromnie trudne, jeśli nie idzie ona w parze z ćwiczeniami praktycznymi! Dlatego też jedną z lepszych metod uczenia się programowania jest próbowanie w praktyce różnych rzeczy. I to próbowanie do skutku, aż w końcu wiemy już na dany temat wszystko (albo chociaż dostatecznie dużo), żeby otrzeć pot z czoła i przejść dalej.
Niezależnie od tego, czy programowania uczysz się w szkole, na uniwersytecie, czy bootcampie – na pewno Twoi prowadzący mają dla Ciebie przygotowane zadania praktyczne – mini-projekty, które pomogą Ci oswoić się z danym zagadnieniem. Jeśli jednak uczysz się samodzielnie bądź po prostu chcesz poszerzyć swoją wiedzę i dowiedzieć się czegoś nowego – zrealizuj swój własny projekt! A potem podziel się nim z innymi, udostępniając kod źródłowy lub odpalając swoją stronę internetową, czy aplikację mobilną.
Twój projekt powinien być idealny…
Jeśli jesteś jedną z tych Super Programistek, które na dźwięk słów “opublikuj swój kod” z miejsca zaczynają się stresować i martwić, czy program będzie dostatecznie dobry i wart opublikowania, oraz czy nikt nie skrytykuje zarówno Twojego pomysłu, jak i jego wykonania – uwierz mi, wiem, jak się czujesz.
Jako programistka pracuję od około 8 lat – mój kod widziało już wielu innych programistów, wielu z nich oceniało jego jakość i podrzucało poprawki, jednak pierwszy raz w mojej karierze w ramach pracy będę wrzucać kod do jednego z projektów open source’owych. I też pierwszy raz w mojej karierze od tygodnia prokrastynuję wykonując wszelkie inne zadania i odkładając w czasie ten straszny moment, kiedy wyślę swoją pierwszą zmianę do publicznego repozytorium.
Mimo że pracuję w branży dostatecznie długo, by wiedzieć, że w code review ocenia się kod, a nie człowieka – boję się krytyki od osób, których nie znam. W pewien sposób jestem jednak w dość komfortowej sytuacji – czy chcę, czy nie, muszę przełamać swój strach i wyjść trochę poza strefę swojego komfortu, żeby zwyczajnie w świecie ruszyć dalej!
I chciałabym, żebyś Ty też spróbowała wyjść poza swoją strefę komfortu! Nie pozwól, by brak pewności siebie, nadmierny perfekcjonizm, czy strach przed krytyką hamował Twój rozwój!
Zacznij więc od rozpoczęcia pracy nad swoim idealnym projektem!
…ale idealny projekt wcale nie musi działać i być użyteczny!
Simone Giertz – szwedzka youtuberka, która w internecie zyskała miano The Queen of Shitty Robots – wywróciła problem braku pewności siebie i tego perfekcjonizmu do góry nogami! Na swoim kanale na Youtube publikuje nagrania z pracy nad śmiesznymi, nie zawsze działającymi robotami. I choć na pierwszy rzut oka może się wydawać, że jej projekty są kompletnie pozbawione sensu, to jednak Simone osiągnęła swój cel – poszerzyła swoją wiedzę, rozwinęła swoją pasję i nauczyła się budować roboty i programować jednocześnie eliminując czynniki takie jak strach przed krytyką i oceną oraz ten cholerny perfekcjonizm!
Twój projekt programistyczny też może taki być! Pierwszym – ogromnym, przyznaję – krokiem w wymyśleniu swojego projektu programistycznego jest uzmysłowienie sobie, że nie musi on być innowacyjny, ani nawet najlepszy w swojej kategorii! To po prostu Twój projekt, który ma pomóc Ci w nauce programowania, czy jakiegoś nowego narzędzia; ma sprawiać Ci frajdę, a praca nad nim ma być dla Ciebie przyjemnością, a nie mordęgą!
Jeśli więc chcesz sprawdzić, jak to jest programować mikrokontrolery, nic nie stoi na przeszkodzie, byś zaczęła od prostego projektu kostki, która świeci na czerwono, gdy jesteś zajęta (szczególnie przydatne dzisiaj, kiedy praca z domu to nasza codzienność). A może chcesz spróbować swoich sił z machine learningiem, ale nie czujesz się na siłach analizowania wirusa i szukania podobieństw z innymi? Zacznij od nauczenia swojego programu rozpoznawania, czy na zdjęciu znajdują się parówki, czy jednak nogi opalającej się na plaży dziewczyny, tak jak robił to jeden z bohaterów serialu Silicon Valley!
W 2013 roku Sheryl Sandberg – kobieta rakieta, która w swojej karierze zasiadała w Departamencie Skarbu Stanów Zjednoczonych, była wiceprezes Global Online Sales and Operations Google, a od 2008 roku pracuje jako szefowa operacyjna w firmie Facebook – zorganizowała akcję pt. “Co byś zrobiła, gdybyś się nie bała” (ang. “What would you do if you weren’t afraid”) zachęcającą kobiety do podzielenia się swoimi pomysłami, pragnieniami i marzeniami, które chętnie by zrealizowały, gdyby nie powstrzymywał ich strach.
A czy Ty wiesz, jaki projekt byś zrealizowała, gdybyś się nie bała?
Najważniejsze, to zacząć!
Praca nad swoim pierwszym projektem wcale nie jest trudna i jestem pewna, że przyniesie Ci sporo radości! Zacznij od małych kroków, a potem ulepszaj swoje pomysły i rozwiązania. I pamiętaj – robisz to dla siebie i po to, żeby się czegoś nauczyć, a w końcu lepiej jest robić coś – nawet jeśli popełniasz przy tym masę błędów – niż kompletnie rezygnować z eksperymentów (i swoich marzeń!).
Przy okazji masz też szansę zbudować swoje programistyczne portfolio na githubie, co może przydać Ci się również w przyszłości!
A jeśli ja Cię jeszcze nie przekonałam do tego, że Twój projekt wcale nie musi być idealny, to może Simone się uda?
Podziel się linkiem w komentarzu, jak już zaczniesz pracę nad swoim projektem programistycznym!