Embedded Software Engineer
Job Description
Mainstream Engineering is hiring Embedded Software Engineers to create reliable, deterministic embedded software. The position spans embedded programming, architecture, verification, and hardware integration, with added support for subsystem design related to thermal control and energy conversion products.
Role Overview
The Embedded Software Engineer will work across multiple disciplines, including embedded programming, system and software architecture, software testing, motor control, and power electronics control. The role also contributes to sub-system design efforts for thermal control and energy conversion products.
Key Responsibilities
- Design and implement reliable, deterministic embedded software using C/C++
- Develop clear requirements and maintain bidirectional traceability between system requirements, source code, and test cases
- Design and execute functional and/or automated testing to demonstrate compliance with software requirements
- Perform board bring-up, interface with sensors and actuators, and support communications using common protocols such as CAN, SPI, UART
- Debug hardware and software interactions during integration and validation
- Maintain version control and configuration management baselines in alignment with applicable standards
Required Qualifications
- B.S. in Computer Engineering, Electrical Engineering, or Computer Science with a minimum GPA of 3.3 (M.S. or PhD is a plus)
- 3 years minimum of experience developing embedded software or controls
- Strong proficiency in embedded C/C++
- Experience writing and following software and system requirements, including requirements traceability
- Proficiency in software debugging and use of standard hardware debugging tools such as oscilloscopes and logic analyzers
- United States Citizenship required due to US Government ITAR program restrictions
Technologies
- C/C++
- CAN, SPI, UART
- Oscilloscopes and logic analyzers
Preferred Qualifications
- Experience developing and following DO-178 documentation and processes
- Experience with TI C2000 or STM32 microcontroller families
- Experience with additional programming languages (for example C#, Python, assembly) and GUI design
- Understanding of digital control algorithms, digital filters, and general control of power electronics systems
Location and Work Setting
Rockledge, FL (onsite).