Job Description
We are seeking an accomplished Embedded Software Engineer with a specialized focus on motion control systems.
The ideal candidate will possess extensive experience in firmware architecture and design, particularly in motion controller applications.
Proficiency in C/C++ programming, expertise in hardware understanding, and a minimum of 5 years of relevant experience are crucial for this role.
The position involves working on embedded firmware architecture, implementing scheduling tasks, working with RTOS, and creating bare-metal implementations.
Additionally, the candidate will design APIs for hardware accelerators, peripherals, and motion control systems.
Strong collaboration skills with software and hardware teams are essential.
A Bachelor's degree in Computer Science, Electrical Engineering, or related fields is required.
Responsibilities
- Architect and design embedded firmware for motion control systems with a focus on optimal performance and precision
- Develop end-to-end application and firmware solutions including multi-thread, scheduling optimization, real-time operating systems (RTOS), and bare-metal implementations
- Design custom kernel drivers and APIs specifically tailored for motion control applications and interfacing with sensors and actuators
- Actively contribute to system architecture development and the implementation of new features relevant to motion control
- Design, develop, and thoroughly test firmware for embedded motion control systems
- Stay abreast of emerging technologies and advancements in motion control for product development enhancements
- Undertake debugging, system bring-up, beta testing, and production software development tasks
- Collaborate effectively with both software and hardware teams to ensure successful integration of motion control systems
Key Requirements
- Proficiency in software design and programming in C/C++ for development, debugging, testing, and performance analysis
- Understanding of hardware functionalities including clock-level issues, interrupts, polling, etc.
- Minimum of 5 years of relevant experience in embedded software development
- Bachelor's degree in Computer Science, Electrical Engineering, or related field
- Experience with motion controller systems, such as PID control loops, servo control algorithms, and interfacing with sensors and actuators for motion control applications
- Candidates with more experience will be considered for senior role