Rio Tinto Sep 2023 – Feb 2024

Rio Tinto: Rail Network Operations

Developer on an operational system monitoring ore train positions across Rio Tinto's rail network in near real time. F# services layer with publish-and-subscribe messaging architecture.

Development
Rio Tinto

The Challenge

Rio Tinto operates one of the largest private rail networks in Australia, moving iron ore from mine sites to port. Monitoring train positions, schedules and operational status in near real time is essential for safe and efficient network operation. The system needed to track, alert and schedule across the rail network, surfacing live operational data to train controllers.

My Role

I joined as a developer in a small team (2-5 developers) during my final months at Capgemini. My primary contribution was on the F# services layer, working with a publish-and-subscribe messaging architecture and message broker patterns. I also handled bug fixing and feature improvements for train controllers, contributed business analysis across the whole system, and made some contributions to the map front end.

F# was learned on the job for this project, an example of fast language acquisition driven by project need rather than prior experience.

Why This Matters

This project is the third real-time operational monitoring system in my career, following the Western Power Outages Map (Vue.js/ArcGIS, tracking power network status across 255,000+ km²) and PTA bus disruptions (assessing and coordinating third-party works affecting bus services). The pattern of real-time geospatial operational monitoring is a repeated thread, each time on a different technology stack, each time tracking physical infrastructure in near real time.

The project also demonstrates adaptability: moving from Vue.js and .NET into F# and a publish-and-subscribe architecture, picking up a functional programming language in a production context with a small team and immediate delivery pressure.

Hard Skills

F#, .NET, publish-and-subscribe messaging, message broker architecture, real-time operational monitoring, business analysis

Soft Skills

Fast language acquisition, small-team delivery, whole-of-system understanding, adaptability across technology stacks