Kilka lat embedded - co dalej?

0

Mam kilka lat doświadczenia ( 5 lat ) w programowaniu embedded. Programowanie niskopoziomowe, głównie język C, trochę C++, trochę linuxa. Jestem obecnie w trzeciej firmie w swojej karierze, dodam, że to trzecie korpo. Mam wrażenie, że w większości firm utrzymywany jest przestarzały projekt i praca raczej polega na łataniu starych dziur, ewentualnie czasami wpadnie jakaś nowa funkcjonalność. Brak dokumentacji i przez rotacje brak doświadczonych w projekcie ludzi. Praca często polega głównie na czytaniu starego kodu, pytania ludzi o co chodzi w wiedzy systemowej i na samym końcu możemy ewentualnie dopisać kilka linii kodu. Praca nijaka, ale kasa się zgadza.

Zaczyna mi to nie odpowiadać, bo nie ma w tym nic z tworzenia. Pytanie brzmi co dalej zrobić? Może próbować w startupach? Tylko mam świadomość, że kasa pewnie będzie mniejsza. Może iść w stronę branży automotive, bo tam normy wymuszają proces tworzenia oprogramowania i prowadzenie odpowiedniej dokumentacji.

Mam też czasami myśli, żeby oderwać się od programowania i pójść w zarządzanie. Może jakiś product owner lub project manager. Jakieś sugestie? Dodam, że od pewnego czasu obserwuję, że w typowych korpo malo jest ludzi pracujących jako programiści w wieku powyżej 30-stu lub 35-lat. Gdzie Ci ludzie pracują? Może jakieś software house lub inne mniejsze firmy?

2

Z takim doswiadczeniem do software house to chyba na jakis entry level? Zwlaszcza z C/C++. Ja bym celowal na Twoim miejscu w automotive/IoT. Dorzuc Pythona i masz prace dosc szybko. Ostatnio sporo projektow widze na linked zwiazanych z automotive.

1

Trochę już pracuję w automotive. Duża część projektów nie odbiega od twojego opisu, ale jeżeli pójdziesz w stronę AUTOSAR-a to otwierają się fajne opcje. Dość niedawno zaczął się boom na Adaptive Platform, jest całkiem spory popyt na inżynierów c++ z QNX-em/Linuxem. Nowe projekty, często Infotainment/ADAS.

Branża jak branża, ale cały czas powstają nowe standardy i jeżeli wykażesz inicjatywę, to możesz wylądować w fajnym projekcie.

1

Dużo zależy od tego, jak patrzysz na zmianę wiodącego języka programowania. Możesz zostać w C i dodać do tego Pythona, jako język dodatkowy do tworzenia narzędzi, testów, etc, ale wtedy nie za bardzo zmienisz otoczenie - nadal będą to projekty w C, które chyba już Ci się znudziły. Z drugiej strony projekty embedded też potrzebują CI/CD, automatyzacji testów (również z wykorzystaniem sprzętu...), więc jest w tym jakiś potencjał.
Jeśli chcesz zmienić język to opcji widzę kilka: można pójść w automotive i zostać w C (słowo klucz to AUTOSAR), albo przerzucić się na C++ - wtedy przyda się doświadczenie z embedded, ale naturalnie, nie będziesz pisać tak blisko sprzętu. Wtedy też czeka Cię przesiadka na Linuxa, można też trochę zmienić branżę i pójść np. w Go - język dość podobny do C, no ale to wiąże się z rewolucją branżową, bo to język (aktualnie) do backendu.

Moim zdaniem, tą część z zarządzaniem warto ogarnąć zawsze, tzn. dobrze jest rozumieć jak działają współczesne metody zarządzania i wiedzieć, kiedy są dobrze albo źle wykorzystywane.

0

Uciekaj do Wrocka i rzucaj cefałkę do Aeolusa albo Thuamateca. :)

0
Tenonymous napisał(a):

Uciekaj do Wrocka i rzucaj cefałkę do Aeolusa albo Thuamateca. :)

A cóż oni tam takiego robią, że nie będzie tego samego co wszędzie indziej? :P

0

Robotyka, w nowych standardach języka C++, bez rzezbienia w gównie.

0
Tenonymous napisał(a):

Robotyka, w nowych standardach języka C++, bez rzezbienia w gównie.

hmm

w nowych standardach języka C++
bez rzezbienia w gównie

Wybierz jedno

5

Przykro mi, nie zamierzam w chodzić w zbędne dyskusje na temat języka.

1

