Your Tasks. Design and implement software of embedded devices and systems from requirements to production and commercial deployment. Design, develop, code, test and debug system software. Review code and design. Analyze and enhance efficiency, stability and scalability of system resources. Integrate and validate new product designs. Support software QA and optimize I/O performance. Provide post production support. Interface with hardware design and development. Assess third party and open source software. Your Profile. C and C++ programming skills. Microcontrollers, or MCUs, ARM, Microprocessors. Linux operating system. Software optimizations skills at the System on a Chip (SoC) level. Real-time Operating Systems (RTOS). Device drivers. Understanding of design patterns and embedded system design patterns. Debugging skills. Ability to work with existing codebases. Interrupt-driven design. Assembly programming language. Hardware test equipment: oscilloscope, logic analyzer. Experience in or ability to learn communication protocols. Relevant protocols to have at least an understanding of include I2C, Serial Peripheral Interface (SPI), USB, General-purpose input/output (GPIOs), Controller Area Network (CAN bus), Recommended Standard 232 (RS232), one-wire, Recommended Standard 485 (RS485). Ability to read a schematic. Basic understanding of Internet of Things (IoT) and internet-based technologies. Understanding of data structures. Python programming language. RISC-V instruction set architecture. We Offer. Attractive additional financial benefits such as vacation pay and health bonuses. Subsidy for company pension and disability insurance Individual support from the Mhlbauer Academy with internal and external training measures. Employee events (e.g. Christmas party, folk festival visit and barbecue). International work environment opportunities for temporary assignments abroad. You can find many other advantages on our homepage.