Wątek przeniesiony 2015-12-08 11:34 z Java przez Koziołek.

Project zmiana branży (v[1.0] Open Beta){

1

Witajcie!
Po grubych przemyśleniach i zgłębieniu kilku ciekawych wątków na tym forum zadecydowałem...czas zacząć na poważnie robić to co się lubi. Tak jak z tematu łatwo wywnioskować - moim celem jest przebranżowienie na programistę języka Java. Dlaczego chęć zmiany? W zasadzie to potrzeba. Jakiś czas temu stwierdziłem, że sprzedaż nie jest dla mnie jednak nie miałem pomysłu na siebie. Owszem próbowałem rozmaitych zajęć ale żadne z nich nie zatrzymało mnie na dłużej jak kilka tygodni...Może to słomiany zapał, może nie. W każdym razie w zasadzie przypadkiem przeglądając kolejny film na YT trafiłem na kurs programowania w Javie gdzie gościu pisał śmieszne "Hello World" :) No było to dla mnie takie śmieszne i lekko infantylne ale jak z ciekawości odpaliłem Eclipsa i skompilowałem swój pierwszy kod, którego wynikiem był właśnie ten wspomniany przed momentem zwrot - coś mnie tknęło. No i tak to się zaczęło - łyknąłem bakcyla na tyle długo aby się od niego uzależnić ale na tyle jeszcze za krótko, że za każdym kolejnym tematem, którego się uczę w Javie widzieć ile jeszcze nie wiem i ile jeszcze brakuje aby coś poważnego stworzyć. W ogóle to dlaczego to wszystko tutaj piszę? Ano dlatego, ponieważ szukam wsparcia osób z doświadczeniem, dobrego ukierunkowania na przyszłość. Chciałbym aby w tym temacie udzielały się osoby, które chcą doradzić, wskazać kierunek, konstruktywnie skrytykować. Wszelkiej maści hejterom - serdecznie dziękuję ale to ja sam ustalam swoje limity i ograniczenia ;)

No więc do rzeczy i po krótce:
Mój cel: zatrudnić się jako młodszy programista Java w ciągu najbliższego roku,
Jaki jest mój poziom obecnie: podstawy podstaw, tzn: opanowane instrukcje języka oraz wstęp do OOP,
Jak się uczę: przerabiam video-kurs Java Podstawy (Jan Steczko) + książka Java praktyczny kurs Marcina Lisa, wydanie IV,
Ile mam czasu dziennie na programowanie: w tygodniu pracującym 2-4h, na weekendzie łącznie ok 8-10h,
Czego potrzebuję/jakie mam pytania:

  1. Czy dobrze oceniacie dobrane materiały do nauki i co ewentualnie byście dodali/zamienili?
  2. Co polecacie zrobić, czego się uczyć po opanowaniu podstaw Javy (instrukcje, oop, system in-out, kontenery i typy uogólnione, aplikacje i aplety)?
  3. Jakiej wiedzy i technologii obecnie wymaga się na starcie od Junior Java Dev?
  4. Proszę o jakieś dodatkowe wskazówki, dobre praktyki, ogólnie co Wam przychodzi na myśl a co mogłoby mi pomóc w realizacji celu.

I tak jak wspomniałem wcześniej liczę na pomoć osób, które rzeczywiście chcą pomóc i wiedzą co i jak. Razem na moim przykładzie możemy pomóc wszystkim tym, którzy boją się zrobić krok wprzód w kierunku realizacji swoich marzeń ;)

Pozdr!!

}

0

Ten Twój wpis nadaje się bardziej na bloga niż na forum.

Tak czy inaczej poszperaj w dziale kariera, takie tematy jak ten to już średnio raz miesięcznie.

5

Już nas nie wkręcaj że tak cię to ekscytuje; i tak wiemy że chcesz się przebranżowić dla kasy xD

3

Hej Piotrek,

No popatrz, toż to Twój pierwszy post na tym forum i mój także. Chyba dobry znak :)

