_

Inżynier mechanik zostaje programistą

Forum ogólne, ale nie do zadawania "prostych pytań". Wszystko o CAD, czego nie da się bezpośrednio połączyć z tematyką jednego z poniższych forów tematycznych.

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 26, 2021 09:29

Tak jak pisałem, jeśli idziesz w backend i Javę nie marnuj czasu na technologie frontenendowe (HTML+CSS,), ewentualnie ogarnij tylko same podstawy. I odwrótnie, jeśli idziesz we frontend nie marnuj czasu na technologie backendowe np. SQL.
gouda
 
Posty: 954
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez Gorthin » wrz 26, 2021 10:08

Ok rozumiem teraz.

A Twoim zdaniem, jako początkujący, spróbować zacząć jako frontend czy od razu lepiej backend?
Bo to co by się nie chciało nie zawsze wychodzi tak jak by się chciało. Więc może lepiej zaczać od front, złapać doświadczenia, rozumienia kodu, specyfiki pracy i przerzucać się na back. Tylko wtedy znowu wchodzi w grę siedzenie po pracy :lol: i kółeczko się zamyka.

Wolne planuje od stycznia do marca/kwietnia.
Więc może korzystając z tego czasu do stycznia, czyli akurat 3 miesiące zostały, to po pracy w niewielkim zakresie czasu (powiedzmy 3,4,5h tygodniowo) uczyć się HTML+CSS, a na wolnym pójść od razu w SQL i Java? Do tego algorytmy oczywiście.
Gorthin
 
Posty: 203
Dołączył(a): wrz 16, 2012 19:25

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 26, 2021 10:28

Zacznij od tego co Ci się bardziej podoba i najlepiej przy tym zostań ;).

Twoim celem jest wejście do branży czy nauka wszystkiego co popadnie? Jeśli to pierwsze zrób to optymalnie i zwiększ swoje szanse opanowujac to co jest potrzebne.

Musisz się zdecydować czy front czy backend. Później zawsze możesz iść w full stacka i to w zasadzie niezależnie od technologii jaka wybierzesz na poczatku. Ale to później jak już popracujesz jaki developer.

Jeśli Cię kręci backend to idź po prostu w backend i tyle.

Ps. Jeśli z kolei wybierzesz frontend to kiedy się babcia, mama czy wujek zapyta się czym się zajmujesz w pracy to mu opowiesz i zrozumieją... że jesteś web masterem ;p nie do końca słusznie. A jak im wytłumaczysz czym jest backend ;p? Życzę powodzenia ;D Gorzej jeśli Cię poproszą potem jako backendowca o zrobienie stronki do wujka co ma warsztat samochodowy, a Ty nie będziesz umiał. xD
gouda
 
Posty: 954
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez Gorthin » wrz 26, 2021 10:42

Ok zastanowię się jeszcze nad tym.
HTML + CSS na poziomie podstawowym składni jest na tyle proste, że mogę usiąść do tego po pracy i w weekendy, łącznie kilka godzin. A i spokojnie można proste projekty stron zrobić.

Dlatego na wolne wolałbym już iść bardziej w backend. Tylko muszę się zastanowić czy JS czy Java.
JS jakoś bardziej za mną chodzi, tak jak Python.

Ok. Przemyślę sobie.

A mógłbyś się podzielić jakimś schematem/planem nauczania.
Tzn. czy ucząc się po pracy rozpisywałeś sobie co po kolei się uczysz? Ile czasu na co poświęcasz. Czy uczyłeś się jak szło?
Chodzi mi czy zacząłeś od zagadnień z informatyki, od algorytmów, a potem szedłeś dalej z nauką? Czy może dzień jedno, na drugi dzień co innego? Albo wpierw książki/kursy Udemy np, a potem po jakimś czasie większe projekty?

P.S.
I ta wiedza z informatyki mnie interesuje. Co tu jeszcze prócz algorytmów warto znać? Bo poza tym to chodzi mi po głowie budowa komputera :lol: Ale ewentualnie co jeszcze?
Gorthin
 
