As Embedded Software Engineer, you will develop and optimize software for microcontroller-based sensor hardware while working on embedded software solutions within the constraints of limited hardware resources.
Responsibilities:
- Reduce memory usage by 20% while maintaining or improving functionality, enabling the addition of new features without hardware upgrades.
- Design and implement power-efficient software solutions to extend device battery life.
- Develop robust communication protocols for data transmission between devices and back-end systems.
- Develop and maintain software for microcontroller-based sensor hardware
- Optimize code for efficient operation within limited RAM and code space
- Implement over-the-air firmware upgrades and manage secure storage
- Design software architecture for efficient data collection from various sensors
- Ensure seamless communication with back-end systems and nearby devices
- Measure and analyze key metrics, such as power consumption
- Collaborate with cross-functional teams to align technical solutions with product requirements
- Write and execute tests to validate software functionality and performance
Qualifications:
- Bachelor's degree in Computer Science or related field, or equivalent experience
- 6+ years of experience in embedded software development
- Proficiency in C and Python programming
- Experience with microcontroller-based sensor hardware
- Knowledge of systems software issues and hardware-software interfaces
- Familiarity with Linux command-line and git version control
- Experience with wireless technologies (Bluetooth, LTE) preferred
- Knowledge of low-power design and performance measurement a plus