Przebranżowienie, inżynier, 29 lat. Backend. Java czy Python na początek ?Może Data Science ?

0

Witam. Wiem, że to już milionowy pewnie odcinek z serii " chcę się przebranżowić". Do rzeczy.
Mam 29 lat, pracuję w dużym mieście jako inżynier produkcji (skończone mechanika i budowa maszyn - praca od 3 lat na hali). Aktualnie zarabiam miesięcznie 5-6 tys. na rękę (ale wraz z nadgodzinami).
Charakter mojej pracy jest dość wąski, mało firm działa tutaj z podobną pracę, plus ewentualny rozwój wiązałby się jedynie w przyszłości z wyjazdami po całym świecie.
Przebranżowić się chcę nie ze względu tylko i wyłącznie na kasę, tylko kulturę pracy, możliwość rozwoju oraz więcej potencjalnych pracodawców w przyszłości.
Wiem, że teraz okres jest ciężki bo mnóstwo ludzi pcha się do IT, myślę w perspektywie długoterminowej i nie mam noża na gardle, że muszę za "3 miesiące mieć robotę, żeby mieć co do gara włożyć".
Nie mam doświadczenia w IT( ok, kończyłem technikum informatyczne X lat temu i zdałem ten śmieszny egzamin)
Wstępnie wybór padł na backend, bardziej interesowałby by mnie grzebanie w temacie, co się dzieje "w środku".
Myślałem o bootcampie, ale czytając to forum i inne strony uznałem, że szkoda kasy więc wstępnie myślę nad kursami na udemy.
I teraz pojawia się pytanie, atakować Javę, czy Pythona oraz później jakieś bazy danych MySql, PostreSQL ?
Słyszałem również o Data Science, jako coś najnowszego na rynku IT, warto myślicie się w to pchać ?
Mój angielski to mocne B1
Będę wdzięczny za poradę !

5

Niezależnie jak dobry pomysł wymyślisz i niezależnie ile tutaj dostaniesz łapek w górę to ostatecznie nic to nie zmieni.

Przykładowo jeśli programowane okaże się trudne, męczące i coraz bardziej skomplikowane.. to choćbyś bardzo chciał nie zrobisz progresu. Także nie nastawiaj się od razu na kasę, pracę itp. poczekaj.. bo programowaie nie jest takie proste, a jeśli będziesz miał z góry postawiony cel to tylko sobie naukę skomplikujesz.

Weź na luzie sobie rozwiązuj problemy, pisz dowolne programy i po roku, lub dwóch latach jak w ogóle będziesz miał do tego dryg/jakiś potencjał.. wtedy pomyśl o ewentualnym ukierunkowaniu by być bliżej ofert pracy.

3

I teraz pojawia się pytanie, atakować Javę, czy Pythona

Pierwszy język i tak jest do celów ćwiczebnych, więc lepiej się uczyć tego języka, który ci bardziej pasuje na początek (tj. takiego, którego łatwo ci się jest uczyć), a potem pomyśleć o karierze. Zawsze możesz zmienić język. Równie dobrze przez tydzień możesz robić tutoriale z Pythona, następny tydzień z Javy i ocenić, co cię bardziej jara jako pierwszy język, a potem wybrać sobie którykolwiek z nich (albo jakiś dowolny inny) i tego języka próbować się faktycznie nauczyć.

A jak ogarniesz podstawy jednego, to dopiero myśleć o karierze w dowolnym, zakładając, że danego języka będziesz być może uczyć się od zera - co nie jest niczym strasznym, programista zawsze musi się uczyć nowych rzeczy, bibliotek, narzędzi. Natomiast ta wiedza się jakoś kumuluje. Kluczem jest umiejętność szybkiej nauki i zastosowania wiedzy, którą masz, w nowy sposób.

No i oprócz Javy i Pythona masz ileś innych języków do wyboru, po co się fiksować na te 2?

