_

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 Asu83 » wrz 13, 2022 17:38

desmoRR napisał(a):
Ania Polak napisał(a):
desmoRR napisał(a):...

a jak dokonałeś tej zmiany? czym ich przekonałeś na rozmowie kwalifikacyjnej?

Zacząłem uczyć się SQL i zobaczyłem ogłoszenie gdzie była wymagana znajomość SQL i relacyjnych baz danych.

Czym moją aktualną firmę przekonałem do siebie ?
1. Na rozmowie jak pytali się dlaczego chcę zmienić pracę powiedziałem, że rozpisałem sobie ścieżkę kariery i chcę połączyć wiedzę domenową z IT. Przemysł i Służba Zdrowia to dwie różne domeny biznesowe, ale sam fakt, że pracowałem na ERP na pewno pomogło.
2. Zarobki. Powiedziałem, że chcę na początek tyle samo co miałem w poprzedniej firmie czyli < 3000 netto. Tłumaczyłem to, że nie mam wiedzy i doświadczenia i nie mogę za dużo wymagać, ale są chęci i motywacja do nauki. Później opowiadali mi, że przychodzili goście co ledwo skończyli politechnikę i żądali na wejściu 10 000 netto. Zero doświadczenia, ale naczytali się, że IT to eldorado i za 2500 netto nie będą pracować. Kierownik nawet tyle niema.
3. Ogólne doświadczenie życiowe. Obycie w pracy i wśród ludzi. Bardziej traktują Ciebie poważnie.

Asu83 napisał(a):Z czego uczysz się algorytmów? Możesz polecić jakieś źródło

Wybrałem język C# ze względu na to, że całe życie pracowałem w środowisku Windows. Nie chcę na razie ruszać Linuxa.
Microsoft oferuje świetny ekosystem dla Developerów.

Najpierw przerobiłem książkę, żeby poznać składnie języka.
"C#. Praktyczny kurs. Wydanie III"

Wtedy można przerobić algorytmy. W odwrotnej kolejności raczej nie dasz rady.
"Struktury danych i algorytmy w języku C#. Projektowanie efektywnych aplikacji"

Ogólnie to książki i ewentualnie kursy z Udemy (niskie koszty). Bootcampów nawet nie brałem pod uwagę.


W aktualnej pracy zajmuję się prawie wszystkim. Analizy przedwdrożeniowe, wdrożenia, instalacja i konfiguracja oprogramowania i sprzętu (serwery, upsy, drukarki), szkolenia, rozwiazywanie problemów zdalnie.

Dlatego chcę się teraz ukierunkować, w domu dużo ćwiczyć i w przyszłym roku iść już docelowo w specjalizacje.

Algorytmy mnie mega wciągnęły i na początku uczyłem się teorii czyli jakie i kiedy używać. Teraz uczę się praktycznego zastosowania. Chyba jest to najlepszy sposób, żeby nauczyć się programować.

Raczej nie chcę iść w Web Development tylko bardziej celuje w Inżyniera Danych (backend).

Tak czy inaczej uczę się programować bo chcę mieć konkretną umiejętność, a nie slogany typu praca w zespole, doprowadzanie projektów do końca itd. Takie rzeczy można wpisać jak się nie ma doświadczenia. Teraz rynek wymaga konkretnych umiejętności.

Przy okazji uczę się ustaw o służbie zdrowia :wink:


Gratuluje, że udało Ci się wbić do branży. Teraz mega dużo pracy przed tobą niezależnie jaką ścieżkę wybierzesz.
Ja uczę się już od ponad roku. Bazuje gównie na kursach z platform edukacyjnych. Uczenie z książek uważam za mało efektywną ale to już pewnie indywidualna kwestia.
Wiem, że algorytmy to jeden z ostatnich etapów i powoli chce się za to zabierać. Liczyłem że może udało Ci się znaleźć jakiś sensowny kurs bo z doświadczenie wiem, że z ich jakością różnie to bywa. Potem traci się niepotrzebnie masę czasu na doczytywania i szukanie niewytłumaczonych zagadnień.
Jeśli chodzi o mnie to w pierwszym kwartale 2023 planuję rozpocząć rozglądać się za stanowiskiem junior Developera w ASP.Net.
Asu83
 
