Przebranżowienie się. Prośba o porady.

0

Witam.
O mnie:
Temat dość powszechny. Już z tydzień przeglądam wątki o tym temacie. Stąd założyłem ten temat.
Obecnie pracuję jako konstruktor. Ale chcę zmienić branżę, bo od obecnej pracy dostaję depresji i mam dość traktowania mnie jak dosłownie śmiecia.

Na studiach miałem oczywiście informatykę, metody numeryczne, matematyki różnej maści jak algorytmy, arytmetyke binarną itp. (dwie różne uczelnie kończyłem Łódź i Warszawę, stąd program studiów był różny), programowanie C++/Java. To były fajne zajęcia, mile wspominam. Pech chciał że wybrałem jednak studia mechaniczne. I tak trafiłem do świata przemysłu wg Janusza. W branży brakuje jedynie batożenia i kontenerów do spania za halą.

Po nowym roku będę miał 3 miesiące wolnego, stąd chce je spożytkować. Bardzo lubię się uczyć. Mimo 33 lat, cały czas po pracy uczę się różnych branżowych rzeczy/ języków obcych/ programów/ norm. Bardzo lubię się uczyć i chłonąć nowe rzeczy z różnych dziedzin (biologia, historia, ekonomia). Po prostu uwielbiam poszerzać swoją wiedzę.

Plan:
Póki co mam wstępny plan co chciałbym odświeżyć w pierwszej kolejności:

  1. Wprowadzenie do Informatyki

    • przekształcenia na system binarny i szesnastkowy
    • ZU1/ZU2
    • operacje bitowe
    • arytmetyka binarna (dodawanie, odejmowanie, mnożenie i dzielenie liczb binarnych w kodzie zwykłym, ZU1 i ZU2)
    • Odwrócona Notację Polską, translacja na ONP
    • Automat Deterministyczny i Niedteterministyczny
    • Maszynę Turinga
  2. Logika (Logika dla informatyków)

    • Algebra Boola (tj arytmetyka minarna)
    • prawa De Morgana, postać normalna itd.,
    • logika predykatów, relacje, zbiory, klasy abstrakcji
  3. Algorytmy i struktury danych

    • dowodzenie twierdzeń metodą indukcji matematycznej
    • algorytmy przyrostowe, algorytmy rekurencyjne (dziel i zwyciężaj)
    • rozwiązywanie równań rekurencyjnych
    • O-notacja, złożoność pamięciowa
    • algorytmy sortowania
    • dynamiczne struktury danych
    • Stosy, kolejki, listy oraz struktury drzewiaste (np. drzewo BST)
  4. Podstawy techniki cyfrowej

    • Bramki logiczne
    • mapy Karnaugh
    • Układy kombinacyjne i sekwencyjne
    • multipleksery, przerzutniki, kodery, generatory
    • liczniki synchroniczne i asynchroniczne
  5. Architektura systemów komputerowych

    • podstawy assemblera
  6. Bazy danych

    • relacyjne bazy danych i sam język SQL.
  7. Inzynieria oprogramowania

Pewnie pominąłem sporo rzeczy. Z chęcią posłucham co dodać, albo co odrzucić.
Na pewno algorytmy to to co chciałbym najlepiej przyswoić.

Co umiem:
Uczyłem się już głównie ze źródeł z neta/Udemy i książek:
1/ HTML - podstawy. Proste strony póki co nie korzystałem w nich wiele z CSS.
2/ Python - podstawy. Przerobione kilka książek.
3/ GIT - jako samotny użytkownik swoich programów. Podstawowe komendy rzecz jasna.
4/ Linux - komendy. Trochę podstaw bash przejrzałem.

Cel:
Chciałbym dostać się do jakiejś akademii/staż lub praktyki.

Uczyć się HTML+CSS i jakiś framework. Dostać się do front.
Czy może jednak uczyć się dalej Pythona, ewentualnie myślałem nad Java?

Teoretycznie chciałbym być kiedyś od backendu. Ale może warto rozważyć opcję front, załapać się gdzieś i próbować po nauce przejść do back?

I co do nauki. Planuję przejrzeć darmowe źródła wiedzy czyli internet i książki. Przypomnieć sobie powyższe zagadnienia. Ogarnąć podstawy programowania Python/Java i zacząć samemu pisać jakieś programiki do swojego użytku, czy nawet do branży w której pracuję. Jakieś kalkulatory obliczeniowe belek itp.

1

screenshot-20211121093642.png

9 lat na 4p i 3 posty? ożeszwmordę! :D

