Embedded Software Engineer
Role details
Job location
Tech stack
Job description
This role focuses on designing and developing embedded software and firmware for new products from the ground up. You will work primarily in embedded C++ on 32-bit microprocessors, contributing to safety-critical systems in domains such as medical devices or aerospace. The position offers the opportunity to build innovative, next-generation equipment used by leading organizations around the world., * Design, develop, and implement embedded software and firmware for new products using embedded C++.
- Develop software for 32-bit microprocessors, ensuring efficient, reliable, and maintainable code.
- Work extensively with real-time operating systems (RTOS), such as QNX, FreeRTOS, SafeRTOS, TI-RTOS/BIOS, or uC/OS, to implement real-time features and system-level functionality.
- Contribute to and maintain Board Support Packages (BSPs), including low-level hardware initialization and configuration.
- Develop and integrate device drivers and low-level interfaces for communication protocols such as SPI, I2C, and UART.
- Support software development in safety-critical environments, including medical device or aerospace applications, by following rigorous standards and processes.
- Collaborate with cross-functional teams to define requirements, design system architectures, and integrate software with hardware and other system components.
- Perform debugging, testing, and verification of embedded systems to ensure reliability, performance, and compliance with safety requirements.
- Contribute to the development of embedded systems that may use QNX or Embedded Linux, including kernel-level and user-space components.
- Participate in code reviews, documentation, and continuous improvement of development practices and tools., This role is primarily onsite, with the expectation that you work at the facility every day, especially while ramping up and becoming familiar with the products and processes. Once you are fully up to speed, there may be an opportunity to discuss a limited hybrid work arrangement, subject to business needs and leadership approval. You will work in a collaborative, employee-focused environment where team members support and encourage one another. The culture emphasizes professional growth, innovation, and teamwork, particularly in the development of advanced medical device electronics and other safety-critical systems. You will work with modern embedded technologies, including 32-bit microprocessors, RTOS platforms such as QNX or other embedded operating systems, and tools for firmware and embedded software development., Use of Artificial Intelligence (AI): We may use Artificial Intelligence (AI) to support parts of our hiring process, including sourcing, screening, and evaluating candidates. AI helps assess applications and qualifications, but final decisions are made by our hiring team. By applying, you acknowledge and agree that your application may be reviewed using AI tools. Related Jobs Senior Embedded Software Engineer Actalent Maple Grove, MN*Remote Firmware Debugging Visionary Innovation Multitasking Unit Testing Qt (Software) Device Drivers Microprocessor Medical Devices Software Design Software Testing Electromechanics Microcontrollers Embedded Software Integration Testing Computer Engineering Product Requirements Electrical Engineering Artificial Intelligence C (Programming Language) Graphical User Interface Software Technical Review C# (Programming Language) C++ (Programming Language) Critical Illness Insurance Requirements Specifications +0
Google IT Automation with Python Senior Embedded Software Engineer Actalent Maple Grove, MN*Remote Firmware Debugging Visionary Innovation Multitasking Unit Testing Qt (Software) Device Drivers Microprocessor Medical Devices Software Design Software Testing Electromechanics Microcontrollers Embedded Software Integration Testing Computer Engineering Product Requirements Electrical Engineering Artificial Intelligence C (Programming Language) Graphical User Interface Software Technical Review C# (Programming Language) C++ (Programming Language) Critical Illness Insurance Requirements Specifications +0
Google IT Automation with Python Embedded Software Engineer Actalent Saint Paul, MN*Remote I2C BIOS Teamwork Firmware FreeRTOS Debugging Visionary Leadership Innovation Code Review Reliability Embedded C++ MicroC/OS-II Communication QNX (Software) Device Drivers Medical Devices Embedded Systems Microcontrollers Embedded Software Software Development Firmware Development Artificial Intelligence C (Programming Language) Communications Protocols Graphical User Interface Linux On Embedded Systems C++ (Programming Language) Critical Illness Insurance Embedded Operating Systems Serial Peripheral Interface Real-Time Operating Systems Continuous Improvement Process +0
Requirements
BIOS Teamwork Firmware FreeRTOS Debugging Visionary Leadership Innovation Code Review Reliability Embedded C++ MicroC/OS-II Communication QNX (Software) Device Drivers Medical Devices Embedded Systems Microcontrollers Embedded Software Software Development Firmware Development Artificial Intelligence C (Programming Language) Communications Protocols Graphical User Interface Linux On Embedded Systems C++ (Programming Language) Critical Illness Insurance Embedded Operating Systems Serial Peripheral Interface Real-Time Operating Systems Continuous Improvement Process, * At least 5 years of embedded software development experience.
- At least 5 recent years of hands-on experience with real-time operating systems (RTOS), such as QNX, FreeRTOS, SafeRTOS, TI-RTOS/BIOS, or uC/OS.
- At least 5 years of experience with embedded C++ development.
- A minimum of 1 year of experience working in a safety-critical environment, such as medical devices or aerospace.
- At least 1 year of experience working with Board Support Packages (BSPs).
- Strong proficiency in embedded C++ and familiarity with C.
- Experience with firmware and embedded software development for microcontrollers and microprocessors, particularly 32-bit architectures.
- Hands-on experience with RTOS-based embedded systems and real-time software design.
- Practical knowledge of communication protocols such as I2C and SPI.
- Ability to work at low levels of the system, including device drivers and hardware-near software.
Additional Skills & Qualifications
- Proficiency in both C++ and C for embedded development.
- Experience with Embedded Linux, including development on platforms such as QNX or other embedded Linux distributions.
- Experience with multithreaded programming in embedded environments.
- Proficiency with communication interfaces such as SPI, I2C, and UART.
- Experience with embedded GUI development, particularly using Qt.
- Familiarity with ARM-based microprocessors and microcontrollers.
- Background in embedded systems, firmware development, and device driver implementation.
- Experience with software development in medical device electronics or similar safety-critical industries.
- Comfort working across the full embedded software stack, from application-level logic down to Board Support Packages.
Benefits & conditions
This is a Contract position based out of Saint Paul, MN. Pay and Benefits
The pay range for this position is $50.00 - $65.00/hr.
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital
- 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- Time Off/Leave (PTO, Vacation or Sick Leave) Workplace Type