Przebranżowienie / zmiana technologii - jaki kierunek, jakie języki?

0

Witajcie

Na wstępie krótka charakterystyka mojej osoby. Lvl 31, ukończone studia na kierunku EiT więc bardziej elektronika niż programowanie / algorytmy. Od 5 lat programista embedded baremetal łatający dziury w obecnym urządzeniu i portujący kod / budujący obsługę nowego urządzenia. Miasto to obrzeża Śląska. Pracuję głównie w C i Delphi (proste procedury obsługujące komunikację z urządzeniem). Zarobki rzędu 5k na łapę.

Projekt nad którym pracowałem / pracuję ma się ku końcowi. Na pewno nastąpi jego dalszy rozwój ale nie wiem czy mam ochotę dalej w tym uczestniczyć. Nie wiem czy mam dalej ochotę siedzieć w embedded. Od roku - dwóch lat nie nauczyłem się niczego nowego, czuję ze zaczynam wrastać w tą firmę, łapię złe nawyki i za kilka lat obudzę się z "ręką w...".
Mam wrażenie, że się wypaliłem bo po powrocie do domu nie mam nawet ochoty patrzeć na elektronikę / programowanie jakiegoś mikrokontrolera.
Z własnej inicjatywy, głównie na własne potrzeby zacząłem ogarniać linuxa(debian, instalacja / konfiguracja vps, nginx, ssh, vsftpd), git'a(w robocie używamy czegoś innego), projektowanie (SolidWorks) i odrobinę C# / WPF.

Zacząłem zadawać sobie pytanie quo vadis. Brnąć dalej w embedded, bardziej pod kątem C++ (ogólnie obiektówka i zmiana sposobu myślenia, gui) w innej firmie, czy może zacząć uczyć się C# / Javy i przebranżowić się, całkowicie rzucając embedded. Nie ukrywam, że dużą rolę odgrywają tu też zarobki. Czytając temat Ile zarabiacie? i nawet dzieląc kwoty na pół wychodzi na to, że juniorzy zarabiają więcej.

Daję sobie pół roku / max rok czasu na naukę, po godzinach. Od czego zacząć, jaką technologię wybrać? Co dalej / w międzyczasie? Jakieś projekty freelance? Płatne szkolenia potwierdzane certyfikatami? Próba zatrudnienia jako junior w nowej technologii?
Wiem, że nikt za mnie decyzji nie podejmie ale chciałbym wiedzieć od czego zacząć i jaką ścieżką iść, żeby nie marnować czasu.

0
MaskedMan napisał(a):

ukończone studia na kierunku EiT więc bardziej elektronika niż programowanie / algorytmy.
Miasto to obrzeża Śląska. Pracuję głównie w C

Z której strony obrzeża Śląska? Od Zagłębia czy od Gliwic?
Nie musisz się bać, nie zlokalizują cię obce siły ;)

Od strony Olkusza masz niedaleko Kraków, w Krakowie silną reprezentacje: Nokia, Motorola, Ericsson (nie jestem na bieżąco). Startuj tam, na pewno zarobki będą wyższe. No i perspektywy pracy lepsze.
Od strony Gliwic do Wrocław, ale chyba za daleko?

0

embedded to sobie całkowicie odpuść, do tego jak sam widzisz C++ nie jest tak powszechnie używany w embedded jak C więc uczenie się go jest bezcelowe. Embedded Linux oczywiście też słabo w PL wygląda, było już na tym forum i innych kilka tematów o tym. Najlepiej to przejść do Web backend, Go jest dość podobne do C (ma ten spirit of C, nie jest tak całkowicie odmienne od C jak np. Python). Znajomość Linuksa oczywiście jest tam nie tyle mile widziana co wymagana więc to jak najbardziej wartościowa inwestycja.

0
BraVolt napisał(a):

Z której strony obrzeża Śląska? Od Zagłębia czy od Gliwic?
Nie musisz się bać, nie zlokalizują cię obce siły ;)