Posty: 19
Dołączył(a): gru 10, 2020 20:14

Re: Inżynier mechanik zostaje programistą

Postprzez desmoRR » wrz 13, 2022 18:03

Asu83 napisał(a):Gratuluje, że udało Ci się wbić do branży. Teraz mega dużo pracy przed tobą niezależnie jaką ścieżkę wybierzesz.

Dziękuję. Praca 8-16, wracam do domu i siedzę jeszcze 3-4 godziny przy komputerze. Do tego weekendy. Jesień, zima to dobry czas na naukę. Poświęcę się teraz, a na wiosnę wyluzuje. Po trzech miesiącach "nowości" jestem zajechany dosłownie :wink:

Nie wiem czy uda mi się wejść do developerki. Niby jestem w IT, ale z programowaniem nie mam do czynienia.
Dlatego myślę o stanowisku analityk. W teorii może to być kontynuacja po wdrożeniowcu.

Tak czy inaczej, nawet jak nie używacie w pracy SQL, C#, Pythona itd. to i tak warto uczyć się w swoim zakresie. Przyjdzie moment, że przyda się taka umiejętność. Wysyłać CV, być aktywnym na rynku pracy i nie poddawać się. Koledzy w drugim temacie wyjaśnili dlaczego.

CV może i dużo spływa ogólnie do IT, ale sensownych kandydatów jest bardzo mało. Tak mówią w mojej firmie.
desmoRR
 
Posty: 15
Dołączył(a): wrz 12, 2022 17:50

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 15, 2022 10:08

Naukę algorytmów i struktur danych polecam zacząć od teorii oraz języka C++. Język ten używa jawnie wskaźników i referencji (parametr do funkcji może być przekazany jako wartość, referencja lub wskaźnik).
Wskaźniki w językach takich jak Java, C# i innych nowoczesnych językach tak naprawdę również istnieją, ale są niejawne. Moim zdaniem lepiej uczyć się struktur danych używając jawnych wskaźników.

