Что должен знать разработчик ПО?
Знание цифровой и аналоговой схемотехники
Знание архитектуры микроконтроллеров
Знание методов разработки/отладки/тестирования, проектирования программного обеспечения
Знание C. Владение IDE (Atmel Studio, IAR, Keil, Eclipse и т.п.).
Умение работать с системами контроля версий.
Умение читать принципиальные электрические схемы.
Опыт работы с микроконтроллерами ARM, AVR, STMxx, PIC
Уверенное владение основами работы в Linux/Windows.
Программирование на любом языке для написания вспомогательного ПО
Начальные знания ТАУ‚ САУ
ГОСТ и МЭК.
+ всякие протоколы.
и на крупных предприятиях высшее техническое образование.
C++(или assembler)