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

Do you have questions?

Vacancy reference: CR-289154

JB

Corporate recruiter

Joel Bellinger-Brown

Contact

$name

Application process

First Contact

We carefully review your application and in the coming weeks, you will be notified for an interview session if you are selected. Only shortlisted candidates will be contacted within 7 days.

Scheduling an Interview

After being shortlisted, you will be contacted via email or telephone to arrange for a date on your availability for the qualification interview.

Phone/ Qualification Interview

During the interview, you will be assessed on your level of experience and skills, work history, availability, and the qualifications the company is seeking for the position.

Meeting in Real Life

After successfully making through the phone interview, a face to face interview will be scheduled between the candidate and recruiter. This session can be a more in-depth  interview to review your communication and interpersonal skills.

Application for the Position

Submission of candidates resume for client’s approval and screening.

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

your-application-process[1]