Back to search
IDE Group Linkedin · Posted 14d ago

Senior C++ Firmware Engineer

Australia

Linkedin
Continue to application Add your email once, then Caio opens the original posting.

Indexed description

Senior Embedded Software Engineer (Modern C++)

Build Sophisticated Embedded Systems That Matter

We’re looking for a highly capable Senior Embedded Software Engineer to help us develop advanced embedded products where software architecture, reliability, maintainability, and testability are at the core of everything we build.

This is an opportunity for an engineer who enjoys solving complex technical challenges and wants to work beyond low-level firmware alone. We’re seeking someone who can design scalable embedded software platforms using modern C++, strong software engineering principles, and a disciplined architectural mindset.

You’ll collaborate closely with electronics engineers, QA specialists, and product development teams to create robust, production-grade embedded systems from concept through deployment.

If you enjoy building clean, elegant embedded software and shaping engineering direction in a collaborative environment, we’d love to hear from you.


What You’ll Be Doing

  • Design and develop embedded software applications using modern C++
  • Architect modular, maintainable, and highly testable embedded software systems
  • Create Python-based tooling, automation, and test infrastructure
  • Design software abstractions and interfaces that support scalable development and unit testing
  • Develop and maintain host-based simulation, emulation, and functional testing environments
  • Architect and optimize RTOS-based systems with efficient tasking and synchronization strategies
  • Debug and analyze embedded systems using JTAG/SWD and advanced debugging tools
  • Participate in code reviews, architecture discussions, and key technical decisions
  • Collaborate with hardware, QA, and product teams to deliver reliable end-to-end system behaviour
  • Contribute to CI/CD pipelines and continuous improvement of development infrastructure


What You’ll Bring

Modern C++ & Software Architecture

You have strong proficiency in modern C++ within embedded systems environments, along with a deep understanding of:

  • Object-oriented programming
  • Software architecture and abstraction techniques
  • Design patterns
  • Interface-driven design
  • Modular software development

You think beyond individual peripherals and drivers — you design systems that scale and evolve.


Strong Software Engineering Practices

You’re passionate about writing clean, maintainable, and testable code, with experience in:

  • Unit testing
  • TDD (Test-Driven Development)
  • Mocking and stubbing
  • Host-based testing
  • Simulation and emulation techniques

You understand how to build software that remains reliable and maintainable long-term.


Embedded Systems & RTOS Expertise

You have a strong understanding of real-time embedded systems, including:

  • Scheduling
  • Synchronization
  • Inter-task communication
  • Memory management
  • Real-time constraints

You also have practical experience with:

  • FreeRTOS and/or Zephyr
  • ARM Cortex-M systems
  • RISC-V architectures
  • JTAG/SWD debugging tools


Python & Development Tooling

You’re comfortable using Python for:

  • Automation
  • Test frameworks
  • Developer tooling
  • Build orchestration
  • Productivity improvements


Development Infrastructure

You have experience with:

  • Git-based collaborative workflows
  • CI/CD fundamentals for embedded software
  • Docker-based development environments (advantageous)


Nice to Have

Experience with:

  • Bluetooth Low Energy (BLE)
  • WiFi
  • Ethernet and TCP/IP networking
  • Products across multiple stages of the development lifecycle
  • Regulated development environments

Familiarity with standards such as:

  • ISO 13485
  • IEC 62304
  • ISO 14971
  • IEC 60601


What We Value

We value engineers who:

  • Think architecturally, not just at the driver/peripheral level
  • Write clean, maintainable, high-quality code
  • Care deeply about software quality and testability
  • Balance embedded constraints with strong engineering practices
  • Communicate effectively across multidisciplinary teams
  • Take ownership and drive continuous improvement


Education & Experience

  • Degree in Computer Engineering, Software Engineering, Computer Science, Biomedical Engineering, or a related technical discipline
  • Typically 5+ years of relevant industry experience in embedded software development
Free. 20 seconds. No password. See every match in this search.

Create a free Caio profile to unlock more results and save your role and location preferences.

Unlock free search
Want help applying to roles like this? Search Caio for free. If repetitive applications get heavy, Managed Job Search adds supervised execution for $99/month.
View Managed Job Search