Jeśli chcesz iść w Javę, to polecam na odświeżenie wiedzy tą książkę: https://bit.ly/3HGXAQT

1

Trochę głupio to wygląda. Ale korzystałem z innych miejsc w sumie. I zazwyczaj wystarczało mi czytanie wątków/stron i innych źródeł niż pisanie postów.
A tak w razie pytań to w sumie na StackOverflow pisałem.

O super pozycja. Algorytmy i Java. Dziękuję.

3

Myślę, że te rzeczy, które wypisałeś, nie są kluczowe, żeby pracować w zawodzie. Pewnie warto je poznać w późniejszej kolejności. Na sam początek, potrzebujesz umieć coś zrobić. Skoro już się bawiłeś pythonem, to może Data Science/Machine Learning? Trzeba tylko trochę ogarniać statystykę i być kreatywnym; kodu pisze się tyle co nic, a temat bardzo chodliwy ostatnio. A jak nie, to naucz się pisać w Javie. Pomyśl jaka apka na telefon ci się przyda i zakoduj ją, w razie potrzeby znajdź sobie jakiegoś mentora, który ci trochę pomoże. Tak chyba najwięcej się nauczysz. Koniec końców, dobrego pracodawcę nie interesuje twoja znajomość teorii, tylko jak rozumujesz, jak rozwiązujesz problemy i co umiesz zrobić, a jak to już sprawa drugorzędna.

1

@elwis: By pisać tego kodu co nic, to trzeba najpierw przejść rekrutację, na której zazwyczaj jest sporo matematyki.
@Gorthin Ja osobiście bym zaczął od Pythona/Go. W obu językach teraz potrzeba sporo programistów i pewnie w przyszłych latach jeszcze więcej. Próg wejścia IMO mniejszy niż w Javie. Z drugiej strony w Javie pewnie łatwiej będzie znaleźć pracę, bo "Java to Cobol naszych czasów" jak to mawia klasyk. Miałeś jednak styczność z Pythonem, podstawy zakładam, ze znasz. Zainteresuj się Django i FastAPI (tym bym bardziej, bo zyskuje coraz większą popularność) i skup się na nauce przydatnych rzeczy, jak swagger, graphql, REST, grps, protokoły http/https, docker, kubernetes teraz niestety to mus, ale na szczęście tylko jakieś podstawy, by samemu umieć zdeployować apke. To oczywiście jak szybciej chcesz zacząć pracować, a potem podczas pracy już zaczniesz ogarniać algorytmy czy wzorce, inaczej i tak nie będziesz wiedzieć co koledzy mówią na spotkaniach, mówiąc o "proksach" albo "wraperach".

2

A z jakiej branży jesteś obecnie? Skoro coś projektujesz to może da się jakoś połączyć te działania i wykorzystać obie umiejętności? Wtedy możesz stać się nieocenionym fachowcem.
Wymyśl cel, bo na froncie to jakoś nie widzę abyś korzystał z takich rzeczy jak systemy liczbowe czy notacja O. Oczywiście warto to znać, ale mam wrażenie, że spora część programistów frontu mogła nawet o tym nie słyszeć.
Jak wymyślisz w którą stronę chcesz iść, to dobierz plan nauki, książki i źródła wiedzy.

BTW. W Twoje branży nie masz jakiś dużych firm gdzie mógłbyś składać CV i pracować jak czlowiek?

3

@elwis: By pisać tego kodu co nic, to trzeba najpierw przejść rekrutację, na której zazwyczaj jest sporo matematyki.

Całkowita nieprawda, no chyba że idziesz na data scentista albo do Googla. Matematyka na rekrutacji to spytanie się conajwyżej o złożonośc obliczeniową HashSetu albo QuickSortu.

Ja osobiście bym zaczął od Pythona/Go. W obu językach teraz potrzeba sporo programistów i pewnie w przyszłych latach jeszcze więcej

Ta, Go w Polsce to naprawde popularny język

1
Gorthin napisał(a):

Póki co mam wstępny plan co chciałbym odświeżyć w pierwszej kolejności:
[...]

^^ Totalnie odklejone od tego czego oczekuje rynek.

I co do nauki. Planuję przejrzeć darmowe źródła wiedzy czyli internet i książki. Przypomnieć sobie powyższe zagadnienia. Ogarnąć podstawy programowania Python/Java i zacząć samemu pisać jakieś programiki do swojego użytku, czy nawet do branży w której pracuję. Jakieś kalkulatory obliczeniowe belek itp.

