Sr. Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+17 more
Job description
This role focuses on designing and delivering robust, efficient, and scalable embedded software for microcontroller-based control systems used in residential and power products. The Embedded Software Engineer works closely with hardware, software, and product teams to develop embedded solutions running on real-time and embedded operating systems, contributing throughout the full development lifecycle from architecture and implementation to testing and sustaining engineering. This position combines hands-on embedded development, technical leadership, and mentorship within a cloud-connected IoT environment., + Design, develop, and maintain embedded software for microcontroller-based systems using C and C++ on platforms such as QNX, RTX, ZephyrOS, and similar operating systems.
-
Collaborate with cross-functional teams, including hardware, software, and product stakeholders, to define software requirements and system architecture.
-
Own and develop elements of embedded software using layered architectures and embedded operating systems, ensuring scalability and maintainability.
-
Plan and oversee unit testing, integration testing, regression testing, and system validation to ensure software reliability, performance, and testability.
-
Develop networking implementations and application code for wireless processors supporting Wi-Fi, Bluetooth, and ISM bands within embedded systems.
-
Implement and support industry-standard communication protocols such as RS-485 (Modbus), SAE J1939 CAN, Ethernet, and USB within embedded applications.
-
Conduct code reviews, follow release processes, and contribute to continuous improvement of development workflows and engineering practices.
-
Support hardware troubleshooting and board bring-up during product development and testing, working closely with hardware and circuit design teams.
-
Document software design, architecture, interfaces, and implementation details to ensure clarity, traceability, and ease of maintenance.
-
Use industry-standard software diagnostic tools, including emulators, debuggers, and oscilloscopes, to debug and verify controller software at the unit level.
-
Develop custom diagnostic software when needed to validate specialized features or functions in embedded controllers.
-
Technically lead the breakdown of software scopes of work, and help develop project timelines and budgets for embedded software deliverables.
-
Mentor less experienced team members in core embedded software development practices, coding standards, and debugging techniques.
-
Participate in and support release processes, including walking through workflow and process steps to ensure high-quality software delivery.
-
Contribute to both sustaining engineering activities and new product development initiatives within an IoT and cloud-connected environment.
Requirements
-
Bachelor of Science degree in Electrical and Computer Engineering or Computer Engineering required.
-
6+ years of work experience in embedded software development.
-
Strong embedded systems knowledge and experience working closely with hardware and circuits in a co-design environment.
-
Experience developing embedded software using layered architectures and embedded operating systems, including RTOS platforms.
-
Proficiency in C and C++ programming languages, including syntax, generally accepted code structure, and object-oriented programming.
-
Hands-on experience with industry-standard communication protocols such as RS-485 (Modbus), SAE J1939 CAN, Ethernet, and USB.
-
Experience designing software for test, including unit testing, regression testing, board bring-up, and end-of-line production testing.
-
Experience with embedded C and C++ for microcontroller-based systems, including CAN-based communication.
-
Ability to design, implement, and maintain embedded software for QNX, RTX, ZephyrOS, or similar operating systems.
-
Familiarity with release processes, code reviews, and structured development workflows.
Additional Skills & Qualifications
-
Master’s degree in Electrical and Computer Engineering, Computer Engineering, or a related field is preferred.
-
Familiarity with CAN analysis tools such as Vector CANalyzer, CANape, and CANoe.
-
Familiarity with debuggers and emulators for ARM-based processors.
-
Familiarity with wireless certification requirements for Wi-Fi, Bluetooth, and ISM bands, and experience navigating the certification process.
-
Experience with wireless and networking features in embedded systems is a plus.
-
Familiarity with MATLAB/Simulink model-based code development and integration.
-
Experience working with cloud-connected and IoT systems.
-
Strong communication skills with the ability to convey complex technical concepts to diverse audiences.
-
High level of motivation with the ability to collaborate effectively in a team environment and work independently to achieve results.
-
Preference for candidates with primary programming experience in C, with C++ as an additional strength.
Benefits & conditions
This is a Permanent position based out of Milwaukee, WI.
Pay and Benefits
The pay range for this position is $98900.00 - $125600.00/yr.
Comprehensive coverage includes medical, dental, and vision plans, plus life insurance and retirement options to support your long-term well-being.
Workplace Type
About the company
Actalent is a global leader in engineering and sciences services and talent solutions. We help visionary companies advance their engineering and science initiatives through access to specialized experts who drive scale, innovation and speed to market. With a network of almost 20,000 consultants and 5,000 clients across the U.S., Canada, Asia and Europe, Actalent serves many of the Fortune 500. We are proud to be an Engineering News-Record (ENR) Top 500 Design Firm for our engineering design services and a ClearlyRated Best of Staffing® winner for both client and talent service.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on juju.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Best Countries for Software Engineers
What is Software Engineering?
Software Engineer Career: Things You Should Know