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