Bardziej od Tarnowskich. A licho nie śpi, nigdy nie wiadomo kto czyta forum :D
Relokacja to kwestia podjęcia decyzji. Nie mam rodziny na głowie. Poza tym obecna praca zdalna trochę ułatwia sprawę, chociaż wolałbym pierwsze miesiące pracować z biura - poznać ludzi, system pracy, narzędzia itd.

aoeuidhtn napisał(a):

embedded to sobie całkowicie odpuść, do tego jak sam widzisz C++ nie jest tak powszechnie używany w embedded jak C więc uczenie się go jest bezcelowe. Embedded Linux oczywiście też słabo w PL wygląda, było już na tym forum i innych kilka tematów o tym. Najlepiej to przejść do Web backend, Go jest dość podobne do C (ma ten spirit of C, nie jest tak całkowicie odmienne od C jak np. Python). Znajomość Linuksa oczywiście jest tam nie tyle mile widziana co wymagana więc to jak najbardziej wartościowa inwestycja.

Z linuxem miałem styczność już w czasach Mandrake 9.2. więc nie jest mi on całkowicie obcy, co innego konfiguracja pod konkretne usługi. Tu głównie korzystałem z poradników / tutoriali / dokumentacji.

0

Czekaj, ale to są chyba 2 różne rzeczy - konfiguracja Linuksa pod usługę to nie robota dla programisty tylko dla Devops. Programista musi sobie umieć skonfigurować swój własny system pod swoje potrzeby (zawsze się trochę konfiguruje) to znaczy skopiować linię docker run ... z README.md, zainstalować edytor/IDE, ukochany browser i Window Manager. Pod hasłem "umiejętność Linuksa" ja rozumiem też POSIX shell, kernel (pisanie, budowanie, ładowanie modułów ale też to co kernel, udostępnia w userspace np. co jest w /proc i /dev, dmesg, udev), umiejętność używania man, ssh, no takie rzeczy.

0

No to za kernela np. nigdy się nie brałem bo nie miałem takiej potrzeby. Nawiasem mówiąc w emb też nie używałem linuxa czy ogólnie systemu bo nie było parcia na to... ale mógłby się przydać.

4

No zacznij myśleć od końca, bo znów się wpakujesz w coś co Ci za bardzo nie leży.

Olej technologie, bo jak znajdziesz odpowiedź na poniższe pytania to technologia będzie mieć marginalne znaczenie:

Określ jakie rzeczy chcesz programować? Najlepiej rzuć nazwy produktów jakie Cię ciekawią.
Jakie problemy chcesz rozwiązywać?
Określ kim mają być Twoi klienci?
Jakaś konkretna branża?
Czy interesują Cię duże firmy, średnie czy małe?

0

Po prostu rozglądnij się po rynku. Aktualnie sporo firm szuka 100% zdalnie i stawki są całkiem przyzwoite. Pytanie czy warto wszystko to co robileś/umiesz zostawić i pchać się w coś nowego. Też nieraz mi przechodziło to przez myśl. Ale pochodziłem po rozmowach teraz, dużo firm daje 100% zdalnie z fajnymi stawkami. Na śląsku na pewno warto pomyśleć o Rockwell Automation i SII (mimo wszystko, że maja różne opinie -projektów embedded maja sporo).

1

Doradzę i od siebie:

  1. jeżeli lubisz embedded to w nim zostań bo kasa będzie coraz większa, wręcz kolosalna, jak nie w Polsce, to zagranicą (dla zagranicy)
  2. jeżeli nie lubisz embedded to idź w Go Lang, to jest na topie, jest wzięcie, jest kasa i będzie wzięcie z kasą; jak nie chcesz się dużo uczyć to .NET/C#, Java albo Python/Perl
  3. w embedded w Polsce i tak się mało zarabia, miałem kilka rozmów na embedded ale firmy to co proponowały finansowo to był śmiech na sali; gdybyś dorwał coś zagranicznego to zostaniesz szybko milionerem (o ile będziesz oszczędzał)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.