Posty: 203
Dołączył(a): wrz 16, 2012 19:25

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 26, 2021 16:40

Plan juz masz w 1 poście tego wątku.
Ja uczyłem się po pracy, w tygodniu jednocześnie studiując informatykę (zajęcia w weekendy), więc wiedze przyswajałem równolegle. Na uczelni też mieliśmy jave, ale więcej nauczyłem się z kursów na Udemy, bo na uczelni poznajesz raczej same podstawy (tym bardziej ze na 1 roku to była podstawowa Java, rozszerzona jest na 3 roku - chociaż na większości uczelni to w ogóle mają tylko C++). Przerobiłem kilka kursów: z czystej Javy, ze Springa, Z Gita. Później jeszcze inne kursy ale to już po rozpoczęciu pracy.
Java jest w ogóle dobrym jezykiem na poczatek, bo jest wzorowana na C++ ale poabawiona tych najtrudniejszych rzeczy zwiazanych z C++, jak m.in. koniecznosc zarzadzania pamiecią.

Jesli chodzi o przedmioty informatyczne jakie warto opanowac to:
1. Wprowadzenie do Informatyki (ewentualnie podstawy informatyki lub Wprowadzenie do programowania bo roznie sie to moze nazywac) w szczególnosci 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), możesz też liznąć Odwrócona Notację Polską, translacja na ONP i spowrotem oraz na jezyk symboliczny i jak Ci sie zechce Maszynę Turinga i Automat Deterministyczny i Niedteterministyczny jako wstęp do algorytmiki i systemów cyfrowych.
Na necie znajdziesz darmowe skrypty. Nie chodzi tu o przeczytanie peirwszego lepszegos kryptu, ale o umejętnośc rozwiązania zadan z konkretnych zagadnień. Generalnie WDI pozwala określić czy ktoś w ogóle nadaje się na programiste czy nie. Jesli zakumasz maszynę Turinga a wczesniej nie bedziesz mieć problem z pozostałymi rzeczami to znaczy że możesz być programistą. Jesli nie zakumasz, to znaczy że to nie jest zajęcie dla Ciebie.

2. Logika (Logika dla informatyków) - w szczególności Algebra Boola (tj arytmetyka minarna) w tym prawa De Morgana, postać normalna itd., logika predykatów, relacje, zbiory, klasy abstrakcji

3. Algorytmy i struktury danych, w tym dowodzenie twierdzeń metodą indukcji matematycznej, algorytmy przyrostowe, algorytmy rekurencyjne (dziel i zwyciężaj), rozwiązywanie równań rekurencyjnych, złożoność obliczeniowa we wszystkich notacjach z naciskiem na O-notację, złożoność pamięciowa, algorytmy sortowania sortowania (typowe zadania to obliczyc zlozonosc takiego algorytmu jedną z wybranych metod, co w przypadku algorytmów rekurencyhjnych wymaga rozwiązania równania rekurencyjnego itd). Wreszcie bardzo wazne - dynamiczne struktury danych. Stosy, kolejki, listy oraz struktury drzewiaste (np. drzewo BST). Trzeba rozumieć jak to działa. Nie trzeba umieć tego na pamięć, ale trzeba umieć zakodzić taka strukturę. Widziec różnice w złozonosci algorytmów itd.
Na zajeciach takie algorytmy pisze się najcześciej w C/C++, chociażby ze względu na mechanizm wskaźników nieobecny jawnie w javie.

4. Podstawy techniki cyfrowej: Bramki logiczne, mapy Karnaugh, Układy kombinacyjne i sekwencyjne, multipleksery, przerzutniki, kodery, generatory, liczniki synchroniczne i asynchroniczne. Tu chodzi o zrozumienie jak działaja systemy cyfrowe.

5. Architektura systemów komputerowych w szczególnosci podstawy assemblera, zeby rozumieć jak działa procesor.

6. Bazy danych, konkretnie relacyjne bazy danych i sam język SQL.

7. Inzynieria oprogramowania

