Na jakiej platformie bądź w jakim miejscu polecilibyście kursy programowania (język jaki mnie najbardziej interesuje to Java) od podstaw?
Jakie są wasze doświadczenia związane z programowaniem i gdzie pozyskaliście oczekiwane umiejętności?
Dodam, że nie chcę iść na studia z informatyki, bo rozpoczynam studia na innym kierunku :) Z góry dzięki za podpowiedzi i pozdrawiam!
Jeżeli jesteś KOMPLETNYM laikiem (nie wiesz co to jest obiekt, co to jest int, String, czym się różni Long od long, co to w ogóle dziedziczenie, co to iteracja) powinieneś zacząć od jakiegoś kursu / książki która wprowadza czytelnika do ogólnych konceptów programowania - tutaj nie pomogę bo mnie nauczyli tego na studiach, więc nie wiem gdzie sięgać.
Dobry entry level dla Javy (podkreślam - dla kogoś kto ogarnia absolutne podstawy programowania) to Core Java, książka napisana względnie po ludzku i powinna być OK nawet dla amatora.
Po przeczytaniu polecam pobawić się w jakimś projekcie "z dupy" - coś wymyślić i sobie zaimplementować (np. jakiś prosty parser plików tekstowych z interfejsem w JavaFX który coś tam przetworzy i wypisze do okienka).
Po ogarnięciu absolutnych podstaw polecam Thinking in Java i poszerzenie horyzontów które nie były dobrze wyjaśnione w java core - np. refleksji, wielowątkowości itp - w zależności od tego co potrzebujesz i gdzie masz braki.
Jak już kumasz składnię i koncepty Javy SE, bierzesz święte graale i czytasz:
- clean code,
- the pragmatic programmer,
- effective java,
W tym momencie naturalnie zdasz sobie sprawę że tak naprawdę gówno wiesz, a cały rdzeń poważnych projektów to Java EE albo Spring framework. Do tego naturalnym wymogiem jest też znajomość baz danych i ORM (framework Hibernate).
Na tym etapie możesz poczytać sobie jakąś książkę na temat Springa (nawet oficjalna dokumentacja daje radę) albo kupić jakiś kurs na Udemy, nie wiem bo nie korzystałem ale słyszałem że dają radę i są przystępnie napisane - przynajmniej te popularne. Warto też poczytać równolegle o wyżej wymienionym Hibernate, jest to dość nieduży framework (pod kątem zawiłości) ale absolutnie niezbędny. Spring i JEE z kolei są ogromne i będą się wydawały nieziemsko skomplikowane - ale tylko na początku, więc spinamy dupsko i jedziemy z tym światem.
Warto też poczytać i spróbować zaimplementować jakiś wzorzec projektowy, no i jak wspomniałem, jakaś tam wiedza o bazach danych - ABSOLUTNY must have.
Musisz też coś wiedzieć o pisaniu testów automatycznych (JUnit + często coś do mockowania, np Mockito) ale dla kogoś kto już rozumie o co w samej Javie chodzi będzie to bułka z masłem. Tworzysz obiekty, odpalasz logikę, patrzysz czy wyniki się zgadzają - prosta sprawa. Jest to ULTRA ważna sprawa w każdym poważnym projekcie i może uchronić przed katastrofalnymi błędami w logice, szczególnie gdy grzebie się w kodzie który był nieruszany przez X miesięcy.
Jest tego bardzo dużo i nie wierz w kursy które nauczą wszystkiego w 2 miesiące - to bujda, ale warto spiąć dupę bo to świetna i bardzo ciekawa dziedzina. W momencie gdy będziesz już kumał podstawy Springa, np. Spring Boot i proste moduły (albo nawet samą Javę SE - tyle że na komfortowym poziomie) warto spróbować wyhaczyć jakiś staż / praktyki - dużo się nauczysz, a i znacznie łatwiej o pracę mając jakąkolwiek praktyczną wiedzę (nie tylko książkową).
Powodzenia!
PS. Warto też pouczyć się równolegle innych języków żeby mieć szersze horyzonty - np C# który ma podobny syntax czy super popularnego i dobrego Pythona.
Mi najłatwiej jest uczyć się biorąc przykłady z forów, pisząc swoje programy.
Na kursie będzie trudniej, bo kolejność nauczania jest taka, że niby będziesz wiedział co to tablica, ale już nie wiadomo do czego to w ogóle służy i kiedy używać?
PS. Warto też pouczyć się równolegle innych języków żeby mieć szersze horyzonty - np C# który ma podobny syntax czy super popularnego i dobrego Pythona.
Pyton to rak. Tak duża popularność tego języka to ponury żart.
3K zarobię na stanowisku Junior PHP Developera ?