Słyszałem również o Data Science, jako coś najnowszego na rynku IT

Ale IT to od zawsze było data science (information technology w końcu), bo zawsze chodziło o to, żeby przetwarzać jakoś dane, więc ten trend ma z ileś dekad. To, co się zmienia, to skala tych danych i sposób ich przetwarzania, konkretne algorytmy, technologie itp. No i konkretne buzzwordy. W ostatnich 5 latach było to data science, 5 lat wcześniej big data itp. https://trends.google.com/tre[...]p;q=data%20science,big%20data
Pytanie, co będzie modne za 5 lat.

później jakieś bazy danych MySql, PostreSQL ?

Lepiej wybrać jedną na początek.

0

@pan_krewetek: dziękuję za odpowiedź !

@LukeJL: czemu te 2 języki ? Bo są one najczęściej używane i są polecane do nauki na początek. Podobno python prostszy od Javy, ale na wstępie myślałem o Javie.

Ok, więc plan mam więcej taki aby na początek dać sobie ok. 2 tygodni na Javę, zobaczę jak to pójdzie, ewentualnie będę kontynuować kurs lub zmienię na pythona, następnie mogę zajmować się jakimiś bazami. Poświęcanie codziennie ok. 2h ma sens czy to mało na taką naukę ? W weekeny dłużej rzecz jasna.

0
LukeJL napisał(a):

Ale IT to od zawsze było data science (information technology w końcu), bo zawsze chodziło o to, żeby przetwarzać jakoś dane

A sami płaczą, że HR w rekrutacji miesza Java i JavaScript. Pewnie tragarz na magazynie to też data science, bo przecież musi rozumieć, że ma przenieść 3 paczki a nie 5 paczek. ;)

0

Mocne B1 to też raczej mało (zwłaszcza że ludzie zwykle zawyższają swój poziom w samoocenie), większość pracy to wszelkiego rodzaju korpo gdzie komunikacja wewnętrzna jest po angielsku i można się spodziewać że przynajmniej część spotkań będzie w pełni po angielsku (na przykład dema na których prezentujesz swoją pracę).

5

Byłem w podobnej sytuacji, lat 28. Zero kumałem z programowania. Cel -> java + spring. (poziom angielskiego A2). Przez pierwsze 2 miesiące uczyłem się 2-3h dziennie z kursów udemy, mało rozumiałem i wziałem sobie korepetycje online od jakiegoś ogarnietego studenta 60zł/h + kursy udemy. Korepetycje miałem przez 5 miesięcy, później jeszcze 2 miesiące samodzielnej nauki (klepałem kilka mniejszych projektów w javie i springu (crudy + jakieś dodatkowe bilbioteki np. liquibase, mockito, junit, spock) i zacząłem szukać pracy. Zajelo mi to 2 miesiące, byłem jakoś na 3-4 rozmowach(czasy przed pandemią). Dostałem oferte pracy w dwóch firmach (rozmowa w tych firmach poszłą mi na prawde dobrze), na start dostałęm 3500zł na rękę uop. Miasto Wrocław. Tylko samozaparcie Cie uratuje i wyobraźnia to że za rok/dwa będzie żyło się lepiej. Aktualnie 1,5 roku doswiadczenia i 7k+ na reke b2b. Pozdro

3

Nasi pradziadkowie, babcie, rodzice określali 'epoki' mówiąc: przed wojną, za komuny, po 89-tym.
Starzejemy się, dożyliśmy czasów kiedy i my mamy taki wyznacznik: "przed pandemią".

Przytaczanie jakichkolwiek przykładów z szybkiego zostawania programistą w 2019 roku i odnoszenia tego do 2021 roku nie ma żadnego sensu.
Tamten świat już nie wróci.

0

@Lukasz039

Pro tip na zostanie programistą bez wykształcena, bez płacenia za korki, bez tutoriali itp - to co piszę to nie jest jakiś żart, ale fakt jaki u mnie się sprawdził i jaki polecam jeśli chociaż trochę programowanie Cię interesuje.

1) Zacznij od języka, który nie mówi Ci jak masz programować. Jeśli język ma uwaga: 1) klasy lub 2) wskaźniki lub 3) monady - odpuść sobie na początku ten język. Chwyć coś łatwiejszego, coś co nie będzie Cię aż tak bardzo ograniczać, coś co będziesz mógł prościej zrozumieć, najlepiej metodą prób i błędów. Ja tu polecam Lua i użyj ją do kodowania gier, przykładów w sieci jest dość sporo, skup się na mechanizce, spróbuj ją zrozumieć, odtworzyć, zmienić. Kodowanie gier ma ten plus, że duża część kodu wpływa na wygląd więc obserwując to co się dzieje będziesz mógł prościej zrozumieć jak konstrukcje jakie używasz wpływają na zachowanie gry.

