Witam,
Jakie wymagania muszę spełniać i co muszę potrafić, jakie książki przerobić, by zacząć zarabiać pierwsze pieniądze programując w Javie?

- Rejestracja:prawie 10 lat
- Ostatnio:4 miesiące
- Lokalizacja:Hong Kong
- naucz sie podstaw z https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304 albo za free z https://docs.oracle.com/javase/tutorial/
- napisz pare malych programikow/gierek i wrzuc na github.com
- wysylaj cv na juniora, na pewno ktos odpowie
Zerknij sobie na dział Ogłoszenia, popatrz za co ludzie chcą zapłacić, zastanów się, czy byś umiał to zrobić.
Co jest bezwzględnie potrzebne? Znajomość języka i podstaw algorytmiki oraz co najmniej jednego zagadnienia — tu już musisz wybrać sobie samemu, czy ciekawi Cię pisanie serwletów (więc znajomość protokołów sieciowych itd.), czy może aplikacji okienkowych (biblioteki do GUI), czy jeszcze coś innego.
Powiedzmy to, co jest we „Wprowadzeniu do algorytmów” Cormena i spółki. Trochę za dużo i pewnych rzeczy mi brakowało (aczkolwiek mam stare wydanie, może w nowych jest lepiej), ale dobrze wytłumaczone i stanowi naprawdę niezłą podstawę, potrzebną by móc łatwo rozumieć cudze i wymyślać swoje algorytmy.
- Rejestracja:około 8 lat
- Ostatnio:ponad 4 lata
- Postów:47
I ta książka wystarczy do algorytmów? 1300 stron, więc myślę że całkiem sporo tego
Przerobić ją przed czy po nauce javy? i czy jest ona niezbędna?
To jest tylko 1 300 stron, tam nie bez powodu jest wprowadzenie w nazwie. Ale daje dobry start. Ważne jest przede wszystkim zrozumienie technik tak przedstawionych, na drugim miejscu jest wiedza, że pewne algorytmy istnieją (tzn. pamięta się, że jest np. algorytm znajdowania odległości między wszystkimi parami wierzchołków w czasie O(n³)), co niekoniecznie musi się wiązać z umiejętnością zaimplementowania ich z pamięci. I to są rzeczy w mojej opinii niezbędne, tzn. nie chciałbym programować z kimkolwiek, kto tego nie zna.
Nie ma natomiast znaczenia, kiedy się tego nauczysz, bylebyś to koniec końców umiał.

- Rejestracja:około 12 lat
- Ostatnio:około 3 lata
Biały Orzeł napisał(a):
Witam,
Jakie wymagania muszę spełniać i co muszę potrafić...Musisz umieć programować w javie
Zerowa wartość merytoryczna odpowiedzi. Umiejętność programowania w danym języku to kontinuum, a nie binarna skala dychotomiczna.
Odpowiadając na pytanie Autora - koledzy i koleżanki już praktycznie udzielili Ci dobrych odpowiedzi. Przerób sobie od A do Z jakiś kurs, np. na YouTube. Może to być dajmy na to kurs na kanale Cave of Programming z 2011 roku - . Niezależnie od daty pojawienia się pierwszego materiału wszystko jest całkiem nieźle wytłumaczone i stanowi zacny wstęp do programowania w Javie. Możesz również przerobić kurs Stanforda z 2009 roku - . Ten kurs z kolei stanowi świetne wprowadzenie do metodologii programowania na bazie Javy. Oczywiście idąc tym tropem dalej można polecić zdecydowanie nowsze produkcje, które bez problemu znajdziesz na https://www.udemy.com/, https://www.lynda.com/, https://www.coursera.org/, czy https://www.edx.org/. Kursy przerabiaj aktywnie, tzn. pisz to, co jest w nich przerabiane w swoim IDE. Polecam Ci pracę w IntelliJ IDEA - https://www.jetbrains.com/idea/.
Gdy zdobędziesz solidne podstawy zacznij pisać swoje rzeczy. Tutaj masz ponad 1500 pomysłów na to, co można napisać - https://www.linuxtrainingacademy.com/projects/. Dodatkowo, załóż sobie konto na GitHubie (https://github.com/) i naucz się pracy z repozytoriami tak z poziomu samego GitHuba, jak i IntellIJ IDEA.
Następnie przejrzyj oferty pracy dla Juniorów i zrób listę wymagań technologicznych wobec takiego Juniora. Ostatecznie stwórz maks 3 projekty wykorzystujące technologie wymagane w ofertach pracy i zamieść je na GitHubie. Koniec końców napisz CV i zacznij je rozsyłać, gdzie tylko będziesz miał ochotę.
Zapewne o wielu rzeczach nie wspomniałem, ale gdybym chciał to zrobić, to musiałbym napisać książkę.
Powodzenia!





- Rejestracja:około 8 lat
- Ostatnio:ponad 4 lata
- Postów:47