No i co Ci dadzą te programiki do swojego użytku? Janusz i tak Ci za nie nie zapłaci, a nawet jak teoretycznie coś tam sobie zautomatyzujesz, to dostaniesz więcej do roboty, względnie kopa w d... i na bruk, jak Janusz stwierdzi, że teraz to syn szwagra z IQ 75 da radę.

Przysiądź nad analizą wymagań pracodawców w IT, bo jak na razie żyjesz w jakimś swoim świecie fantazji nt. IT i rzuć tę mechanikę w cholere. PL to nie jest kraj dla inżynierów. Im wcześniej przestaniesz pracować dla polskiego ̶ć̶w̶o̶k̶a̶ biznesmena, tym więcej czasu oszczędzisz.

0

@scibi_92: Byłem na kilku rekrutacjach i nie było po Google. Zawsze była matematyka. Może miałem pecha.

Pracuje w Go, ofert jest sporo i jeszcze więcej. Dziennie mam po ~5 wiadomości, od rekruterów/botów. Tylko w mojej firmie potrzebują w tym momencie 10 programistów Go właśnie. Jestem jednak tylko człowiekiem i mogę się mylić. Może jednak w polce nie jest to taki popularny język.

0

@elwis: Te podstawowe 7 punktów, które wypisałem to ze względu iż uważam, że powinienem poznać/przypomnieć sobie pewne podstawy jak to wszystko działa itd. Stąd mam wrażenie żeby to poznać/przypomnieć sobie. Niektóre rzeczy szybciej przyswoję, inne dłużej. Ale wydaje mi się, że chyba np takie algorytmy to jednak warto poznać mimo wszystko.
Python wg mnie bardzo przyjemny i fajnie go poznałem. Bardzo podoba mi się, zwłaszcza w porównaniu z C++. Myślałem własnie nad DS czy ML, pytanie czy przez np 3 miesiące jestem w stanie w to wejść na tyle żeby złapać jakikolwiek staż? Tym bardziej, że widząc po ogłoszeniach jest tego stosunkowo niedużo. Ale kierunek fajny.
Dlatego właśnie chcę poznać podstawy programowania i teorię i napisać chociaż jeden większy program dla siebie. Coś co np potrzebuje moja firma na jakimś podstawowym poziomie. Np program do zarządzania produkcją czy magazyn.

@Dregorio
Python kierunek ciekawy dla mnie. Jednak wygląda, że dość mało ogłoszeń na jakiś staż/praktyki. Zdecydowanie wolał bym iść w stronę Pythona, ale właśnie obawiam się, że poświęcę czas a z braku ogłoszeń nic z tego nie wyjdzie zupełnie. Pythona i Django własnie już się uczyłem z kilku książek i Udemy. Ale nie wiem własnie czy zostać przy Python czy wybrać Java.

@jurek1980
Obecnie konstruktor maszyn. Jako naukę chciałem właśnie napisać jakiś program do zarządzania produkcją czy stanem magazynowym w firmie.
Już 8 lat w zawodzie. Większość polskich firm gdzie pracowałem i pracują koledzy ze studiów są takie same. 4000 netto i traktowanie pracownika jak przedmiot albo gorzej. Czasem nie wypłacą pensji, bardzo duża część płaci pod stołem, traktowanie jak psa, krzyki itp. Patologia jednym słowem. W korpo lepiej trochę z płacą i traktowaniem, jednak komuś z Januszexa ciężko się dostać, chyba że zejdzie się z kwoty 4000 netto na minimalną. Do korpo najlepiej mają studenci, bo tam jak zapłacą im cokolwiek to i tak będą zadowoleni.

@PanamaJoe
Pewnie odklejone, ale uważasz że nie warto tych tematów chociaż trochę poznać? Nic zupełnie nic?
Nawet nie liczę, że mi coś zapłaci. Tylko traktuję to jak takie małe doświadczenie komercyjne, jakkolwiek to śmiesznie nie brzmi.
Program magazynowy czy do zarządzania produkcją w firmie to była by dobra nauka i doświadczenie na żywym organizmie. Tak mi się wydaje.
A branżę chcę opuścić choćbym miał liście grabić. 8 lat w zawodzie i jestem traktowany jak pies. Tak polska to nie kraj dla inżynierów. Absolutna zgoda. Dlatego chcę odejść, bo praca u Polaka uwłacza godności. Nie mam dzieci ani kredytów więc jak traktują mnie jak psa to gryzę i uciekam z pokładu.

Przeanalizować to co potrzebuje pracodawca w IT. Ok, ale po ogłoszeniach widzę same programy do kodowania/frameworki itd itp. Nic z teorii się nie przyda, nie poświęcić nawet tygodnia czy dwóch z tych tematów?

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