Na początek słowo zachęty - jeśli złapiesz bakcyla, a na to wygląda, to już nie ma odwrotu. W tej branży liczy się pasja. Można być dobrym programistą bez pasji, ale z pewnością nie można być rewelacyjnym. Trzeba mieć naprawdę bakcyla, by nadążać za ciągle zmieniającą się technologią. Dla mnie jest to wspaniałe, niczym bezkresny ocean, dla Ciebie pewnie też będzie.

Start w programowaniu z Javą powinien być całkiem przyjemny. Ja na przykład zacząłem od języków bardziej niskopoziomowych. Też było ciekawie, ale z pewnością nie aż tak komfortowo.

Twój zasób czasowy zaalokowany na programowanie wygląda wg mnie naprawdę świetnie. Jeśli masz smykałkę i będziesz regularnie pracować, myślę że perspektywa zatrudnienia się jako Junior Dev po roku jest jak najbardziej realna. A potem już pójdzie z górki, bo fachu tak naprawdę człowiek uczy się rozwijając prawdziwe problemy w robocie.

Co do pytań:

  1. Przerób te dwie pierwsze książeczki, mam parę innych dobrych dla początkujących, mogę się podzielić.
    2 + 3: Co przerabiać i co z pewnością się przyda, z mojej perspektywy:
  • instrukcje, wiadomo ;)
  • dobre zrozumienie OOP
  • kontenery, oj tak. Rodzaje, który kiedy i dlaczego, ich złożoność obliczeniowa.
  • typy uogólnione: jak najbardziej
  • aplety olej.
  • rozkmiń też podstawy SQLa, to prędzej czy później i tak Cię znajdzie.
  • opanuj też jakiś framework Dependency Injection, czy to będzie regularne JEE, czy np. Spring. Może się mylę, ale na początek pomocny może być Spring Boot, którym można wygenerować sobie prosty projekt i odpalić na wbudowanym Tomcacie. NetBeansem można wygenerować natomiast prosty projekt z JEE i odpalić na Glassfishu. Mam takie projekty, może będą przydatne.
  • rozkmiń jakiś system kontroli wersji, SVN (prostszy) lub GIT (bardziej skomplikowany, ale i ciekawszy). Rozkmina podstaw SVNa zajmie Ci naprawdę chwilę. Bez tego ani rusz, co by nie robić ręcznych backupów kodu.

I ostatnie słowo zachęty. Posiadając doświadczenie finansowe, możesz zrobić fajnego kombosa, pracując np. w banku jako programista. Programista oprócz swojego grajdołka musi ogarniać całą domenę, w której pracuje. W tym biznesową, o ile pracuje w instytucji finansowej. Z pewnością Ci się to przyda.

Powodzenia i dobrej zabawy! Może rzeczywiście w dziale kariera znajdziesz więcej porad.

P.S. My wszyscy to robimy dla kasy, tylko się z tym kryjemy :P Jeszcze nie spotkałem kodera, co by za darmochę robił :P

0

uczę się Javy tak mniej więcej od połowy listopada między zajęciami ^^

Mogę Ci doradzić uczenie się z angielskich materiałów. Chociażby ze względu na to, że szukając w języku angielskim łatwiej znaleźć rozwiązanie swojego problemu.

1

Hej,

nie zapomnij o podstawowych algorytmach i strukturach danych, wiadomo że Java to nie C i zazwyczaj nie trzeba samenu implementować na przykład drzewa, ale mimo wszystko takie podstawy są niezbędne. Po drugie, co ważniejsze, ogarnij kilka najpopularniejszych wzorców projektowych, np. obserwator, dekorator, fabryki, etc :)

1

Proponowalbym 'Czysty kod' Roberta C. Martina. Im wczesniej zaczniesz pisac kod z naciskiem na jakosc tym lepiej :)

