The company is looking to solve the problem of designing and developing embedded systems, specifically using the ARM Cortex-M platform, and integrating applications using in-house and 3rd party libraries.
Requirements
- 5+ years of C/C++ programming experience
- 3+ years of RTOS (or bare-metal) applications development and debugging device drivers experience
- 2+ years of experience using ARM7TDMI / ARM Cortex-M / MSP430 / Renesas RX microcontrollers
- Experience in algorithm design/implementation
- Demonstrated experience with unit testing (at least one UT framework) and integration testing
- Demonstrated understanding of concurrency concepts and techniques (multithreading, locking, semaphores)
- Demonstrated experience with GUI development: QT or EmWin/StemWin/PEG/uC-GUI
Responsibilities
- Review system-level requirements, and process them into software requirements specifications
- Design components of an embedded system based on software requirements
- Integrate applications using components developed in-house and 3rd party libraries
- Document the design using UML diagrams (collaboration diagram, sequence diagram, state diagram)
- Implement the code for embedded systems using the ARM Cortex-M platform, following our coding conventions
- Develop test plans, then test the implemented code through unit tests and integration tests
- Participate in design and code reviews
Other
- 8+ years of engineering experience (or advanced degree plus 6 years)
- 5+ years working in cross functional teams consisting of discipline specific engineers, or comparable experience
- Bachelor's, Master's or Ph.D. degree in a relevant field (not explicitly mentioned but implied)
- Ability to work in a team environment (implied by cross-functional team experience)
- Strong communication and collaboration skills (implied by cross-functional team experience)