Embedded Software Engineer

Share this job

We are looking for a mid-level embedded software engineer who takes ownership and thrives on solving real engineering problems on physical systems.

You will work on a variety of Domin’s product lines, developing embedded software that directly controls high-performance hardware. Your work will span low-level drivers, firmware, and system behaviour, with an emphasis on debugging and understanding how software interacts with real electronics.

This role requires someone who can get up to speed quickly, take initiative, and work independently. You should be comfortable stepping into unfamiliar systems, breaking problems down, and driving solutions through to completion.

You will own features end-to-end and play a key role in improving the reliability and performance of our embedded systems.

Key Responsibilities:

  • Develop embedded software in C++ for Domin’s valve product line
  • Own and deliver features across the stack, including drivers, firmware, and system-level behaviour
  • Debug issues on real hardware, including microcontroller-level problems and hardware/software interactions
  • Work independently and collaboratively to understand system behaviour and resolve issues
  • Take full ownership of defined features, from implementation through testing and validation
  • Contribute to improving code quality, reliability, and maintainability
  • Use version control (GitHub) effectively, including pull requests and code reviews
  • Build a strong understanding of Domin’s embedded systems and their interaction with electronics and mechanical systems

Essential Requirements:

  • 3+ years of professional experience in embedded software development (or equivalent demonstrable capability)
  • Strong ability to write embedded software in C or C++ (C++ preferred, but C-only experience acceptable)
  • Solid understanding of microcontrollers and how embedded systems operate
  • Strong problem-solving ability, particularly in debugging complex issues across software and hardware
  • Experience debugging software on real hardware
  • Familiarity with debugging tools (e.g. oscilloscopes, logic analysers, JTAG debuggers)
  • Good understanding of fundamental electronics relevant to embedded systems
  • Experience using Git (e.g. GitHub), including pull requests and version control workflows
  • Demonstrated ownership of technical work from implementation through to completion
  • Experience in the implementation of unit tests

Beneficial Requirements:

  • Experience developing low-level drivers or working close to hardware interfaces
  • Experience with communication protocols (e.g. CAN, SPI, I2C, UART)
  • Experience with motor control systems
  • Familiarity with STM32 microcontrollers
  • Experience working with Python

Careers with Domin

Explore Careers

Operations

Project Manager

We are looking for a Project Manager to play a key role in delivering some of Domin’s most exciting and technically challenging projects.
Technology

Technical Solutions Engineer – Mechanical

Domin is looking for a mechanically-minded engineer who wants their work to matter beyond the CAD screen.
Technology

Mechanical Engineer – V&V

We are seeking a highly skilled and driven professional to join our team creating next generation motion control products.