About the role
AI summarisedLead Embedded Software Engineer role at a technology company, responsible for designing, developing, and debugging embedded software for ARM-based systems. The role involves leading a team of engineers, collaborating with hardware teams, and ensuring software quality through code reviews and testing.
Consumer ElectronicsFull-timeProduct Software Engineering
Key Responsibilities
- Design, develop, and debug embedded software for ARM Cortex-based microcontrollers
- Lead a team of embedded software engineers, providing technical guidance and mentorship
- Collaborate with hardware engineers to define system requirements and interfaces
- Develop and maintain board support packages (BSP) and device drivers
- Implement communication protocols such as I2C, SPI, UART, and USB
- Participate in code reviews and ensure adherence to coding standards
- Create and maintain technical documentation
- Troubleshoot and resolve software defects and system integration issues
Requirements
- Bachelor's degree in Computer Science, Electrical Engineering, or related field
- 8+ years of experience in embedded software development
- Proficiency in C and C++ programming languages
- Strong experience with RTOS (e.g., FreeRTOS, ThreadX) and Linux
- Hands-on experience with ARM Cortex-M and Cortex-A processors
- Experience with version control systems (Git) and issue tracking (JIRA)
- Excellent problem-solving and debugging skills
- Experience leading or mentoring a team of engineers
- Knowledge of Agile development methodologies
- Excellent written and verbal communication skills