- Rejestracja:prawie 11 lat
- Ostatnio:21 dni
- Lokalizacja:Londyn
- Postów:873
Co wy macie z tymi algorytmami?
Masz umieć myśleć i programować jakieś podstawy znać i framework, np Springa czy cokolwiek się teraz w Javie używa, albo Android SDK jak to Cię interesuje. Algorytmów wszelakich nie musisz umieć wymyślać, ale ważne żebyś umiał programować obiektowo.
Owszem, ogarnianie algorytmów pomaga uczyć się myśleć jak programista, ale nie przesadzałbym z tym.

- Rejestracja:prawie 10 lat
- Ostatnio:4 miesiące
- Lokalizacja:Hong Kong
Althorion napisał(a):
Powiedzmy to, co jest we „Wprowadzeniu do algorytmów” Cormena i spółki. (...) dobrze wytłumaczone i stanowi naprawdę niezłą podstawę, potrzebną by móc łatwo rozumieć cudze i wymyślać swoje algorytmy.
serio cormen to jest przyjazna ksiazka dla poczatkujacego? no nie sadze.
podstawa? chyba pod monitor :)
nie jestem w stanie zrozumiec jak mozna polecac tego gniota komus kto sie chce sie po prostu nauczyc programowac.
w sumie to nie wiem czy takie odpowiedzi to po prostu trollowanie dev15k wannabes czy jakas forma agresji przeniesionej (t.j. wymeczylem tego cormena na studiach to niech inni mysla ze to niezbedne i cierpia).



Algorytmy na poczatek zostaw w spokoju. Z Twoich postów wynika, ze dopiero zaczynasz wiec tak jak radzili poprzednicy, zrob prostego CRUDa w Springu, Android SDK itp. wspomagajac sie tutorialami z youtuba lub ksiazki.
Potem ogarnij algorytmy, ale zostaw Cormena na pozniej. Zacznij od https://www.coursera.org/learn/algorithms-part1
Moim zdanie idealny kurs dla programistow Javy. Przystepna teoria w formie filmikow i ksiazki a do tego najwazniejsze - cwiczenia praktyczne ze sprawdzeniem Twojego rozwiazania.
Zycze zapalu i systematycznosci. Powodzenia :)
- Rejestracja:ponad 9 lat
- Ostatnio:około rok
- Postów:315
Nie wiem jak mozna odradzac nauke algorytmow. Na podstawie posta zakladam ze autor to kolejny wannabe programmer - co oznacza ze ma ogromne braki we wszystkim (lacznie z tak trywialna rzecza jak algebra Boole'a). Poznanie algorytmow oraz implementacja paru pozwoli mu na spore zalatanie czesci tej dziury. Algorytmow nie musi znac na pamiec bo ogolnie nie jest to potrzebne - wystarczy ze bedzie kojarzyl ich istnienie i zaimplementuje pare aby sie "rozruszac".

- Rejestracja:prawie 10 lat
- Ostatnio:4 miesiące
- Lokalizacja:Hong Kong
nigdzie nie odradzam nauki algorytmow, krytykuje polecanie cormena jako pozycji dla laika ktory chce zaczac kodowac.
rozpoczecie nauki javy (czy innego jezyka) wymusza nauke podstaw tworzenia algorytmow, nie widze sensu zaczynania od nauki algorytmiki samej w sobie.
z doswiadczenia wiem ze mozna zakodowac calkiem sporo (i znalezc prace) jeszcze przed usystematyzowaniem wiedzy cormenem czy innym knuthem, dodatkowo jako ze zajmuje sie rekrutacja techniczna to widze jak wyglada wiedza z algorytmiki u 'senior' developerow :) wiec imo algorytmika tak pomaga w pracy przecietnego programisty jak ekonomia przecietnej kasjerce


- Rejestracja:ponad 9 lat
- Ostatnio:około rok
- Postów:315
katelx napisał(a):
wiec imo algorytmika tak pomaga w pracy przecietnego programisty jak ekonomia przecietnej kasjerce
Raczej jak matematyka u budowlanca.... Wg mnie osoby co dzis sie obudzily ze chca zostac programistami i pytaja o to na forum (wystarczy troche poszukac) beda mialy problemy ze wszystkim, nawet najprostszymi rzeczami. Poczytanie i zaimplementowanie kilku algorytmow powinno takie osoby rozruszac.

