Job Description
Job DescriptionJob Summary
The Embedded Software Engineer designs, develops, tests, and maintains embedded firmware for microprocessor-based systems. The role focuses on C and Python development, hardware/software integration, real-time performance, automated testing, CI/CD, and secure embedded software development.
Key Responsibilities
- Participate in the full software development lifecycle from design through testing and deployment.
- Design, develop, and maintain embedded firmware using C and Python.
- Develop software for microprocessor-based systems.
- Build and maintain CI/CD pipelines and automation solutions.
- Write clean, maintainable, and well-documented embedded C code.
- Optimize firmware for memory, power consumption, and real-time performance.
- Develop automated testing frameworks and participate in code reviews.
- Troubleshoot interrupt handling, DMA operations, and peripheral configurations.
- Work with hardware engineers on interface requirements and hardware validation.
- Work with SPI and I2C communication interfaces at the register level.
- Apply security and compliance standards to embedded software.
- Support containerization and modern software development practices.
Required Qualifications
- Bachelor's degree in Electrical Engineering, Computer Engineering, or related field, or equivalent experience.
- 3–5 years of professional embedded C development experience.
- Experience developing firmware for microprocessors.
- Proficiency in C, Python, and Bash.
- Experience with SPI and I2C communications.
- Experience with TI development environments such as Code Composer Studio.
- Experience using oscilloscopes, logic analyzers, multimeters, and JTAG debuggers.
- Experience with CI/CD pipelines and microservices architecture.
- Experience with Docker and containerization.
- Active Secret Security Clearance.
