Jobs · Information Technology · Colorado

Embedded Software Engineer

Actalent · Johnstown, CO · 6 days ago
HybridInformation Technology$40–$80/hrContract

About the role

This onsite Embedded Software Engineer role in Loveland, CO focuses on designing and developing embedded firmware for next-generation water quality instrumentation. You will work in a large, state-of-the-art R&D campus, collaborating closely with cross-functional engineering teams to build new products and ground-up architectures rather than sustaining legacy systems.

Responsibilities

  • Design and develop embedded firmware solutions for new and existing water quality instrumentation products.
  • Develop and maintain embedded software using C++ (and sometimes C) for microcontrollers and platforms including Linux, RTOS, and bare metal environments.
  • Modify and extend existing code bases to meet evolving product and system requirements.
  • Analyze requirements, estimate development effort, and deliver reliable, impactful solutions on schedule.
  • Collaborate in an Agile team environment, participating in daily scrums, weekly development discussions, and sprint activities.
  • Work closely with hardware engineers, reading schematics and interacting directly with hardware to debug and optimize system performance.
  • Troubleshoot and debug embedded systems using tools such as oscilloscopes, logic analyzers, and digital multimeters.
  • Implement and maintain CI/CD practices and unit testing to support robust, repeatable builds and high-quality releases.
  • Ensure code quality and reliability through rigorous debugging, testing, and adherence to best practices.
  • Produce clear technical design documentation and contribute to system and industrial instrumentation architecture discussions.
  • Develop and maintain device drivers and kernel-level software, focusing on hardware interfaces and Linux internal behavior rather than only user-space applications.
  • Implement and support low-level hardware interfaces and communication protocols including I2C, SPI, UART, MODBUS, USB, and Ethernet.
  • Engage in hands-on coding, building, deploying, and debugging activities throughout the development lifecycle.
  • Participate in technical interviews and hands-on exercises to assess, mentor, and support the growth of engineering talent.
  • Collaborate with diverse, cross-disciplinary teams in a highly integrated environment where design, R&D, testing, and manufacturing are largely in-house.
  • Contribute to the growth and maturation of the firmware team, helping define and build new product architectures and development practices.
  • Work on new product development initiatives, focusing on ground-up architectures for embedded systems and instrumentation rather than primarily sustaining work.

Requirements

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related engineering field, or equivalent applicable experience.
  • 3+ years of experience in C++ user-space development and C (or embedded C) programming for embedded systems.
  • 3+ years of experience with 32-bit microcontrollers and embedded platforms, including Linux, RTOS, and bare metal environments.
  • Strong understanding of computer architecture, memory technologies, and software build processes.
  • Proficiency working in embedded Linux environments, with a focus on Linux internals, kernel device drivers, and hardware interaction rather than only application-level development.
  • Experience with device driver and kernel programming for embedded Linux platforms.
  • Ability to read and interpret hardware schematics and work confidently with low-level hardware interfaces.
  • Ability to code low-level hardware interfaces and interact directly with peripherals and sensors.
  • Familiarity with industrial instrumentation architecture beyond general-purpose computing or storage-focused systems.
  • Strong understanding and hands-on experience with communication protocols such as I2C, SPI, UART, MODBUS, USB, and Ethernet.
  • Experience with Agile methodologies and experience working in Agile software development teams.
  • Strong debugging skills in both software and hardware environments, including use of oscilloscopes, logic analyzers, and digital multimeters.
  • Ability to produce technical design documentation and contribute to system-level design discussions.
  • Demonstrated ability to work comfortably with both hardware and software in a firmware/embedded software engineering capacity.
  • Prior professional experience working with C++ in embedded or systems-level contexts.
  • Ability to work independently and as part of a collaborative engineering team, taking ownership of tasks from concept through deployment.

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 of strong, relevant experience and a demonstrated ability to learn quickly will be considered.
  • Experience developing in a Linux desktop environment using both IDEs and command-line tools.
  • Experience with Embedded Linux build systems such as Yocto.
  • Understanding of real-time operating systems (RTOS) and bare-metal development, including hardware interface design and implementation.
  • Proficiency with scripting languages such as Shell or Bash, and familiarity with Python.
  • Knowledge of networking fundamentals, including TCP/IP.
  • Experience with Docker containers in a development or test environment.
  • Exposure to user interface technologies such as React.js and Node.js is a plus.
  • Experience in the water quality industry or with industrial instrumentation is a plus.
  • Experience working in a diverse, inclusive, and highly collaborative engineering environment.
  • Ability to clearly articulate technical concepts and trade-offs to both hardware and software stakeholders.
  • A proactive, “go-getter” mindset with a strong appetite for learning new technologies and taking on challenging problems.
  • Comfort working in an environment that emphasizes in-house design, testing, and manufacturing capabilities.

Skills

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related engineering field, or equivalent applicable experience.
  • 3+ years of experience in C++ user-space development and C (or embedded C) programming for embedded systems.
  • 3+ years of experience with 32-bit microcontrollers and embedded platforms, including Linux, RTOS, and bare metal environments.
  • Strong understanding of computer architecture, memory technologies, and software build processes.
  • Proficiency working in embedded Linux environments, with a focus on Linux internals, kernel device drivers, and hardware interaction rather than only application-level development.
  • Experience with device driver and kernel programming for embedded Linux platforms.
  • Ability to read and interpret hardware schematics and work confidently with low-level hardware interfaces.
  • Ability to code low-level hardware interfaces and interact directly with peripherals and sensors.
  • Familiarity with industrial instrumentation architecture beyond general-purpose computing or storage-focused systems.
  • Strong understanding and hands-on experience with communication protocols such as I2C, SPI, UART, MODBUS, USB, and Ethernet.
  • Experience with Agile methodologies and experience working in Agile software development teams.
  • Strong debugging skills in both software and hardware environments, including use of oscilloscopes, logic analyzers, and digital multimeters.
  • Ability to produce technical design documentation and contribute to system-level design discussions.
  • Demonstrated ability to work comfortably with both hardware and software in a firmware/embedded software engineering capacity.
  • Prior professional experience working with C++ in embedded or systems-level contexts.
  • Ability to work independently and as part of a collaborative engineering team, taking ownership of tasks from concept through deployment.

Benefits

  • 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)

Similar jobs

Embedded Software Engineer

FortinetSunnyvale, CA· 2 mo ago
Information Technology$117k–$143k/yrapply on edel.fa.us2.oraclecloud.com