Real - Time Embedded Engineer
Description
We are seeking a highly skilled and motivated real-time embedded Engineer to join our firmware team.
Description
In this role, you will be responsible for implementing cutting-edge technology for our next-generation products. You will be a key contributor to the entire product development lifecycle, from concept to deployment, ensuring that our products are intelligent, efficient, and provide a seamless user experience.
Responsibilities
Implement, deploy and optimize real-time state machines, operate various sensors streams (e.g., audio, vision, motion, etc.) on resource-constrained embedded platforms.
Design, develop, and maintain real-time firmware for embedded systems
Optimize code for performance, memory usage, and power consumption
Develop and execute comprehensive testing strategies for embedded systems
Develop and maintain firmware in C/C++ for embedded systems
Work with cross-functional teams including software, hardware, and systems engineers
Participate in the entire software development lifecycle, including requirements gathering, design, implementation, testing, and deployment
Stay up-to-date with the latest advancements in embedded systems
Minimum qualifications
Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field
Extensive experience in low-level firmware development, real-time operating systems, and hardware-software integration for resource-constrained environments
10+ years of professional experience in embedded firmware development. Including:
Deep understanding of real-time constraints and deterministic systems
Memory management in resource-constrained environments
Power optimization techniques
Programming Languages: Expert-level C, Assembly language, proficiency in Python
Real-time OS: RTOS, Linux
Microcontrollers/Processors: ARM Cortex-M/A, RISC-V or equivalent architectures
Development Tools: Version control (Git), JTAG/SWD debuggers, Hardware debugging tools (oscilloscopes, logic analyzers)
Experience with continuous integration/continuous deployment (CI/CD) for embedded systems
Excellent problem-solving and debugging skills.
Experience with agile development methodologies.
Preferred qualifications
Excellent communication and teamwork skills
A passion for building innovative products