Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+29 more
Job description
This fully remote Embedded Software Engineer role focuses on designing and developing embedded firmware for innovative water quality instrumentation. You will work in a highly collaborative, Agile environment, partnering closely with hardware and cross-functional engineering teams to deliver robust, production-ready embedded Linux and RTOS-based solutions. The role offers the opportunity to contribute to new, ground-up product architectures that have a direct, positive impact on global water quality and environmental sustainability., * Design and develop embedded firmware solutions for new and existing water quality products using C++ and C on microcontroller-based platforms.
- Collaborate in an Agile team environment, participating in daily scrums and weekly development discussions to align on priorities, progress, and technical challenges.
- Analyze product and system requirements, estimate development effort, and deliver reliable, high-quality firmware that meets performance and robustness targets.
- Work closely with hardware engineers to integrate firmware with electronics, including hands-on troubleshooting and debugging using oscilloscopes, digital multimeters, logic analyzers, and related tools.
- Develop, modify, and extend existing embedded code bases to support new features, product variants, and evolving customer requirements.
- Implement and maintain CI/CD practices, unit tests, and other automated testing approaches to ensure code quality, reliability, and maintainability.
- Produce clear technical design documentation and actively contribute to system and firmware architecture discussions, particularly for industrial instrumentation.
- Implement and debug low-level hardware interfaces and device drivers, including kernel-level interactions on embedded Linux platforms.
- Work with communication protocols such as I2C, SPI, UART, MODBUS, USB, and Ethernet to interface with sensors, peripherals, and external systems.
- Engage in hands-on coding, building, deploying, and debugging activities on embedded Linux, RTOS, and bare-metal systems.
- Participate in technical interviews and hands-on exercises to help assess, mentor, and grow engineering talent within the team.
- Collaborate with cross-functional teams to identify system issues, define required interfaces, and resolve integration challenges across hardware and software.
- Contribute to the growth of the firmware team by sharing knowledge, improving processes, and supporting a collaborative, inclusive engineering culture., This role is 100% fully remote while supporting a large, multi-building headquarters campus that includes a facility purpose-built for Research and Development. The broader engineering environment operates like a highly advanced, hands-on senior design project, with nearly all functions kept in house, including a 10-meter EMC chamber, HALT chamber, PCA/SMT line, injection molding, fabrication, and full production and manufacturing capabilities. Teams are close-knit and collaborative, bringing together nearly all engineering disciplines to design and build complete water quality instrumentation solutions. The typical workday includes a daily scrum to review tasks and goals, followed by focused development work such as coding, building, deploying, troubleshooting, and debugging embedded systems, as well as weekly development discussions to address system issues and interface needs. The culture emphasizes professional growth, technical excellence, and a shared mission to improve global water quality, within a diverse and inclusive environment that values collaboration, kindness, and meaningful impact.
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related engineering discipline, or equivalent applicable experience.
- Approximately 3-5+ years of professional experience in C++ user-space development and C or embedded C programming for microcontrollers.
- 3-5+ years of experience working with 32-bit microcontrollers and embedded platforms, including Linux, RTOS, and bare-metal environments.
- Proven experience developing and maintaining embedded software (firmware) using C++ and C for microcontroller-based systems.
- Strong understanding of computer architecture, memory technologies, and software build processes.
- Hands-on experience with embedded Linux, including internal behavior, kernel-level concepts, and hardware interaction (beyond application-level development).
- Experience with device driver and kernel programming, particularly for embedded Linux systems.
- Ability to read and interpret hardware schematics and work comfortably at low-level hardware interfaces.
- Demonstrated ability to code and debug low-level hardware interfaces and drivers.
- Familiarity with and practical use of communication protocols such as I2C, SPI, UART, MODBUS, USB, and Ethernet.
- Strong debugging skills in both software and hardware environments, including use of oscilloscopes, logic analyzers, and similar tools.
- Proficiency with Agile methodologies and experience working in Agile development teams.
- Ability to implement and maintain CI/CD practices and unit testing for embedded software.
- Capability to produce technical design documentation and contribute to system and firmware architecture discussions.
- Comfort working directly with hardware, including hands-on troubleshooting, bring-up, and integration.
- Ability to quickly ramp up on complex embedded Linux and firmware code bases and contribute with minimal onboarding time.
Additional Skills & Qualifications
- Master’s degree in Embedded Systems Engineering or a closely related field.
- 5+ years of professional embedded software experience is strongly preferred; candidates with a minimum of 2-3 years may be considered if they meet core technical requirements and demonstrate a strong drive to learn and grow.
- Experience developing in a Linux desktop environment using both IDEs and command-line tools.
- Experience with embedded Linux build systems, such as Yocto.
- Familiarity with RTOS-based development and bare-metal firmware development.
- Exposure to or experience with Zephyr RTOS.
- Proficiency with scripting languages such as Shell or Bash; experience with Python is a plus.
- Understanding of networking fundamentals, including TCP/IP.
- Ability to speak to industrial instrumentation architecture in addition to general computer architecture, with experience beyond pure storage or non-instrumentation domains.
- Experience in the water quality or related industrial measurement industry is a plus.
- Experience working in diverse, inclusive, and highly collaborative engineering environments.
- Demonstrated ability to mentor others, participate in technical interviews, and support team growth.
- Strong communication skills, with the ability to clearly document designs and explain complex technical topics to cross-functional partners.
Benefits & conditions
This is a Contract to Hire position based out of Loveland, CO.
Pay and Benefits
The pay range for this position is $40.00 - $80.00/hr.
Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors.
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
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.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Top Characteristics of a Software Engineer
What is Software Engineering?
Is Software Engineering Over-Saturated?
Where to Find Entry-Level Software Engineering Jobs