Moja nauka programowania || Tydzień 20
📄

Moja nauka programowania || Tydzień 20

notion image

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!

 
notion image
 

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 🔊🐍

 
Video preview
 

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…

 
notion image
 

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…

 
notion image

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…

 
notion image
 

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?

 
 
notion image
 

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!

 
notion image
 

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)

 
notion image
 

Narzędzia i materiały


🚀 ChatGPT

🚀 Dokumentacja bibilioteki libGDX

 
notion image
 

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

 
notion image
 

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

 
 
notion image
 
 

Ś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