- Rejestracja:około 12 lat
- Ostatnio:4 dni
- Postów:217
katelx napisał(a):
nigdzie nie odradzam nauki algorytmow, krytykuje polecanie cormena jako pozycji dla laika ktory chce zaczac kodowac.
Zgadzam się, programista z aspiracjami powinien oswoić się z algorytmiką ale może nie na samym początku kariery.
Poza tym zamiast katować się teorią z tego typu książek dużo lepiej z praktycznego punktu widzenia zarejestrować się na jakimś hackerrank itd. i ćwiczyć tam.
katelx napisał(a):
z doswiadczenia wiem ze mozna zakodowac calkiem sporo (i znalezc prace) jeszcze przed usystematyzowaniem wiedzy cormenem czy innym knuthem, dodatkowo jako ze zajmuje sie rekrutacja techniczna to widze jak wyglada wiedza z algorytmiki u 'senior' developerow :) wiec imo algorytmika tak pomaga w pracy przecietnego programisty jak ekonomia przecietnej kasjerce
@katelex
Jaka jest wymagana znajomość algorytmiki praktycznej u deweloperów zajmujących się low latency?
katelx napisał(a):
zrozumienie materialu ze studiow w zupelnosci wystarcza
Dzięki za odpowiedź.
Wydaje mi się, że na niektórych polibudach i PWSZ jest to inaczej wykładane niż na uniwerkach.
Dopytam może w ten sposób: materiał ze studiów technologii informacyjnej (IT) z wspomnianymi sortowaniami, ważniejszymi strukturami danych, poszukiwaniami binarnymi i w sumie to niewiele więcej czy materiał ze studiów informatyki (CS, computer science) z podstawami również nieco bardziej zaawansowanej algorytmiki?

- Rejestracja:prawie 10 lat
- Ostatnio:4 miesiące
- Lokalizacja:Hong Kong
nie wydaje mi sie zeby to mialo znaczenie jaka uczelnia, chodzi bardziej o wiedze jakie algorytmy do czego istnieja i rozumienie tego co sie robi + umiejetnosci wyszukania dodatkowych informacji w razie potrzeby. przykladowo majac za zadanie wyszukiwac posrod 10^6 stringow naiwnym rozwiazaniem algorytmicznym byloby to wpakowac do wielkiej tablicy i zrobic petle for, lepszym byloby to posortowac i wyszukiwac binarnie, a jeszcze lepiej zbudowac trie.
imo jednak istotniejsze byloby zadac pare pytan i stwierdzic jaka jest powtarzalnosc danych (i oplaca sie po prostu szukac po hashach), czy bierzemy pod uwage tylko ascii, jaka jest zwykle dlugosc napisow, czy moze jest stala (np. max 4 bajty i dzieki temu mozna traktowac je jako integery) itd itp
- Rejestracja:około 5 lat
- Ostatnio:ponad 4 lata
- Postów:1
katelx napisał(a):
nie wydaje mi sie zeby to mialo znaczenie jaka uczelnia, chodzi bardziej o wiedze jakie algorytmy do czego istnieja i rozumienie tego co sie robi + umiejetnosci wyszukania dodatkowych informacji w razie potrzeby. przykladowo majac za zadanie wyszukiwac posrod 10^6 stringow naiwnym rozwiazaniem algorytmicznym byloby to wpakowac do wielkiej tablicy i zrobic petle for, lepszym byloby to posortowac i wyszukiwac binarnie, a jeszcze lepiej zbudowac trie.
imo jednak istotniejsze byloby zadac pare pytan i stwierdzic jaka jest powtarzalnosc danych (i oplaca sie po prostu szukac po hashach), czy bierzemy pod uwage tylko ascii, jaka jest zwykle dlugosc napisow, czy moze jest stala (np. max 4 bajty i dzieki temu mozna traktowac je jako integery) itd itp
Trochę odkop, ale jeśli zależałoby nam tylko i wyłącznie na znalezieniu tego stringa, to przecież te 'naiwne' liniowe rozwiazanie byłoby efektywniejsze czasowo, niż te które wymagałoby dodatkowego sortowania, a dopiero później wyszukiwania binarnego.

- Rejestracja:około 12 lat
- Ostatnio:4 dni
- Postów:217
niktWazny napisał(a):
katelx napisał(a):
nie wydaje mi sie zeby to mialo znaczenie jaka uczelnia, chodzi bardziej o wiedze jakie algorytmy do czego istnieja i rozumienie tego co sie robi + umiejetnosci wyszukania dodatkowych informacji w razie potrzeby. przykladowo majac za zadanie wyszukiwac posrod 10^6 stringow naiwnym rozwiazaniem algorytmicznym byloby to wpakowac do wielkiej tablicy i zrobic petle for, lepszym byloby to posortowac i wyszukiwac binarnie, a jeszcze lepiej zbudowac trie.
imo jednak istotniejsze byloby zadac pare pytan i stwierdzic jaka jest powtarzalnosc danych (i oplaca sie po prostu szukac po hashach), czy bierzemy pod uwage tylko ascii, jaka jest zwykle dlugosc napisow, czy moze jest stala (np. max 4 bajty i dzieki temu mozna traktowac je jako integery) itd itpTrochę odkop, ale jeśli zależałoby nam tylko i wyłącznie na znalezieniu tego stringa, to przecież te 'naiwne' liniowe rozwiazanie byłoby efektywniejsze czasowo, niż te które wymagałoby dodatkowego sortowania, a dopiero później wyszukiwania binarnego.
Rozumiem, że założyłeś specjalnie konto i odkopałeś temat sprzed 2 lat, żeby podzielić się z nami tą informacją?
Poza tym zupełnie oczywistym jest dla mnie, że @katelx pisze o sytuacji gdy wyszukiwanie ma być powtarzane wielokrotnie na tym samym zbiorze danych.