Introduction

Brunel has partnered with a major Australian resources operator seeking a Senior Software Engineer to join an established team building distributed, ML-driven systems influencing live mining operations. Suits a senior backend engineer with strong distributed systems experience, hands-on C++ and Python, an understanding of performance optimisation across CPU and GPU workloads, and a track record leading teams in high-availability production environments.

What are you going to do 

As a Senior Software Engineer you'll lead the design and delivery of high-performance distributed systems that influence live operations. Set technical standards, mentor developers, and shape the engineering direction of complex ML-driven services. Own delivery from architecture through to deployment and support.

Key Responsibilities:

  • Provide leadership in the software development space, setting technical standards and delivery expectations
  • Design and implement high-performance microservices and distributed systems
  • Own implementation of ML-driven services (training pipelines, simulation, real-time inference integration)
  • Drive performance optimisation, reliability, and scalability of production systems
  • Lead code reviews and enforce engineering best practices
  • Collaborate closely with architects, data scientists, DevOps, and operations teams
  • Ensure robust CI/CD, automated testing, and infrastructure-as-code practices
  • Maintain high system observability, diagnostics, and operational readiness
  • Contribute to technical design artefacts and implementation plans

Essential skills and knowledge

  • 8-10+ years in software design and development of production systems
  • Proven experience leading or mentoring engineering teams
  • Strong background in distributed systems and backend development
  • Experience integrating ML models into production environments
  • Exposure to high-availability, real-time, or operational technology environments (mining or heavy industry advantageous)
  • Demonstrated ownership of systems from design through to deployment and support

Technical Requirements:

  • Strong Linux systems knowledge (Ubuntu, RedHat)
  • Deep experience building distributed backend systems
  • Strong multithreaded programming capability [C++, Python, Rust, or similar]
  • Experience designing and implementing microservices [Docker, Kubernetes]
  • Experience with message-driven architectures[Kafka, RabbitMQ, MQTT]
  • Solid understanding of algorithmic performance, latency, and computational constraints
  • Experience with CI/CD and IaC tooling [e.g. GitHub Actions, Terraform, Artifactory]
  • Ability to work with computationally intensive ML components and understand their performance characteristics
  • Familiarity with ML frameworks such as PyTorch, and an understanding of GPU acceleration (CUDA or similar)

What we offer 

About Brunel:

Brunel is a recruitment and flexible workforce solution provider which connects talented people with opportunities throughout Australasia and around the world. We specialise in highly skilled roles across a variety of technical, professional, trades and craft disciplines, pairing candidates with industry-leading projects and organisations on a contract, permanent or secondment basis.

Operating in Australasia since 1997, Brunel has major bases of operation in Perth, Sydney, Brisbane and Port Moresby, which are further backed by the strength and reach of a truly global network spanning over 45 countries, 120 offices and 45 years of successful operation.

Brunel is proud to be equal opportunity employer and encourages applications from Aboriginal and Torres Strait Islander and female candidates.

How to apply:

If you meet the above requirements and would like to be considered for this role, please submit your interest using the 'Apply' button. Applying is quick and easy - just make sure you have the following documents ready to go:

  • Resume
  • Cover Letter (optional)

Closing: 08 July 2026

Are you the perfect match for this vacancy? Apply in 5 minutes and let's get in touch!

your-application-process[1]

Process of your application

Application process & contact

We will now begin examining your application: We will take a close look at your application documents and ask you for additional information if necessary. If your qualifications match our requirements, we will invite you to meet us for the first time.

Project discussion with our customer

If the introductory meeting goes well for you and us, we will arrange a meeting with the customer who has the perfect project for you. This gives you the opportunity to find out more about the customer and the project.

The decision

If you enjoyed the project discussion and the customer is also convinced of your expertise, we will ask you the final and decisive question: Do you want to get started at Brunel?

Introductory conversation with Brunel

In an introductory meeting, we would like to find out more about your interests, ambitions and professional developments. At the same time, we report on working at Brunel and provide information about all career opportunities and prospects.

Welcome to Brunel

Now great times are beginning! With Brunel you have countless opportunities to help shape technological progress. You decide how your career path goes. We support you in every phase of your career. You always have security behind you: Brunel!