5
  1. Olej jutuba, serio. Videokurs zjada 10 razy wiecej czasu od książki i 20 razy więcej czasu od tutoriala online, a przy tym jakościowo zwykle to taka bieda że szkoda gadać.
  2. Tutoriale Oracle dość sensownie opisują konkretne mechanizmy języka.
  3. Język to jest jedno, ale trzeba mieć jakieś minimalne pojęcie o popularnych frameworkach. Więc polecam stuknąć przynajmniej jeden tutorial o JPA, o Springu i o JEE. Nie chodzi o to żebyś od razu był ekspertem ale zebyś załapał ideę budowania aplikacji w oparciu o takie rzeczy.
  4. Klepać kod. Dużo kodu. Czytasz w książce o XYZ a następnie siadasz i klepiesz kilka programów które z tego korzystają. Bo może ci sie wydawać w trakcie czytania ze to są "oczywiste i proste rzeczy", a nagle w praktyce sie okazuje że to nie jest taka prosta sprawa.
0

Dzieki za Wasze podpowiedzi. Temat sie rozwinal i daliscie mi solidna porcje wiedzy do przyswojenia, az mnie swierzbi :-) Pozostaje kwestia usystematyzowania bo wszystkiego na raz nie zrobie ;-)

0

Rada ode mnie: odstaw póki co na bok Springa/JEE i wróć do któregoś z nich dopiero gdy w miarę ogarniesz Javę SE.

1

Ode mnie:
edit: nieaktualne

szczególnie polecam:
http://www.dreamincode.net/forums/topic/78802-martyr2s-mega-project-ideas-list/

PS. Spring ma super dokumentację.

0
  1. Odpal wątek z tego forum "Okazja Pluralsight na pół roku za darmo!!!" (Okazja Pluralsight na pół roku za darmo!!!)
  2. Załóż konto.
  3. Bardzo dużo kursów Java, Software Practices, Architecture, Beginner Programming.
  4. Zacznij równolegle programować.

ps. Ja korzystam z materiałów do .NET i moim zdaniem kursy na poziomie EKSTRAKLASA.

1

przestańcie w końcu pisać te tematy kasiarze a weźcie się do roboty

0

Polecicie jakiś zbiór zadań/problemów do rozwiązania? Najlepiej z rozwiązaniami.

1
Piteero napisał(a):

Polecicie jakiś zbiór zadań/problemów do rozwiązania? Najlepiej z rozwiązaniami.

Bardzo fajne dla początkujących :
Programowanie w języku Java Zbiór zadań z (p)odpowiedziami. W. Rychlicki
Obiekty z klasą! D.Cendrowska
Jak przerobisz większość tych zadanek, to powinieneś "zacząć myśleć".

2

@Piteero Ja duzo z java nie mam wspolnego, ale jakies zadanie i sprawdzic +- jakosc kodu moge takze i w javie ;) jezeli chcesz miec kogos kto Ci bedzie sprawdzal jakosc kodu (przynajmniej na poczatku kariery) i dawaj ciekawe zadania to napisz do mnie na prv ;)

0

Czesc!
Chyba trochu stanalem w miejscu. Postanowilem ze przestudiuje literature ( mam "Thinking in Java" oraz "Java. Podstawy" ale zamiast pisac to czytam a troche tego jest :-) W takim razie jak byscie mi polecili postepowac:

  1. Przestudiowac dokladnie obie lektury i zabrac sie do pisania.
  2. Po kazdym temacie z lektury pisac jakis przykladowy program pod dany trmat.
  3. Przeczytac podstawy tak zeby wiedziec mniej wiecej co i jak i pisac.
  4. Wasze pomysly?

Pozdr!

0

"Aby nauczyć się programować ... trzeba pisać programy.".
Brian Kernighan(współpracownik Denisa Ritchie-twórcy języka C).

Thinking in Java nie jest dobra dla zupełnie początkujących, raczej dla tych którzy już ogólnie znają cały standard, ale chcą dobrze zrozumieć to czego używają, albo dla programistów innych języków.

0

