Witam,
Mam pytanie ogólne o to jak wygląda zawodowa praca programisty embedded. Obecnie pracuję jako inżynier elektronik, ale mikrokontrolery to moje hobby i uważam, że nadszedł czas wejścia na wyższy poziom. Na rozmowie którą niedawno miałem mój poziom został oceniony na Junior+, ale jeszcze nie Mid. Moje pytania:
1. Czy programuje się bezpośrednio na rejestrach, czy może wykorzystuje się gotowe frameworki? Obecnie pracując na STM32 używamy Hala i Cube, o czym zadecydował Senior. Z jednej strony pracując na gotowych bibliotekach nie wiemy, co się naprawdę w procku dzieje, z drugiej strony pisanie wszystkiego od zera zajmuje dużo czasu, obie strony mają więc swoje racje. Czy większe firmy mają może swoje własne sprawdzone biblioteki na często powtarzające się zagadnienia jak np. inicjalizacja startowa zegara?
2. Czy RTOS'y są chętnie wykorzystywane, czy tylko przy tych większych, lub krytycznych projektach?
3. Pytanie o narzędzia wykorzystywane w pracy. Rozumiem, że pracuje się pod Linuxem i wybranym przez firmę środowisku i kompilatorze. Git jako kontrolę wersji kojarzę. Przeglądając oferty natknąłem się jednak na narzędzia o których pierwszy raz słyszę jak np. "Yocto", "Jira". Ktoś mógłby wytłumaczyć czym dokładnie są?
4. Jak odbywa się testowanie kodu? Jest debugowany ręcznie jak to robię w Eclipse, czy wykonywane jest za pomocą skryptów jak np. SPOJ? Jeśli to drugie toczy powinienem znać narzędzie do ich wykonywania/tworzenia, czy to już trochę inna ścieżka rozwoju? W czym się takie testy tworzy?
5. Czy znajomość, choćby podstawowa, narzędzia do tworzenia aplikacji okienkowej jak np. delphi jest mile widziana/obowiązkowa? Spotkałem się podczas krótkiej współpracy z takim stwierdzeniem.
6. Pytanie dodatkowe: Praktyczne i proste do wytłumaczenia zastosowanie dynamicznego alokowania pamięci (Malloc) w mikrokontrolerach. Nie korzystałem z tego, a w rozmowie o pracę pytanie się jednak pojawiło.
Mam pytanie ogólne o to jak wygląda zawodowa praca programisty embedded. Obecnie pracuję jako inżynier elektronik, ale mikrokontrolery to moje hobby i uważam, że nadszedł czas wejścia na wyższy poziom. Na rozmowie którą niedawno miałem mój poziom został oceniony na Junior+, ale jeszcze nie Mid. Moje pytania:
1. Czy programuje się bezpośrednio na rejestrach, czy może wykorzystuje się gotowe frameworki? Obecnie pracując na STM32 używamy Hala i Cube, o czym zadecydował Senior. Z jednej strony pracując na gotowych bibliotekach nie wiemy, co się naprawdę w procku dzieje, z drugiej strony pisanie wszystkiego od zera zajmuje dużo czasu, obie strony mają więc swoje racje. Czy większe firmy mają może swoje własne sprawdzone biblioteki na często powtarzające się zagadnienia jak np. inicjalizacja startowa zegara?
2. Czy RTOS'y są chętnie wykorzystywane, czy tylko przy tych większych, lub krytycznych projektach?
3. Pytanie o narzędzia wykorzystywane w pracy. Rozumiem, że pracuje się pod Linuxem i wybranym przez firmę środowisku i kompilatorze. Git jako kontrolę wersji kojarzę. Przeglądając oferty natknąłem się jednak na narzędzia o których pierwszy raz słyszę jak np. "Yocto", "Jira". Ktoś mógłby wytłumaczyć czym dokładnie są?
4. Jak odbywa się testowanie kodu? Jest debugowany ręcznie jak to robię w Eclipse, czy wykonywane jest za pomocą skryptów jak np. SPOJ? Jeśli to drugie toczy powinienem znać narzędzie do ich wykonywania/tworzenia, czy to już trochę inna ścieżka rozwoju? W czym się takie testy tworzy?
5. Czy znajomość, choćby podstawowa, narzędzia do tworzenia aplikacji okienkowej jak np. delphi jest mile widziana/obowiązkowa? Spotkałem się podczas krótkiej współpracy z takim stwierdzeniem.
6. Pytanie dodatkowe: Praktyczne i proste do wytłumaczenia zastosowanie dynamicznego alokowania pamięci (Malloc) w mikrokontrolerach. Nie korzystałem z tego, a w rozmowie o pracę pytanie się jednak pojawiło.