Moja nauka programowania || Tydzień 15 || Raport
📄

Moja nauka programowania || Tydzień 15 || Raport

notion image
 

Witam Cię ponownie!


Programownie to sport, który można uprawiać na dwóch płaszczyznach: indywidualnej i drużynowej.

To trudne i wymagające zajęcie, które nie zawsze przynosi natychmiastowe efekty. Wymaga stałego zaangażowania i wysiłku. Jednak każdy krok naprzód, nawet ten najmniejszy, to zwycięstwo. Charakter staje się kluczowym elementem sukcesu. Nawet gdy napotykasz trudności, to determinacja i wytrwałość są tym, co napędza cię do przodu. Zupełnie jak w sporcie.

 
notion image
 

Sport indywidualny


Proces nauki programowania to pojedynki z własnymi słabościami, czesto również z brakiem motywacji. To walka indywidualna, podczas której możesz być dla siebie zarówno trenerem, jak i zawodnikiem. Tutaj liczy się nie tylko umiejętność kodowania, ale przede wszystkim charakter. Trening indywidualny to wyzwanie, które wymaga samodyscypliny, determinacji i cierpliwości. Oczywiście, podobnie jak w sporcie, możesz mieć swojego mentora, który będzie czuwał nad Twoim rozwojem. Jednak cała najtrudniejsza praca i doskonalenie umiejętności leży tylko i wyłączenie w twoich rękach. Mentor może wskazać Ci drogę na szczyt, jednak to, czy go zdobędziesz zależy tylko od Ciebie…

 
notion image
 

Sport drużynowy


Programowanie można również traktować jako dyscyplinę drużynową. Podczas swojej ścieżki rozwoju niejednokrotnie spotkasz się ze ścianą. Ścianą, która może wydać się niedoprzeskoczenia. Jasne, możesz próbować rozwiązać problem w nieskończoność. Walić głową w mur i tracić motywację z każdą nieudaną próbą. Możesz też podejść do tego z głową i poprosić o pomoc bardziej doświadczone osoby. W tym momencie kluczową kwestią będą Twoje skille miękkie. Umiejętność klarownego wyrażania problemów i przekazywania informacji jest kluczowa dla skutecznej współpracy z innymi.

 
notion image

A teraz wyobraź sobie, że trafiasz do nowego projektu. Pierwsza sprawa to umiejętność czytania kodu. To istotny aspekt tej gry zespołowej. Podczas rozwoju zawodowego napotkasz kod stworzony przez innych członków zespołu. Umiejętność szybkiego i efektywnego zrozumienia cudzego kodu jest nieodzowna. To jak studiowanie taktyki przeciwnika przed ważnym meczem. Czytanie kodu pozwala zrozumieć, jakie strategie zastosowali inni programiści, jakie decyzje podjęli, i jakie wyzwania napotkali. To również szansa na pozyskanie nowych umiejętności i technik, które można wdrożyć do swojej własnej gry programistycznej.

W sytuacji, gdy dołączasz do zespołu pracującego nad danym projektem, czytanie kodu nabiera szczególnego znaczenia. To jak analizowanie ruchów współgraczy na boisku – zrozumienie, jak każdy fragment kodu wpływa na całość projektu. Jednocześnie jest to szansa na budowanie więzi z zespołem, podobnie jak w drużynowych sportach. Kiedy rozumiesz kod innych, łatwiej jest wchodzić w interakcje, dzielić się wiedzą, a także efektywnie współpracować nad projektem. Czytanie kodu staje się więc narzędziem, które umożliwia nie tylko lepsze zrozumienie projektu, ale także bardziej efektywną pracę zespołową.

 
notion image

Inną kwestią jest to, że jesteś nową osobą w zespole. W tym momencie liczy się nie tylko wiedza techniczna, ale także zdolność do pracy w grupie. Empatia, umiejętność współpracy, czy rozwiązywania konfliktów to kluczowe elementy, które powinieneś uwzględnić przygotowując taktykę gry. Programowanie staje się swoistym drużynowym wyzwaniem, gdzie sukces zależy nie tylko od indywidualnych umiejętności, ale także od synergii zespołu, którego jesteś członkiem. Przypomina to dynamiczny mecz, gdzie każdy ruch jednego zawodnika wpływa na rezultat całej drużyny.

Według mnie programowanie to nie tylko samotne pojedynki przed monitorem, czy wspólne tworzenie aplikacji. To cholernie ciężki sport, gdzie zarówno indywidualne umiejętności, jak i zdolności zespołowe grają kluczową rolę. Ostateczny sukces nie zależy tylko od kodu, ale również od charakteru i umiejętności współpracy. Wszystko zależy od Ciebie i Twojego podejścia do gry!

notion image

Mój tygodniowy postęp


🚀 Serialization and I/O:

▪️BufferedReader, BufferedWriter classes - done

▪️BufferedInputStream i BufferedOutputStream classes- done

🚀 Networing and threads:

▪️Client-Server concept - done

▪️Socket / SocketChannel - done

▪️Thread class- done

▪️Runnable Interface- done

▪️java.util.concurrent (Executors / ExecutorService)- done

▪️Thread pool - done

 
 
notion image
 

Napotkane trudności


🚀 Zauważyłem, że dość sporą trudność sprawia mi czytanie kodu w bardziej złożonych projektach

🚀 Zdaję sobie sprawę, że czytanie bardziej złożonych projektów będzie ode mnie wymagać czasu i praktyki

 
notion image
 

Narzędzia i materiały


🚀 Wspieranie się ChatemGPT

🚀 Head First Java Book 3rd Edition

 
notion image
 

Reflekcje i wnioski


🚀 Priorytetem na ten tydzien jest skupienie się na czytaniu kodu, ponieważ jest to równie istotne co jego pisanie. Czytając kod wzmacniasz tym samym swoje umiejętności programowania

🚀 Zapisałem odnośniki do dwóch fajnych projektów i na nich się skupię

🚀 Jak czytać kod:

▪️Śledzić ścieżkę wykonania kodu, krok po kroku

▪️Zidentyfikować zależności między różnymi częściami projektu

▪️Dzilić fragmenty kodu na mniejsze i próbować zrozumieć ich działanie

 
notion image
 

Cele - kolejny tydzień


🚀 Programowanie

▪️Race conditions and immutable data

▪️Skupić się na czytaniu kodu

🚀 Blog / marka własna

▪️Wpis na blog - 1 akapit dziennie

▪️Czwartkowa publikacja na LinkedIn

🚀 Szlifowanie skilli:

▪️Praca głęboka - minimum 2h dziennie

▪️Zasada 30% teorii / 70% pisania kodu

▪️Języki angielski/hiszpański

 
notion image

Śledź mnie na LinkedIn:


Newsletter:


👋
Jeśli masz jakieś sugestie lub pytania, proszę napisz do mnie wiadomość: kuba@javampokaze.pl