Podbiję temat, myślałem, że to tylko u mnie tak wygląda, mam bardzo podobną sytuacje, tylko mniejszy staż, trochę ponad rok. Embedded, głównie C++(11/14), korpo, projekt bez dokumentacji(dopiero powstaje, po 3+ latach), rotacja ludzi, tyle że jest jeszcze kilku doświadczonych. Głównie utrzymanie, naprawa bugów, wertowanie dokumentacji układu, a jak jest już jakaś nowa funkcjonalność to mała zmiana, czasami rozszerzenie warunku czy włączenie jakiegoś sterownika, mam wrażenie że się cofam w pracy w programowaniu niż uczę mimo małego stażu. Jedynie co to hajs się zgadza i to mnie trzyma. Zastanawiam się odejściem od embedded na rzecz webu na backend w pythonie, wydaje mi się że łatwiej o rozwój(w programowaniu), sporo ofert pracy, brak walki z HW i z nieścisłościami w dokumentacji. Nie wiem tylko czy to dobry kierunek, robiłem trochę stron dla siebie i póki nie trzeba było frontu dotykać to mi się podobało, tylko przejście na web z embedded potrwa chwilę a konkurencja też nie śpi i będę tu tak naprawdę zaczynał od nowa, inne podejście. Go jest jeszcze ciekawą alternatywą tylko na ten moment mało ofert pracy a żyć za coś trzeba.

0
Czarny Samiec napisał(a):

Podbiję temat, myślałem, że to tylko u mnie tak wygląda, mam bardzo podobną sytuacje, tylko mniejszy staż, trochę ponad rok. Embedded, głównie C++(11/14), korpo, projekt bez dokumentacji(dopiero powstaje, po 3+ latach), rotacja ludzi, tyle że jest jeszcze kilku doświadczonych. Głównie utrzymanie, naprawa bugów, wertowanie dokumentacji układu, a jak jest już jakaś nowa funkcjonalność to mała zmiana, czasami rozszerzenie warunku czy włączenie jakiegoś sterownika, mam wrażenie że się cofam w pracy w programowaniu niż uczę mimo małego stażu.

Tak wygląda praca w jakiejkolwiek działce. Przynajmniej w grubej większości przypadków. Coś tam się od nowa czasem naklepie, ale i to staje się z czasem rutynowe i mechaniczne.

Jedynie co to hajs się zgadza i to mnie trzyma. Zastanawiam się odejściem od embedded na rzecz webu na backend w pythonie,

O.o ....oookeeeeej

wydaje mi się że łatwiej o rozwój(w programowaniu), sporo ofert pracy, brak walki z HW i z nieścisłościami w dokumentacji.

ostrzegam, że za to łatwo o pracę w zespole idiotów, którzy sami średnio ogarniają co piszą. Nieścisłości w tym co klient chce i inne atrakcje, przy których można zwątpić w umysł ludzki. To kierunek najliczniej oblegany.

Nie wiem tylko czy to dobry kierunek, robiłem trochę stron dla siebie i póki nie trzeba było frontu dotykać to mi się podobało,

Na to pytanie ci niestety nikt nie odpowie.

tylko przejście na web z embedded potrwa chwilę a konkurencja też nie śpi i będę tu tak naprawdę zaczynał od nowa, inne podejście. Go jest jeszcze ciekawą alternatywą tylko na ten moment mało ofert pracy a żyć za coś trzeba.

Programowanie systemowe, administracja, testerka. Do tego z golang można też zdalnie - wysyłasz CV i jak się spodobasz to śmigasz z fotela, czy tam kanapy, albo pociągu relacji Klewki-Paryż. Doświadczenie w embedded to dość mocny punkt w CV,

1

ostrzegam, że za to łatwo o pracę w zespole idiotów, którzy sami średnio ogarniają co piszą. Nieścisłości w tym co klient chce i inne atrakcje, przy których można zwątpić w umysł ludzki. To kierunek najliczniej oblegany.

Coś w tym jest, też myślałem coby nie przeskoczyć na web. Pierwsza rozmowa - senior pyta się o złożoności operacji na liście, no to się pytam jakiej - abstrakcyjnej :)

0

Coś w tym jest, też myślałem coby nie przeskoczyć na web. Pierwsza rozmowa - senior pyta się o złożoności operacji na liście, no to się pytam jakiej - abstrakcyjnej :)

Jaki stack? Bo samo 'web' może skrywać bardzo dużo i okaże się, że tam w tle jest jakaś Java, a praca w dużym, złożonym systemie. Więc pytanie jak najbardziej na miejscu. Chociaż przyznam, że można by spożytkować ten czas na jakieś sensowniejsze pytanie :P

1

Python. Niestety pytanie się o sortowanie/przeszukiwanie listy "bez wnikania w implementację" nie ma dla mnie żadnego sensu, ale bardziej chodziło o to, że CPython tak implemen... no właśnie.

0
Szalony Kot napisał(a):

Python. Niestety pytanie się o sortowanie/przeszukiwanie listy "bez wnikania w implementację" nie ma dla mnie żadnego sensu, ale bardziej chodziło o to, że CPython tak implemen... no właśnie.

