Początkujący programista....co jeszcze muszę się nauczyć?

Dzień dobry, mam 25 lat, skończyłem bez problemu studia informatyczne, algorytmy opanowane, pracowałem w Niemczech jako kierowca, obecnie prowadzę działalność związaną z nauczaniem języków obcych, lecz pragnę wykonywać inny zawód: programisty, opanowałem dobrze język programowania- Java, czasami naprawiam drobne rzeczy w komputerach, dobrze poruszam się w środowisku Windows, znam j. angielski. Moje plany są dość ambitne, chciałbym w przyszłości rozwinąć swoją działalność gospodarczą ale głównie na profil: programisty - Java (Freelancer) .

Proszę o odpowiedż, co taki programista ktory pracuje na zlecenie, musi dodatkowo umieć? aby mogl samodzielnie sie w tym temacie poruszac? Dziękuję.

Musisz umieć to, czego damy projekt wymaga, na przykład SQL. (tu koniec kropka)

Musi umieć jak najwięcej. Nie ma tu konkretnych wymagań.

Piszesz że dobrze opanowałeś jave, ale nie wypisałeś żadnego doświadczenia w komercyjnym projekcie. Teraz albo po prostu tutaj tego nie wpisałeś, albo nie posiadasz takowego.

Jeśli nie posiadasz żadnego doświadczenia na komercyjnym projekcie - możesz mi wierzyć, nie znasz javy. Jeżeli całe twoje doświadczenie z programowaniem to studia informatyczne, zmartwię Cię trochę - prawdopodobnie nie umiesz w ogóle napisać przydatnego kodu. Co gorsza sam się tego szybko nie nauczysz. Jeśli myślisz o własnej firmie i własnoręcznej realizacji jakichkolwiek sensownych projektów musisz się zatrudnić w dobrej firmie informatycznej, gdzie nauczą Cię jak się pisze komercyjny kod.

Jeśli mimo wszystko zdecydujesz się zaczynać samemu to koniecznie przeczytaj “Clean Code by Robert C. Martin”. Proponuje żebyś zaczął od tej książki, zmieni twój pogląd na programowanie.

To co więcej powinieneś wiedzieć będzie zależało o tego jakie projekty chcesz realizować, jeśli zdecydujesz się na jee to tutaj masz pdf’a (http://docs.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf). Ciężka droga przed Tobą bo będziesz się musiał bardzo dużo nauczyć.

Z mojego małego rozeznania - prawie nikt nie szuka czystych javowców. Czysty javowiec to prawie jak czysty informatyk - każdy i przede wszystkim nikt. Swing już umarł i powoli zaczyna zajeżdżać trupem.

Możesz spróbować powalczyć ze względnie prostym Androidem (przerób Marakana Bootcamp 2012, napisz kilka podobnych aplikacji i nie powinieneś mieć problemów ze znalezieniem roboty). Możesz też opanować Hibernate i jakiś popularny webframework, ale wymagania ogłoszeń nawet na Junior Developera potrafią przytłoczyć.

Tak czy siak, miej jakąś nietrywialną aplikację, którą mógłbyś się pochwalić przy rekrutacji. Zadbaj o to, żeby nie tylko działała, ale żeby była dobrze napisana (wspomniany Czysty Kod wujka Boba), znaj podstawowe wzorce projektowe (wielu ludzi żyje bez nich, ale to ponoć stwarza dobre wrażenie). Bądź pewien, że znasz odpowiedzi na te przykładowe pytania (chociaż niektóre jadą już stęchlizną).

Wszędzie słyszy się, że brakuje informatyków i programistów. To prawda. Ale nikt nie szuka początkujących ani nawet średnich - każdy chce eksperta albo chociaż kogoś, kogo łatwo da wdrożyć do projektu bez douczania z działania poszczególnych technologii.

Dzięki Wam za porady.

Rekrutacji na freelancera? :slight_smile:

Musisz umieć samodzielnie napisać działającą aplikację.

Do tego celu sama znajomość składni języka nie wystarczy, musisz również znać jakiś framework GUI (czy to desktopowy, czy webowy). Jeśli miałbyś robić aplikacje webowe, to musisz znać HTML, CSS i JS. Większość aplikacji korzysta z baz danych, więc potrzeba Ci znajomość języka SQL, obsługi konkretnego SZBD (Oracle, MSSQL, MySQL, itp.) oraz umiejętność wykorzystania bazy danych w aplikacji. Do tego w projektach stosuje się zazwyczaj wiele różnych pomocniczych bibliotek, takich jak loggery czy kontenery DI. A ponadto, żeby pisać dobry i nadający się do utrzymania kod, przydaje się znajomość wzorców projektowych.

A rozumiem , dzięki.