Wiedzy do ogarniecia jest duzo dlatego, warto sobie to dozowac z umiarem. Pracując na frontendzie nie interesuje Cie jak działa procesor, ani systemy cyfrowe. Z kolei wiedze z zakresu algorytmiki, podstaw informatyki oraz logiki (w szczególnosci logikę binarną) posiąść zawsze warto. Weź tez pod uwagę że na rozmowie nikt Cie nie zapyta o zadanie z siatki Karnaugh, ale już pytanie jaką strukturę danych zastosować lepiej dla danego kejsu np. czy ArrayListe czy LinkedListe to już może paść. A żeby na takie pytanie odpowiedzieć to trzeba wiedzieć czym się rózni tablica od listy jedno czy dwukierunkowej, a tego nie zrozumiesz do puki nie ogarniesz zakresu przedmiotu Algorytmy i Struktury Danych.
Takie pytania generalnie padają często na rozmowach. No a jeśli chcesz byc profesjonalnym programistą to wypadało by rozumieć co się tam kryje pod spodem danej funkcji/libki, bo tylko wtedy możesz to rozmyślnie wykorzystywać.

W ogóle to polecam Ważniaka. Tu jest program studiów inofrmatycznych oraz duzo materiałów:
http://wazniak.mimuw.edu.pl/index.php?t ... 2%C3%B3wna

Sorry za literówki, ale nie mam czasu dokładnie redagować tego tekstu.
gouda
 
Posty: 954
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez przemek-programmer » wrz 26, 2021 17:51

@Gorthin
Jeśli chodzi o Javę czy SQL dla początkujących to osobiście polecam książki z serii Head First/Rusz Głową.
Najlepiej proponwałbym pójść do czytelni albo ściągnąć gdzieś pdf, żeby zobaczyć czy będzie Tobie będzie odpowiadał styl pisania tych książek, bo jest trochę specyficzny, ale mi jak byłem początkujący się podobał. Książkę papierową można czytać do poduszki, ale to tylko dodatek do programowania przed kompem. Tak samo żeby oswoić się ze składnią, można czasami spróbować coś napisać na kartce papieru (program). Ja nawet do teraz czasami napiszę sobie coś tam ręcznie na kartce, żeby oswoić się z kodem i jego koncepcjami, jak uczę się nowej technologii.

Co do kursów na Udemy to poradziłbym nie kupować ich za dużo, bo i tak potem ich się nie przerabia. Wystarczy 1 dobry, można segregować sobie kursy po ilości zapisanych/chętnych i wybrać najlepszy. Cena "promocyjna" kursów na udemy to ok 50/60 zł i obowiązuje sumarycznie chyba przez połowę roku (np. miesiąc 300 zł, potem miesiąc promocja potem znów 300 zł itd). Teraz widzę, że nie ma promocji, ceny są "normalne", więc polecam poczekać.Normalną sprawą jest że jak lekcja trwa powiedzmy 30 min, to przejście jej wraz z analizą kodu, pisaniem i sprawdzaniem może zająć z 4x 5x więcej czasu. Warto też zmienić coś jak się przerobiło daną lekcję, np. jak był temat inputu jakiegoś tam do zmiennej, to dodać samemu kolejny ale z trochę inną podłączoną funkcją, pobawić się tym, takie podejście rozwija.

Myślę też, że najlepiej nie kopiować kodu na samym początku jako przykład, tylko przepisywać. Wtedy zwraca się uwagę na rzeczy, które przy kopiowaniu umykają, np typy czy importy.

I jeszcze jedno bym dodał: to normalne że na początku nie wiadomo po co są różne rzeczy i dlaczego tak coś działa, nie należy się tym zniechęcać. Po pewnym czasie, napisania samodzielnie trochę i doczytywania rzeczy wszystko powoli zaczyna układać się w całość.
przemek-programmer
 
Posty: 4
Dołączył(a): wrz 06, 2020 07:57

Re: Inżynier mechanik zostaje programistą

Postprzez r4n » wrz 26, 2021 17:55