Jeśli chodzi o teorie, bo to zanim zaczniesz to musisz wiedzieć czym jest tak naprawdę ten wskaźnik (odwołanie do komórki pamięci w której od której zaczyna się dana zmienna, obiekt).
Musisz liznąć teorie złożoności, O-notacje ale też złożoność średnia i pesymistyczną. Innymi słowy musisz umieć wyliczyć złożoność do swojego algorytmu na kartce papieru. Musisz przynajmniej zgrubnie czaić jak rozwiązywać równania rekurencyjne. Musisz rozumieć czym taka rekurencja jest i jak ją można zmienić w iteracje i na odwrót.
Najpopularniejszymi algorytmami które pomogą Ci zrozumieć jak pisać własne algorytmy to algorytmy wyszukiwania. Jest ich cała masa, stosują różne strategie iteracyjne, rekurencyjne jak strategia dzieł i zwyciężaj itd.
Jeśli chodzi o strukturę danych no to trzeba zaczac os tych podstawowych czyli od stosu, sterty, tablicy, listy oraz (jednokierunkowej i dwukierunkowej), kolejki, zbioru oraz oczywiście najbardziej złożone struktury drzewiaste zaczynając od drzewa BST (binary search tree). Później będziesz używał wiele bibliotecznych obiektów (kontenerów asocjacyjnych) które pod spodem mają zaimplementowane takie właśnie struktury danych i będziesz musiał dokonywać wyboru kiedy zastosować np ArrayLisyw a kiedy LinkedListe - a one w różnych operacjach mają różne złożoności obliczeniowej i nie ma tu żadnego idealnego rozwiązania, po prostu z kazdym razem będziesz musiał ustalać jakie operacje dominują w twoim kodzie i odpowiednio wybierać struktury danych.
Wreszcie wielokrotnie będziesz implementować własne zarówno statyczne jak i dynamiczne struktury danych i musisz umieć je prawidłowo budować. Musisz wiedzieć kiedy zastosować rekurencję i jakie ma wady (jak ryzyko przepełnienia stosu - stack overflow), a kiedy iteracja się lepiej sprawdzi. A do tego wszystkiego musisz trichebrozumiec jak działa komputer i system operacyjny czym jest w nim stos a czym sterta, jak działa pamięć, jak działa procesor (tudzież ALU czyli jednostka arytmetycznie logiczna, rejestry procesora it'd).

C++ jest świetny do nauki algorytmów i struktur danych, bo mimo że to jest język wysokiego poziomu i na w miarę wygodna składnię, to jednak cały czas pozostaje blisko sprzętu. Dopiero jak je opanujesz w C++ to polecam się przerzucić na języki wyższego poziomu jak Java czy C#.
Zresztą to będzie bezbolesna przesiadka bo te języki są oparte na składni C++. Co innego Pythonem, tu niestety składnia jest nieco inna. Ale Python ma swoje specyficzne zastosowania i warto się go uczyć tylko wtedy jeśli chcesz iść w kierunku ML czy BigData. Wprawdzie są też frameworki webowe dla Pythona ale w tych zastosowaniach jednak dominuje Java a za nią trochę dalej C#.

Btw. Nowoczesne oprogramowanie to oprogramowanie gkownie chmurowe. Desktypybodchodza w zapomnienie. 95% programistów tworzących aplikacje w Polsce, pracuje z aplikacjami webowymi, a bardzo często chmurowymi (cloud native). Tak że C# jest najczęściej wykorzystywany właśnie do takich aplikacji Jednak tutaj cały czas dominuje Java, a w przyszłości być może będzie to Kotlin, na pewno nie C# .dlaczego? Bo jest Java i Kotlin są free i oraz oferują ogromny ekosystem oparty o opensouece a większość nie chce być uzależniona od jakiejś korporacji.
W każdym razie na web developerów znających c# i dot net też jest bardzo duże branie, tak że to jest dobra opcja. Ale na pewno nie są dobrą opcja aplikacje desktopowe.
Btw. Środowisko .net czyli pozwalające na odpalanie aplikacji w C# działa też na Linuxie i na Macu. Wielu deweloperów C# pracuje na makbookach.
gouda
 
Posty: 1089
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez desmoRR » wrz 16, 2022 16:47

Po przemyśleniu tematu idę w stronę C#, ASP.NET i SQL. Ogólnie backend.
SQL mocno używam w pracy to mam podstawę do dalszego rozwoju.

Pytanie mam do ludzi, którzy już siedzą mocno w IT. Osoba, która pracuje z bazami danych, ale nie programuje aplikacji ma szanse na wejście do developerki ? Jak to wygląda u Was w firmach ?

Czy lepiej wybrać inną ścieżkę ? Na przykład tester automatyczny ?
Ogólnie chcę się rozwijać technicznie.
desmoRR
 
Posty: 15
Dołączył(a): wrz 12, 2022 17:50

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 16, 2022 17:57

Z samym SQL nie za bardzo. To jest tylko jedna z technologii bazodanowych. A backend to nie tylko baza danych ale przede wszystkim warstwa logiki biznesowejz oraz odpowiednie endpointy.
Zresztą jeśli będziesz kiedyś pracował jako developer to SQL i w ogóle relacyjne bazy danych to będzie tylko jedna z technologii bazodanowych z którymi możesz się spotkać. SQL ma wiele zalet, i mimo że jest już stary to nie ma szans żeby zniknął z rynku, ale ma też wiele wad, przez obciążenie transakcjami jest wolny a co gorsza nie skaluje się wertykalnie (poziomo) a jedynie pionowo, więc słabo nadaje się do clouda i mikroserwisow. A systemy rozproszone komunikujące się asynchronicznie to właśnie jest przyszłość. Takie serwisy często obsługują miliony użytkowników, a SQL sobie z takimi obciążeniami radzi ciężko.
Do tego najlepsze są systemu NoSQL jak np. MongoDB czy Cassandra.
Niestety praca dewelopera to nie jest praca polegająca na wykuciu jednej technologii. Bardzo często musisz pracować z różnymi technologiami które widzisz pierwszy raz na oczy i musisz to ogarnać.

Oczywiście ta wiedza z SQL Ci się bardzo przyda i czasami może być decydującą w rekrutacji.
Jak chcesz wejść branży jako programista musisz jednak znać dobrze podstawy języka + framework + podstawy na danych + podstawy Rest API + ewentualnie podstawy architektury opartej na zdarzeniach (czyli jakiś message broker jak Kafka czy RabbitMq).
Tyle by wypadało znać, zanim zacznie się aplikować na juniora (o podstawach samej informatyki, algorytmach, strukturach danych oczywiście nawet tu nie wspominam)

Tester automatyzujacy może używać SQLa intensywnie, a może go nie używać wcale tylko testować GUI w sellenium albo API w postmanie. Może nawet pracować w firmie w której w ogóle nie ma relacyjnych baz danych ;) i to wcale nie rzadko przypadek.
gouda
 
