Embedded Engineer
Actalent · Avon, OH · Yesterday
On-siteEngineering$38.46–$55.29/hrContract
About the role
This role focuses on designing, implementing, and maintaining embedded firmware for microcontrollers and processor-based systems using C and C++. You will work closely with hardware engineers to bring up new boards, debug complex system issues, and ensure reliable integration of software and hardware.
Responsibilities
- Design and implement embedded firmware in C and C++ for microcontroller- and processor-based systems.
- Develop and maintain device drivers, board support packages, and application-level firmware.
- Interface with hardware peripherals including SPI, I2C, UART, CAN, Ethernet, and ADC/DAC.
- Bring up new hardware platforms and perform low-level system initialization.
- Debug board-level and system-level issues using tools such as oscilloscopes, logic analyzers, and JTAG debuggers.
- Collaborate closely with hardware engineers to investigate and resolve hardware–software interaction issues.
- Support integration testing and validation activities to ensure reliable system performance.
- Write clear, maintainable, and testable embedded code that adheres to best practices and project standards.
- Participate actively in code reviews and design reviews, providing and incorporating constructive feedback.
- Document firmware architecture, interfaces, and design decisions in a clear and organized manner.
- Support verification and validation activities as needed, including test planning and execution.
- Work directly with customers to clarify technical requirements and understand system constraints.
- Troubleshoot customer-reported issues and provide timely, effective resolutions.
- Communicate technical tradeoffs and design choices clearly and professionally to technical and non-technical stakeholders.
- Contribute to project planning and estimation by providing realistic effort assessments and technical input.
Requirements
- Bachelor’s degree in Engineering or a closely related discipline.
- 3+ years of embedded or firmware development experience, with flexibility depending on degree and overall experience.
- Strong proficiency in C or C++ in embedded environments.
- Hands-on experience working directly with hardware, including microcontrollers and processor-based systems.
- Experience developing firmware, embedded systems, and drivers for low-level hardware interfaces.
- Familiarity with RTOS-based development, such as FreeRTOS, Zephyr, ThreadX, or similar platforms.
- Comfort working in situations where systems are not yet fully functional and require iterative debugging.
- Ability to debug complex embedded systems using tools such as oscilloscopes, logic analyzers, and JTAG.
- Strong embedded development, including board support packages and application-level firmware.
- Ability to explain technical decisions clearly and justify design tradeoffs to team members and customers.
- Experience working in or with safety-critical or highly reliable embedded environments.
- Proficiency with embedded Linux or embedded Linux-based systems.
- Experience with networking stacks or wireless communication protocols.
- Experience supporting embedded products in production environments.
Qualifications
- Strong communication skills for collaborating with customers and cross-functional teams.
- Ability to contribute to project planning, estimation, and technical risk assessment.
Skills
- Experience in regulated or safety-critical environments, such as automotive, medical, aerospace, or industrial systems.
- Exposure to embedded Linux, including driver development and user-space applications.
- Familiarity with networking stacks or wireless protocols used in embedded systems.
- Experience supporting and maintaining products in production, including debugging field issues and deploying firmware updates.