I - stawiamy sobie cel, który nas motywuje. Nawet gdy mamy pod nosem wszystkie potrzebne materiały, to najtrudniejszą rzeczą jest się zmotywować i na tym większość osób odpada.
II - Konfiguracja środowiska. Wbrew pozorom nie taki banał. Priorytetem powinny być wasze osobiste preferencje. Każde narzędzie, z którym potraficie pracować jest dobre. Nie dajcie się hejterom eclipsa. :D
III - Naucz się solidnych podstaw. Z videoturoali z Javy poleciłem te 3 kanały:
btw ja mam pytanie. jak wyglada praca w korpo jako java dev. zakladam ze jestes juz senior.
@jedzbudynie: jestem juniorem w niemieckim startupie ;)
Następny odcinek przygotowuję o atmosferze w tym startupie, jak wygląda dzień pracy itp. Na Twoje pytania dotyczące pracy w korporacji raczej nie jestem w stanie odpowiedzieć.
@jedzbudynie: Senior Java dev w zachodniej korpo, z oddziałem w PL here:
1. Terminy są dosyć napięte, ale przeważnie wszystko jest planowane tak, żeby był zapas. Zdarzają się obsuwy z releasem rzędu kilka dni w stosunku do planów, ale nie są raczej mile widziane.
2. Używa się standardów (w szczególności jeśli chodzi o języki takie jak Java), bo po co pisać na nowo coś, co działa dobrze i jest przetestowane. Zdarza się,
@jedzbudynie: @JavaDevMatt: Myślicie, że przepisywanie kodu jak przysłowiowa "maupka" ma sens w nauce programowania w Game Devie? Oczywiście plus sukcesywnie analizowanie kodu i badanie co dana funkcja robi?
Czy można to porównać do grania na gitarze i uczenie się nowych piosenek "coverów"? Czy może programowanie to inna abstrakcja?
Czy kolejne gry, są ulepszonymi kopiami "starych" gier? Z lepszą grafiką, mechaniką, ale "bazowym"
@Rezix: przepisywanie jak maupka z analiza tego kodu. np nigdy bym nie wpadl ze np dana funkcja otwiera x/zmienia x. mozna sie nauczyc ciekawych rzeczy np skakanie to funkcja sin i cos. i tak dalej
na gitarze nigdy nie gralem i nie zamierzam sie uczyc.
3. mozliwe. ale zawsze gra 2d bedzie miala taka sama mechanike. jedyne co mozna zrobic to dodawac ciekawe rzeczy jak np strzelanie/inne duperele. problem jest ze trzeba
@JavaDevMatt: A ja bym podyskutował o zupełnie innej kwestii- myśleniu. Nie jest istotne nauczenie się składni języka(Java, C++, Python obojętnie)- to akurat można bardzo szybko pojąć jeżeli ma się ciut więcej inteligencji niż przeciętny kamień. Najważniejsze z mojego doświadczenia jest nauczenie się myślenia algorytmami. Co z tego, że ktoś będzie świetnie znał składnię języka jak potem dostanie się jakaś pierdołę do napisania i polegnie? Można przeczytać całe Thinking in Java,
@Cry: mikrofon mi coś zaczął szwankować... postaram się coś z tym zrobić do następnego odcinka. Chyba po prostu za bardzo gaina odkręciłem podczas nagrywania.
@Rezix: co do takiego małpowania. Mam taką metodę jak zabieram się do jakiegoś projektu. Wypisuje sobie tickety, co muszę potrafić zrobić w tym projekcie: np. kolizja z wykryciem jakiegoś parametru, symulacja grawitacji itp. Następnie robię sobie takie "dummy" programy, które są od tej funkcji. Jak już wiem, jak każda cegiełka działa, którą potrzebuję np. do mojej gry, to zaczynam sklecać grę i piszą już te rzeczy po swojemu. Nie ma
@JavaDevMatt: Mądrze mówisz- że technologia jest mniej ważna, najważniejsze jest rozwiązywanie problemów i wyszukiwanie sposobu jego rozwiązania. Ale dodałbym jeszcze od siebie jedną rzecz- bardzo ważne jest nie tylko pisanie kodu, ważne jest jego czytanie. Dla mnie przynajmniej najbardziej efektywnym sposobem uczenia się programowania jest czytanie cudzego kodu i korzystanie z pewnych rozwiązań i praktyk- bo sam bym tego lepiej nie wymyślił na przykład. Ale nie bezmyślnie kopiując kod, raczej
@JavaDevMatt: (Chciałem zedytować komenta, ale było już za późno, więc dodaję tutaj)
I muszę też tutaj pomarudzić na książki- naprawdę jest mało dobrych książek do programowania- takich które opisują programowanie bardziej z tej praktycznej strony. Naprawdę nieliczne zawierają kod który mógłby być że się wyrażę "produkcyjny", a przypieprzam się tu właśnie do przykładów, które są fatalne i z d--y wzięte np. dziedziczenie jest zaprezentowane na zasadzie "o tutaj mamy ssaka
Czy kolejne gry, są ulepszonymi kopiami "starych" gier? Z lepszą grafiką, mechaniką, ale "bazowym" kodem takim samym?
Nie. :) Przynajmniej w moim przypadku. Zwykle w ciągu projektu nauczę się tyle, że kolejne gry tworzone są odrobinę inaczej i stary kod się nie nadaje. W korporacjach może to wyglądać inaczej.
@jedzbudynie: "ale zawsze gra 2d bedzie miala taka sama mechanike." So so not true :) spriteBatch.draw będzie takie
mozna nawet powiedziec ze w niemczech to dev i niewyksztalcony bezjezykowy operator kosiarki ma te 3k euro wiec nie wiem ile powinien miec junior dev 6k euro ?
@bazingaxl: jesli pracuje jako wolny pracownik na kontkracike to tak, na etacie zarabia sie mniej, ale za to pracuje sie tez zdecydowanie mniej. Kwota brutto przy 260 godzinach bylaby zdecydowanie powyzej 6k.
Moje przemyślenia na temat tego jak uczyć się programowania.
Zapraszam również do dyskusji, bo pewnie znajdzie się sporo osób z innym przemyśleniami na ten temat.
#naukaprogramowania #programowanie #java #android #nauka
tl;dw:
Podzieliłem proces nauki na cztery kroki:
I - stawiamy sobie cel, który nas motywuje. Nawet gdy mamy pod nosem wszystkie potrzebne materiały, to najtrudniejszą rzeczą jest się zmotywować i na tym większość osób odpada.
II - Konfiguracja środowiska. Wbrew pozorom nie taki banał. Priorytetem powinny być wasze osobiste preferencje. Każde narzędzie, z którym potraficie pracować jest dobre. Nie dajcie się hejterom eclipsa. :D
III - Naucz się solidnych podstaw. Z videoturoali z Javy poleciłem te 3 kanały:
https://www.youtube.com/user/thenewboston/
https://www.youtube.com/user/derekbanas
https://www.youtube.com/user/caveofprogramming
dla tych, którzy wolą książki poleciłem tę książkę: http://helion.pl/ksiazki/java-podstawy-wydanie-ix-cay-s-horstmann-gary-cornell,javpd9.htm
IV - Praktyka. Własny projekt, w którym uczymy się tego co najważniejsze: rozwiązywanie problemów, szukanie informacji.
Have fun. :)
@jedzbudynie: jestem juniorem w niemieckim startupie ;)
Następny odcinek przygotowuję o atmosferze w tym startupie, jak wygląda dzień pracy itp. Na Twoje pytania dotyczące pracy w korporacji raczej nie jestem w stanie odpowiedzieć.
1. Terminy są dosyć napięte, ale przeważnie wszystko jest planowane tak, żeby był zapas. Zdarzają się obsuwy z releasem rzędu kilka dni w stosunku do planów, ale nie są raczej mile widziane.
2. Używa się standardów (w szczególności jeśli chodzi o języki takie jak Java), bo po co pisać na nowo coś, co działa dobrze i jest przetestowane. Zdarza się,
Czy można to porównać do grania na gitarze i uczenie się nowych piosenek "coverów"? Czy może programowanie to inna abstrakcja?
Czy kolejne gry, są ulepszonymi kopiami "starych" gier? Z lepszą grafiką, mechaniką, ale "bazowym"
na gitarze nigdy nie gralem i nie zamierzam sie uczyc.
3. mozliwe. ale zawsze gra 2d bedzie miala taka sama mechanike. jedyne co mozna zrobic to dodawac ciekawe rzeczy jak np strzelanie/inne duperele. problem jest ze trzeba
Odszumiaj dźwięk! Wytrzymałem minutę nagrania. Widać, że montujesz film, więc dwie dodatkowe minuty w audacity nie zaszkodzą.
@JavaDevMatt: Nie zadałem sobie trudu, aby sprawdzić czy taki jest, ale wg mnie pasował by tag "edukacja".
I muszę też tutaj pomarudzić na książki- naprawdę jest mało dobrych książek do programowania- takich które opisują programowanie bardziej z tej praktycznej strony. Naprawdę nieliczne zawierają kod który mógłby być że się wyrażę "produkcyjny", a przypieprzam się tu właśnie do przykładów, które są fatalne i z d--y wzięte np. dziedziczenie jest zaprezentowane na zasadzie "o tutaj mamy ssaka
Nie. :) Przynajmniej w moim przypadku. Zwykle w ciągu projektu nauczę się tyle, że kolejne gry tworzone są odrobinę inaczej i stary kod się nie nadaje. W korporacjach może to wyglądać inaczej.
@jedzbudynie: "ale zawsze gra 2d bedzie miala taka sama mechanike." So so not true :) spriteBatch.draw będzie takie
@JavaDevMatt:
http://www.wykop.pl/wpis/9846948/wrocilem-dzisiaj-do-polski-na-kilka-dni-podsumowuj/
mozna nawet powiedziec ze w niemczech to dev i niewyksztalcony bezjezykowy operator kosiarki ma te 3k euro wiec nie wiem ile powinien miec junior dev 6k euro ?