Posty: 1089
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez desmoRR » wrz 16, 2022 18:13

gouda napisał(a):Z samym SQL nie za bardzo.

gouda napisał(a):Oczywiście ta wiedza z SQL Ci się bardzo przyda i czasami może być decydującą w rekrutacji.
Jak chcesz wejść branży jako programista musisz jednak znać dobrze podstawy języka + framework + podstawy na danych + podstawy Rest API

Ale to nie jest tak, że z samym SQL chce wysyłać CV na developera, tylko przez najbliższe 6-12 miesięcy mocno się przygotować z innych tematów C#, ASP.NET, Git i wtedy starować ;)

Bardziej mi chodziło o to, czy jak już jestem w branży to łatwiej coś działać w tym kierunku ? Czy cały czas jest 500 CV na jedno miejsce ?
desmoRR
 
Posty: 15
Dołączył(a): wrz 12, 2022 17:50

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 16, 2022 20:14

Jasne że powinno Ci być łatwiej, ale CV musisz przygotować dobrze, potem obronić je na rozmowie, a potem przetrwać pierwsze 3miesiące do pół roku ;).
gouda
 
Posty: 1089
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez desmoRR » wrz 17, 2022 11:21

gouda napisał(a):Jasne że powinno Ci być łatwiej, ale CV musisz przygotować dobrze, potem obronić je na rozmowie, a potem przetrwać pierwsze 3miesiące do pół roku ;).

Pewne spytam się o parę rzeczy, ale to nie teraz :)

@gouda
Jak wygląda Twój dzień pracy ? Robicie nowe projekty czy utrzymaniówka ?

Napisz coś na ten temat.
desmoRR
 
Posty: 15
Dołączył(a): wrz 12, 2022 17:50

Re: Inżynier mechanik zostaje programistą

Postprzez gouda » wrz 17, 2022 11:56

Tworzymy głównie nowe funkcje w istniejącym systemie, przy czym architektura systemu jest taka, że nowe funkcje to często odrębne aplikacje. Podobnie było w poprzedniej pracy, tam często nowe funkcje były tworzone w nowych mikroserwisach. Oprócz tego standardowo usuwanie długu technicznego (czyli refaktoring, poprawianie działania, podbijanie bibliotek, usuwanie podatności) no i hotfixy.
No i oczywiście pisanie testów jednostkowych i integracyjnych. Testy to nie tylko domena testera - w samym sofcie powinno być zaszytych jak najwięcej testów aby pokrywać jak największą ilość funkcji systemu. Testy pisze się zaraz po utworzeniu jakiegoś ficzera, albo stosuje się podejście Test Driven Development, w którym to proces kodowania zaczynasz od napisania testu/testów, dopiero pozniej piszesz ficzer który musi przejść ten test/testy,
Tak standardowo wygląda praca developera. W przypadku rozwiązań chmurowych więcej jest zabawy na pograniczu programowania i devops.
gouda
 
Posty: 1089
Dołączył(a): lip 30, 2008 00:02

Re: Inżynier mechanik zostaje programistą

Postprzez desmoRR » wrz 17, 2022 17:47

@gouda
Z tego co piszesz to ciekawie to wygląda i nie ma nudów. Ogólnie programowanie to kojarzy się z nudnymi tematami ;)

Możesz napisać jakie projekty warto robić do Gita, żeby zrobić wrażenie na rozmowie ? Spodziewam się, że kolejny sklep to jest już oblatany projekt. Bez sensu wrzucić projekt, który jest setną kopią z kursu, który skończyło tysiąc osób.
desmoRR
 
Posty: 15
Dołączył(a): wrz 12, 2022 17:50

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