gouda :
Pytanie, czy jest jakiś próg wejścia jeśli chodzi o wiek? Czy raczej rekruterzy kompletnie nie przykładają wagi do tego?

Mnie akurat ciągnie w kierunku Machine Learning.

Pzdr
r4n
r4n
 
Posty: 166
Dołączył(a): gru 23, 2007 10:41

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 26, 2021 18:05

Wiek... jeśli jesteś przed 30 to nie ma problemu, jesli jesteś przed 40 to problem może być, ale tylko w twojej głowie, a jeśli jesteś po 40 - też da radę. Po 50 to już nie wiem ;), myślę ż jak byś się zawziął to też.
Ale generalnie to pytanie nie jest do mnie ale do HR-owców ;P. Ci z IT są bym powiedział jednak trochę inni od reszty.
W firmie w której pracuje jest kilku ludzi, którzy zaczęli grubo po 30tce.

Co do Udemy to dodam, ze jak nie masz aktualnie dobrej ceny na dany kurs to mozesz wygooglac jakis kod rabatowy - bez problemu coś znajdziesz. Często dobra cena pojawia się też na dzien/dwa dni po tym jak przeglądałeś dany kurs - taki marketing. Cena 50-70 zł to zazwyczaj już jest dobra cena. Jeśli wybierzesz kurs który kupiło ponad 1000 osób (a są takie ktore kupiło po kilkkaset tysiecy) i ma ma ocene powyżej 4 to jest raczej dobry kurs.
Dobry kurs z podstaw javy musi mieć i podstawy, ale i lekcje z modern javy tj. java 8 / java 11 co najmniej.
Z kursem który ma 80 godzin zajęć lekcyjnych pobawisz się z pół roku, jeśli sam zaczniesz kodzić - bo w takim kursie zazwyczaj są zadania do zrobienia. Uczysz się najwięcej właśnie wtedy kiedy sam piszesz kod a potem go debugujesz, jesli nie diząla poprawnie. Kursy też mają swoje wady oczywiscie, a są osoby którym w ogóle taki sposób nauki nie leży, bo na przykład wolą uczyć się z dobrej książki. Wg mnie jeśli jesteś poczatkujacy a nie chcesz wydawać pieniędzy na bootkamp to dobry kurs internetowy jest dobrym rozwiązaniem i poprowadzi Cię krok po kroku za rączkę,
gouda
 
Posty: 954
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez Farenz » wrz 26, 2021 19:44

Odnośnie Javy to nie pisałeś w innym temacie, że ciągle coś nowego wychodzi i trzeba po pracy jeszcze z 2-3 godzinki spędzać, żeby być na bieżąco?
A jak z pythonem? (Po 4h nauki jak trafiłem na przykład zadanie z rekurencja funkcjami w pętli to mi mózg rozwaliło i dopiero następnego dnia zrozumiałem...)
A co z dostaniem się do branży przez stanowisko administratora sieci? Tam chyba nikt problemów nie zrobi jak w "wolnym" czasie skrobię się coś swojego, a odrywanie od kompa na przeciągnięcie kabli czy pomoc innym pracownikom chyba nie jest zła ;)
Farenz
 
Posty: 5
Dołączył(a): lis 07, 2020 10:57

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 26, 2021 20:00

Przez pierwsze lata pracy musisz się dokształcać najbardziej.
Później już jest lżej. Ale czy musisz siedzieć po 3h po godzinach? Nie musisz. W większości przypadków masz możliwość rozwijać się w pracy. Większość zadań jakie dostajesz wymaga jakiejś inwestygacji, która nie tylko dotyczy samej implementacji, ale często wymagane jest znalezienie bibliotek, odpowiedniego wzorca projektowego, przekonanie do niego kolegów z zespołu itd. Innymi słowy to nie tak że od razu musisz wszystko umieć i kodzisz jak automat. Nie tak to nie wygląda. Pracując uczysz się i poznajesz nowe technologie.
gouda
 
Posty: 954
Dołączył(a): lip 30, 2008 00:02

Poprzednia stronaNastępna strona

Powrót do Forum CAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników