Witam Cię ponownie!
Ostatnio pochwaliłem się na LinkedIn
ukończeniem ścieżki podstawowej w programie mentorinowym “Za rączkę
” Daniela Rozieckiego, w ramach której zgłębiałem tajniki podstaw języka Java
. Teraz ruszam w kierunku bardziej zaawansowanych obszarów backandu!
W ramach zaliczenia poziomu Basic napisałem grę Snake 2D przy użyciu biblioteki ligGDX
. Poniżej film z rozgrywki. Oglądaj z dźwiękiem 🔊🐍
Dzisiaj chciałbym podzielić się z Tobą jedną z refleksji pojawiających się w mojej głowie podczas podróży przez świat nauki programowania. Porozmawiamy o planowaniu celów i umiejętności zadawania pytań.
“Zaplanuj cele na kolejne lata" ~ Daniel Roziecki
Jak sugerował, tak zrobiłem. Gdy dołączyłem do jego programu kilka miesięcy temu, ustaliłem sobie, że ukończę początkową ścieżkę nauki do dnia 31 grudnia 2023 roku. Zgodnie z tym planem po 1 stycznia 2024 miałbym rozpocząć ścieżkę zaawansowaną.
Niestety, udało mi się osiągnąć założony cel dopiero pod koniec lutego. Prawie 2 miesiące po ustalonym czasie. Co było przyczyną? “Zauroczyłem się” w jednym z projektów tak bardzo, że zamiast go upraszczać, z dnia na dzień komplikowałem go jeszcze bardziej. Doprowadziłem do sytuacji, w której sam już nie rozumiałem kodu, który napisałem. Utknąłem na wiele dni… Co zatem zrobiłem? Zamiast poprosić kolegów z mentoringu o wsparcie, starałem się uparcie szukać rozwiazania w samotności. I nie był to pojedyńczy wypadek przy pracy. Ta historia powtórzyła się kilkukrotnie w poprzednich mini projektach, kiedy marnowałem bezsensownie mnóstwo czasu bijąc głową w mur…
Czy mogłem tej sytuacji uniknąć? Oczywiście! Gdybym tylko zapytał kogoś bardziej doświadczonego o pomoc…
Dlaczego pomoc nas przeraża?
W społeczeństwie polskim ludzie unikają pytania o pomoc, nawet gdy czują jej potrzebę. Wielu z nas niezwykle trudno jest się przyznać do braku wiedzy czy umiejętności, a ten fenomen ma swoje korzenie głęboko w polskim systemie edukacji, który często kształtuje nasze podejście do nauki i zdobywania wiedzy.
Nasze osiągnięcia są mierzone ocenami. Szkoła kładzie ogromny nacisk na wyniki testów, egzaminów i ocen końcowych, co wpływa na nasze poczucie wartości. Sukces jest mierzony punktami, a pytanie o pomoc może być postrzegane jako oznaka słabości, czy niedostatecznej wiedzy. Obawiamy się, że poprzez zwrócenie się o wsparcie, zostaniemy uznani za tumanów, którzy nie są w stanie poradzić sobie samodzielnie…
Prośba o wsparcie - słabość, czy odwaga?
Programuje zaledwie kilka miesięcy, ale wiem już, że pytanie o pomoc to kluczowy element rozwoju w tym fachu. Z resztą nie tylko w programowaniu, ale w wielu dziedzinach życia. Niemniej jednak, często tego unikamy, obawiając się, że inni zjedzą nas żywcem. Ale czy prośba o wsparcie naprawdę jest oznaką słabości? Według mnie raczej siły. Siły by zrozumieć swoje ograniczenia i dążyć do ich przezwyciężenia.
Czego sam się nauczyłem o pytaniu o pomoc?
Z własnego doświadczenia wiem, że unikanie pytania o wsparcie i uporczywe próby radzenia sobie samemu w MEGA trudnych sytuacjach prowadzą jedynie do frustracji i braku postępów.
Jednak zanim poprosisz o pomoc, warto poświęcić wystarczająco dużo czasu na samodzielne próby rozwiązania problemu. Może okazać się świetie poradzisz sobie sam, a wsparcie nie będzie konieczne. Niemniej jednak, jeśli na prawdę uważasz, że napotkany problem Cię przerasta, rozważ zwrócenie się o pomoc do osób doswiadczonych.
Gdy już zdecydujesz się zapytać, zrob to w odpowiedni sposób. Zastanów się, kogo najlepiej zapytać. Może to być mentor, bardziej doświadczony kolega/koleżanka, czy osoba z internetowej społeczności programistycznej. Opisz swój problem dokładnie, ale badź konkretny. To ułatwi osobie zrozumienie, w czym potrzebujesz pomocy. Pamiętaj też, aby szanować czas tej osoby. I o zgrozo, nie pytaj o tę samą rzecz kilka razy…
Zadawaj odpowiednie pytania, dopytuj o szczegóły
Kiedy stajemy przed zadaniem, które wydaje się złożone lub niejasne, często unikamy pytania o szczegóły, obawiając się, że okażemy swoją niewiedzę. Jednak właśnie wtedy warto zebrać się na odwagę, aby zadać pytania, które pomogą lepiej zrozumieć trudną dla nas sytuację. Oto przykłady z życia wzięte:
Przykład 1:
Ostatnio w “Za rączkę” mamy nowy program M&M - Mini Mentor
, w którym osoby bardziej doświadczone pomagają tym, z mniejszym bagażem. Ja znalazłem się pod skrzydłem Daniela, który pomógł mi bardzo przy aktualnym projekcie.
Do rzeczy. W środę brałem udział w kolejnej edycji Mini Hackathonu
organizowanym w ramach naszego mentoringu. Chwilę przed spotkaniem uciąłem sobie pogawędkę właśnie z Danielem, który zasugrował, abym aktywniej zadawał pytania o szczegóły podczas prezentacji zadania w Mini Hackathonie.
Jego sugestia była kluczowa, biorąc pod uwagę złożoność tematu, który wprowadził uczestników w zakłopotanie. Wszystkie nasze pytania pomogły wyjaśnić wątpliwości i klarownie zrozumieć treść zadania. Bez tego dialogu wielu z nas mogłoby mieć trudności z prawidłowym zrozumieniem zadania, co z pewnością skomplikałoby jego rozwiązanie.
Przykład 2:
To samo dotyczy naszej współpracy z Danielem przy moim ostatnim wspomnianym projekcie gry Snake
. Napotykałem wiele problemów, które początkowo było mi trudno wytłumaczyć Danielowi w kilku zdaniach. Jednak w miarę współpracy nauczyłem się prosić o pomoc konkretnie i precyzyjnie. Skuteczna komunikacja wymaga nie tylko odwagi, ale także umiejętności precyzowania myśli, wyrażania swoich potrzeb. Zauważyłem, że kiedy potrafię wyartykułować swoje potrzeby w sposób sprecyzowany, to współpraca staje się bardziej płynna i efektywna.
“Kto pyta, nie błądzi" - easy peasy, prawda?
Mój tygodniowy postęp
🚀 Ukończyłem grę Snake 2D w Javie przy użyciu biblioteki libGDX
🚀 Rozwiązałem zadanie z wydarzenia Mini hackathonu, w którym miałem zaimplementować własną tablicę hashującą
🚀 Czas na zgłędbianie najbardziej skrytych zakamarków backendu!
Napotkane trudności
🚀 Początkowo przekombinowałem z dziedziczeniem i implementacją niepotrzebych interfesjów w grze Snake 2D
🚀 Efektem był problem z zaimplementowaniem gotowej metody umożliwiającej efektywne przełączanie pomiędzy ekranami gry
🚀 Z pomocą przyszedł mój Mini Mentor kolega Daniel, który zasugerował, abym spróbował uprościć program, pousuwać skomplikowane funkcjonalności i wtedy sprawdzić działanie (taki proof of concept)
Narzędzia i materiały
🚀 ChatGPT
🚀 Dokumentacja bibilioteki libGDX
Reflekcje i wnioski
🚀 Umiejętność pytania o pomoc we właściwy sposób jest niezwykle istotną kwestią
🚀 Skuteczna komunikacja wymaga nie tylko odwagi, ale także umiejętności precyzowania myśli, wyrażania swoich potrzeb
Cele - kolejny tydzień
🚀 Programowanie
▪️Zapoznać sie z formatem JSON
▪️Sockety w Javie
🚀 Blog / marka osobista
▪️Wpis na blog - 1 akapit dziennie
▪️Czwartkowa publikacja na LinkedIn
🚀 Szlifowanie skilli:
▪️Książka “Getting things done
▪️Kodować 2h dziennie
Śledź moją aktywność na LinkedIn
Zapisz się na mój newsletter
Jeśli masz jakieś sugestie lub pytania, proszę napisz do mnie wiadomość: kuba@javampokaze.pl