Wątek przeniesiony 2023-09-07 10:26 z Hardware/Software przez Adam Boduch.

Embedded - pierwsza praca, nauka.

0

Cześć, za rok kończę studia z elektrotechniki w przyszłości chciałbym pracować jako programista Embedded, jak wiadomo na studiach znaczny nacisk jest na teorie, pomijając praktykę. Proszę o radę co powinien umieć junior embedded developer aby dostać pierwszą pracę.

1
  • umieć napisać jakiś kod (jak czasami rekrutuje, to ludzie zaskakująco często odpadają na prostym zadaniu z kodowania, gdzie mogą wybrać dowolny język, a w CV mają +2 lata doświadczenia).
  • c/c++
  • git
  • jakiś framework do testów: gtest/catch2/boost.test
  • rozumieć polimorfizm.
  • zależnie od pofilu firmy przydatnym umięjętnością może być też elektronika: lutowanie posługiwanie się multimetrem, oscyloskopem itp.
2

to zalezy co rozumiesz przez Embedded. Z grubsza podzielmy to na dwa branche

  1. "Duże" komputery arm/czasami legacy misp czy nawet x86. Coś w rodzaju gateway, stb itp. które de facto odpalają linuxa. To już wyższa warstwa abstrakcji jak goy mikroprocesor.
  2. mikroprocesory np. stm32 itp. To tutaj sporo C ale też C++. Systemy czasu rzeczywistego jak freertos. Generalnie bardziej low level

Zapoznaj się z yocto, freertos,stm32. Takie sprawy a reszta jak wyżej typowo. U nas dużo automotive szczególnie legacy kodu.

1

C++ możesz sobie darować, musisz bardzo bardzo dobrze znać C. Do tego to co wszędzie - Git, make, i protokoły komunikacyjne jak I2C, UART, SPI etc.

2

Kumanie C i umienie zaimplementować podstawowe struktury danych w nim będąc obudzonym o 3 nad ranem. Arytmetyka wskaźników wysoko na liście rzeczy którym poświęcasz uwagę.

Rozumienie podstawowych bebechów systemów operacyjnych (schelduler, proces, stos sieciowy) przynajmniej na poziomie "wiem że to istnieje i co to robi w systemie" (przy czym ja bym polecał ogarniać jakie mniej więcej algorytmy są w nich wykorzystywane).

Kumać tematykę architektury przynajmniej jednego rodzaju CPU - jak to ustrojstwo startuje i co się potem dzieje, jak korzysta z pamięci, czy ma jakieś mechanizmy do gadania z podzespołam, tryby procesora itd. Jak masz szerszą wiedzę o procesorach - typu jakie mechanizmy/rozwiązania w nich występują to też ci nikt złego słowa nie powie.

Wspomniane już protokoły. UART, I2C, SPI powinny wystarczyć na start.

Jak widzisz C++ w ofercie to radzę salwować się ucieczką, chyba że kochasz ból lub masz pistolet przystawiony do skroni.

Oscyloskop i tematyka około obwodów drukowanych – jak rozumiem miałeś styczność? Jeśli tak to powinna być wystarczająca raczej. W sumie to nie zawsze się nawet wchodzi w te rejony, chyba że pracujesz przy egzemplarzach ptototypowych.

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