Curtis is seeking a Staff Embedded Software Engineer to develop real-time embedded firmware for electric vehicle (EV) motor controllers and inverters, playing a pivotal role in advancing the EV revolution by designing Curtis' custom OS for motor control systems deployed globally.
Requirements
- Proven experience in kernel development, or real-time driver development, or work with an RTOS.
- Strong understanding of embedded systems, hardware-software interaction, and low-level programming.
- Experience with hardware abstraction layers (HAL)
- Proficiency in C/C++ with a focus on real-time implementations and multi-core concurrency.
- Experience with debugging tools, profilers, and performance optimization techniques for real-time systems.
- Familiarity with the Software Development Life Cycle (SDLC) and fluency in Source Control Management (SCM) tools like Git.
- Strong problem-solving skills, understanding of software architectural design, and the ability to meet deadlines while working on complex OS-related projects.
Responsibilities
- Design, develop, test, and maintain high-quality embedded systems for real-time applications.
- Collaborate with cross-functional teams to identify project requirements and deliver solutions that meet business needs in the context of OS development and hardware integration in motor control applications.
- Troubleshoot and resolve complex issues related to real-time drivers, kernel modules, or HAL implementations, ensuring system stability and performance.
- Stay updated with industry trends and emerging technologies in embedded systems, operating systems, and real-time applications.
- Follow best practices in coding standards, version control, testing, and system integration for embedded environments.
Other
- Bachelor’s degree or equivalent, and 10+ years of experience in embedded, real-time software, or master’s degree with 7+ years of experience
- Experience with serial communication protocols e.g., CANopen, J1939, UDS, EtherCAT.
- Experience with Infineon multi-core microcontrollers.
- Practical experience with test-driven development in embedded environments.
- Familiarity with UML modeling and system design for real-time applications.