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.
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
- 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)