RunTimeRecruitment
Open Position

Software Engineer

Job Location: Melbourne, Victoria

Build Software That Powers Connected Embedded Systems

We're working with an Australian technology company developing advanced embedded software platforms used in complex, connected systems.

This is an opportunity to work on Linux-based applications and services across embedded devices, cloud connectivity, CI/CD, testing, and platform development while collaborating with multidisciplinary engineering teams.

If you enjoy solving complex technical problems and building high-quality embedded Linux software, we'd love to hear from you.

The Role

As a Software Engineer, you'll be responsible for designing, developing and maintaining Linux-based applications and services for embedded platforms.

Key responsibilities include:

  • Design and develop Linux applications in C/C++ that run on embedded hardware and backend systems.
  • Build and maintain distributed embedded Linux services, including telemetry, diagnostics, remote management, and over-the-air (OTA) software updates.
  • Develop and maintain Python and Go test software for Hardware-in-the-Loop (HIL) and automated testing environments.
  • Build and maintain custom Embedded Linux images using Buildroot.
  • Configure Linux kernel components, U-Boot bootloaders, and Board Support Packages (BSPs).
  • Contribute to CI/CD pipelines and internal developer tooling.
  • Validate and verify software across integrated hardware and software systems.
  • Participate in software architecture discussions, design reviews, and code reviews within an Agile development environment.
  • Collaborate with software, systems, hardware, electrical, mechanical, and product engineering teams to deliver reliable software solutions.

About You

You'll ideally have:

  • Bachelor's degree in Computer Science, Software Engineering, or a related discipline.
  • 3+ years of commercial experience developing Embedded Linux applications.
  • Experience working across the full Software Development Lifecycle (SDLC).
  • Strong C/C++ development skills.
  • Working knowledge of Python and/or Go.
  • Experience with Docker and Git.
  • Experience designing and implementing OTA software update solutions.
  • Strong troubleshooting and debugging skills on embedded target hardware.
  • Solid understanding of Linux internals, including systemd, networking, IPC, and process management.
  • Experience working with POSIX and Linux-specific APIs.
  • Strong networking fundamentals with technologies such as MQTT, HTTP, or RPC.
  • A proven ability to contribute to the successful delivery of engineering projects.

Nice to Have

Experience in any of the following will be highly regarded:

  • Embedded software development within IoT, industrial automation, robotics, telecommunications, medical devices, defence, or other embedded systems environments.
  • Linux driver development.
  • Buildroot or Yocto.
  • Experience with SPI, I2C, CAN, UART, USB, or Ethernet.
  • Experience with U-Boot and BSP integration.
  • Experience with Rust for systems or embedded software development.

Why Apply?

  • Work on technically challenging embedded Linux projects.
  • Build software used in advanced connected systems.
  • Collaborate with highly experienced multidisciplinary engineering teams.
  • Permanent full-time opportunity based in Melbourne.
  • Modern engineering environment focused on innovation, quality, and continuous improvement.

Apply Now

If you're passionate about Embedded Linux, distributed systems, and building high-quality software for connected embedded platforms, we'd love to hear from you.

Simon Melano

๐Ÿ“ž 0485 991 211

โœ‰๏ธ simon@runtimerec.com

Before You Apply

Is your CV costing you interviews?

28 years reading firmware CVs. Most get closed in 8 seconds. A $27 guide that shows you exactly why and how to fix yours today.

Get the CV Guide ยท $27
Apply to Position