Przykre, ze firma ma seniora na poziomie mentalnym juniora. Z bagazem wiedzy i doswiadczenia Ci ludzie mogliby sie odrobine wysilic skoro juz rekrutuja sobie kogos z kim beda pracowac.
I co mu odpowiedziales? Co bylo po tym pytaniu? Zaczal kiepsko, a pytanie jak skonczyl? :P

0

Generalnie pytanie było o algorytmy przeszukiwania listy. Tak sobie myślę, że w przypadku posortowanej array listy można ładnie zejść ze złożonością. W przypadku list kierunkowych już raczej nie, ale jak się o to spytałem to: "proszę nie wnikać w implementację, załóżmy abstrakcyjną listę". Przedstawiłem jakiś algorytm dziel i rządź, zadowoleni byli...

Zresztą dziwny offtop, pojawi się temat "opinia o firmie" to zrecenzuję.

0

Też od jakiegoś czasu zastanawiam się co robić dalej. Moje doświadczenie jest też trochę mniejsze, bo 2,5 roku w embedded. Praca podobnie jak koledzy wyżej napisali. Pytanie co dalej ? Wydaje się, że najbliżej będzie iść w C++ do jakiegoś korpo z telekomunikacja, ewentualnie automotive z AUTOSAREM. Wolałbym unikać firm pracujących bardzo blisko sprzętu w języku C. Przejście na .net i c# pod backend czy java, to raczej będzie trzeba liczyć się z rozpoczęciem wszystkiego od nowa i dużo większą konkurencją...

0
rooti napisał(a):

Też od jakiegoś czasu zastanawiam się co robić dalej. Moje doświadczenie jest też trochę mniejsze, bo 2,5 roku w embedded. Praca podobnie jak koledzy wyżej napisali. Pytanie co dalej ? Wydaje się, że najbliżej będzie iść w C++ do jakiegoś korpo z telekomunikacja, ewentualnie automotive z AUTOSAREM. Wolałbym unikać firm pracujących bardzo blisko sprzętu w języku C. Przejście na .net i c# pod backend czy java, to raczej będzie trzeba liczyć się z rozpoczęciem wszystkiego od nowa i dużo większą konkurencją...

Wiesz embedded to szeroka działka, jeden będzie klepał oprogramowanie dla regulatora klimatyzacji, inny skryptował routery dla producenta.
Co dalej? Paaanie - dróg od zarypania potencjalnych. Administracja systemami (w tym customowymi gdzie trzeba przeglądać kod pisanyw C, C++, asm itp),developer oprogramowania systemowego (sterowniki, serwery usług - apache itp same się nie piszą i utrzymują), wspomaganie zespołów naukowych przy tych słynnych zderzaczach cząstek, czy innych akademickich wynalazkach (na UJ można było załapać za studenta przy jakichś ichnich riserszach nad komputerami optyczymi). Przy tych słynnych samojezdnych samochodach i tego typu wynalazkach też.

0

Dziękuję wszystkim za odpowiedzi.

rooti napisał(a):

... Pytanie co dalej ? Wydaje się, że najbliżej będzie iść w C++ do jakiegoś korpo z telekomunikacja, ewentualnie automotive z AUTOSAREM. Wolałbym unikać firm pracujących bardzo blisko sprzętu w języku C.

Ja właśnie jestem w drugiej pracy - korpo telekomunikacyjne i mam trochę dość. Olbrzymia rotacja i mnóstwo magicznej wiedzy o której wie 1 osoba na 20 pracujących. Próg wejścia olbrzymi i ciężki do pokonania, bo nie ma żadnej dokumentacji. Wszystko robi się na czuja.

Obecnie postawię na automotive z autosarem. Wcześniej pracowałem w 'branży bezpiecznej' i normy wymuszały względny ład i porządek. Może to będzie dobra droga.

0

Jeżeli chodzi o telko, to Motorola? Nokia ? Duża rotacja wiąże się z tym dużym progiem wejścia, że po prostu ludzie sobie nie radzą ? Jak automotive to jaka firma ? Aptiv ?

0

Na pytania o konkretne firmy teleco mogę odpowiedzieć na priv. Co do automotivu jeszcze się za bardzo nie rozglądałem.

Rotacja wiąże się z tym, że zatrudniają mnóstwo studentów dla których to jest pierwsza praca. Po roku taki student dostanie gdzie indziej 50-80% więcej kasy i odchodzi. On i starzy pracownicy firmy o tym wiedzą.... i wdrożenia praktycznie nie ma. Starym się nie chce, bo za kilka miesięcy znów przyjdzie nowy. Najgorsze jest to, że student z kilkumiesięcznym stażem wprowadza nowych ludzi w firmie :) i koło niewiedzy się zamyka. Praca dużych działów oparta jest na wiedzy 4-5 osób, którzy ogarniają najważniejsze tematy i nie mają czasu dla świeżych.

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