Pisząc w ten sposób zrobisz kilka gier, przekonasz się że programowanie nie jest takie takie straszne na start, ale jednoczesnie zrozumiesz, że nie trzeba tak wiele, aby kod programu stał się szybko skomplikowany. Ciężko będzie pojąć jak temu zaradzić i ten proces z czasem może trochę boleć (nie tylko Ciebie, ale również programistów, którzy spojrzą na Twój kod).

2) Drugi krok, jak poczujesz trochę wprawy to zacznij uczyć się języka, który ograniczy Cię, który narzuci Ci jakiś sposób patrzenia na problemy. To nie będzie miła lekcja, poczujesz, że uczysz się programowania od nowa, ale zaczniesz stopniowo rozumieć jakie problemy pojawiają się w większych projektach i jak mozna się przed nimi bronić. Orgraniczenia jakie wybrany język Ci narzuci będą mówić w pewnym sensie co postrzegamy za problem, w jaki sposób próbujemy go unikać, to trochę będzie kształtować Twój sposób myślenia, sprawi, że będziesz potrafił ocenić dokąd zmierzają Twoje rozwiązania, to co robisz będzie działo się z większą świadomością i dokładnością. To jest główny etap na którym uczysz się JAK pisać kod, w pracy to głównie będziesz dowiadywał się jak tego nie robić.

Języki jakie na drugim etapie polecam: Erlang, Haskell, Smalltalk, Common Lisp, C++

3) Ostatni krok teraz gdy już masz skill to szukasz ofert względem hajsu i zainteresowań, wybierasz cokolwiek co Ci leży i w miesiąc spokojnie znajdziesz pracę.

Czas realizacji:

Etap I to czas około 6-9 miesięcy
Etap II to czas około 2 lata (można dodać +5 lat jak chcesz być specjalista w tym obszarze)
Etap III to czas 1-2 miesiące

Ja potrzebowałem około 4 lata nim poszedłem do roboty, ale ten czas pozwolił mi nabrać na tyle mocne podstawy, by później w pracy trzaskać na luzie wszystkie zadania jakie mi wpadają + szybko identyfikować problemy jakie "seniorzy" wprowadzają do projektu :-P

1

W moim przypadku udało się wbić w czasach pandemicznych(początek tego roku) na stanowisko java developer. Zajęło to troszkę ponad rok samodzielnej nauki full time. Pierwsza połowa to html + css + js a później java i okolice. Z wcześniejszych doświadczeń z programowaniem to jakiś semestr na studiach z c++ i bazy danych. Szukanie pracy trwało jakieś 2 tygodnie, na 30 wysłąnych cv, zaproszenie na 4 rozmowy, które przełożyły się na 2 oferty. W cv open source + aplikacja w stylu ansible(troszkę bardziej ambitne niż 90% projektów do cv z todo listą i biblioteką, mimo że tak naprawdę to nie za wiele w niej było zrobione). Także jak widać da się. Życzę powodzenia i sporo wytrwałości.

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