Robię tak: lecę po kolei toutorial ze stronki Javastart. Do każdego tematu piszę kilka przykładowych programów a jeśli czegoś do końca nie kumam to zaglądam do wspomnianych powyżej książek (jak dla mnie Thinking in Java jest dość łopatologicznie i zrozumiale napisana) i przechodzę dalej jak już zrozumiem dany temat. Mi osobiście leży ta metoda.

0

Zapytam jeszcze: warto uczyć się Swinga czy tylko przeglądnąć jak to działa i przejść od razu do Springa?

0

Podsumowując na chłodno:
piotrek ma 31 lat i pyta czy warto uczyć się swinga czy może od razu springa?

0

Ok ok rozumiem. Panowie zjedli zeby na programowaniu i maja polewe z poczatkujacych...Czyli bajka o tym jak o cos zapytac aby dostac sensowna odpowiedz i nie byc wysmianym.

0

Napisz coś najpierw w JavieFX, a potem w Springu

1

Możesz w ogóle odpuścić Swinga.
Natomiast co do Springa to trzeba wiedzieć coś tam o architekturze aplikacji webowych zanim się za to weźmiesz :)

0

Zeby bylo jasne o co mi chodzi to chcialbym juz przyswajac tworzenie aplikacji webowych aby cos juz tworzyc bardziej uzytecznego bo przeciez wiecznie programow konsolowych nie bede pisal ;-) A z ofert pracy dla Javowcow czesto przewija sie znajomosc technologii Spring.

1
Laszka napisał(a):

Możesz w ogóle odpuścić Swinga.
Natomiast co do Springa to trzeba wiedzieć coś tam o architekturze aplikacji webowych zanim się za to weźmiesz :)

Odpuścić Swinga? A jak się niby bez swinga ma nauczyć programowania zdarzeniowego i obiektowego w praktyce?
Swinga nikt się dzisiaj nie uczy by go używać komercyjnie, tylko żeby zrozumieć różne mechanizmy pracy z interfejsem użytkownika. Poza tym zrobienie projektu w swingu wymusza rozwiniecie praktycznej umiejętności programowania obiektowego.

Piteero, jeśli masz kurs, z którego jesteś zadowolony to, się trzymaj ich harmonogramu, ewentualnie tego co w Core Java i tutoriala oracla.
I dodatkowo naucz się rozwiązywać typowe problemy programistyczne i implementować podstawowe struktury danych: kolejkę, stos i listę, bo na nich opiera się wszystko w informatyce.

Na początku najważniejsze jest nauczenie się rozwiązywania problemów i myślenia abstrakcyjnego. To jest najtrudniejsze i najbardziej czasochłonne, bo odtwórczo skopiować, to co się obejrzy w tutorialu nie stanowi problemu.

1

Cześć! Chciałbym napisać prosty program (na razie w konsoli) służący do otwierania konta bankowego w banku X. Projekt zakłada wpisanie na początku danych klienta (imię, nazwisko, adresy, pesele itp.) następnie przechodzący przez kreację konta w oparciu o pewne parametry i na końcu generujący unikalny numer bankowy. Chciałbym jednak aby po kolejnym uruchomieniu tego programu pamiętał on poprzednich klientów tak aby ich nie powielić (unikalny pesel oraz numer konta). Czy dobrze rozkminiam, że dane o klientach program ma zapisać w bazie danych (SQL?) i potem każdorazowo program ma czytać z tej bazy?

0

Tak, dobrze kminisz.

0

Dzięki :) Pytanie jeszcze z innej beczki: jaki motyw do Eclipsa byście polecali?

1

Zamiane Eclipsa na InteliJ. To dopiero motyw!
;-)
Z IJ nie pracowałem i nie znam, z Eclipsem miałem do czynienia i do dziś mnie irytuja sama myśl o nim.IJ prawie wszyscy Javowcy polecają i lubią, zarówno tu na forum jak i Ci znani przeze mnie osobiście. Przypadek?

1 użytkowników online, w tym zalogowanych: 0, gości: 1