Senior Developer, Perth – Australia Rio Tinto is building a world-class software engineering capability. Within our company wide Information Systems & Technology function, we are building an internal software development and delivery team focussing on high value and strategic products for the digital transformation of Rio Tinto. We are recruiting for junior, experienced and leadership roles to establish this capability for scaling as we shift our technology landscape to products and platforms. We are building a culture that is value driven, diverse and inclusive, innovative and fun with challenging problems and opportunities to solve. About the role We are looking for a highly skilled and versatile Senior Developer with expertise in IT support and application development. This role will be responsible for providing advanced technical support to resolve complex IT issues while also contributing to the development, enhancement, and maintenance of critical applications for our organisation. A deep understanding of both IT infrastructure and software development is required. The Senior Developer will maintain application support processes and ensure that all support requests are handled according to established procedures. This role will utilise application management software and tools to investigate issues, collect performance statistics, and generate reports. The role may require on-call support to ensure uninterrupted operations, with arrangements determined by leadership and agreed upon with you. You will receive appropriate compensation for this additional responsibility. About the work Software Development Developing software components to deliver value to stakeholders. Designing, coding, verifying, testing, documenting, amending and refactoring complex programs/scripts and integration software services. Contributing to the selection of software development methods, tools, and techniques. Applying agreed-upon standards and tools to achieve well-engineered outcomes. Participating in reviews of own work and leading reviews of colleagues' work. Ensuring best-in-class processes and techniques to develop, deploy and support user interfaces, applications and platform solutions for the business. Utilise the latest available technologies to flexibly manage and scale data pipelines and analytics models. Design, develop, maintain software applications and tools aligned with the organisation's needs. Collaborating with cross-functional teams to gather and analyse requirements, translating them into technical solutions. Writing clean, efficient, and maintainable code, adhering to coding standards and best practices. Implementing software testing strategies, including unit testing and integration testing, to ensure application reliability. Troubleshooting and debugging application issues, providing timely resolutions and improvements. Collaborating with cross-functional teams, including developers, system administrators, and business analysts, to solve complex problems and implement solutions. Sharing knowledge and expertise with team members through training sessions, documentation, and mentorship. Staying up-to-date with industry trends and emerging technologies relevant to IT support and application development. Application Support Delivering management, technical, administrative services to support and maintain live applications. Acting as the highest level of support escalation, handling complex IT issues and incidents that require in-depth knowledge and expertise. Investigating, diagnosing, and resolving critical system, network, and application issues to ensure minimal downtime and optimal performance. Collaborating with Tier 1 and Tier 2 support teams to provide guidance and mentorship in resolving escalated cases. Developing and maintaining detailed documentation of issue resolution procedures and best practices. Maintaining application support processes and ensuring that all support requests are handled according to agreed procedures. Using application management software and tools to investigate issues, collect performance statistics, and create reports. Investigating, identifying, and resolving issues, incidents, and problems related to applications within a broad area of competence. Carrying out non-routine maintenance tasks related to applications within a broad area of competence. Monitoring escalated requests for application support, taking action to avoid or minimise delays, and prioritising requests in accordance with agreed criteria and organisational needs. Providing training and knowledge transfer to support the deployment and continuity of the products developed. Provide on-call support as needed to ensure continuous operations. About you Bachelor’s degree level or holds a relevant professional qualification, such as Bachelor of IT, Computer Science, Software Engineering, etc. Relevant experience as a software engineer and support specialist. Proficiency in web development using Python-based frameworks like Django or Flask. Knowledge of front-end technologies (React, HTML, CSS, JavaScript/Typescript) and their integration with Python-based backends. Experience in building RESTful APIs. Strong understanding of database concepts and experience with SQL and NoSQL databases (e.g., PostgreSQL, MongoDB). Version control system experience (TFS/GitHub/GitLab). Unit/integration/system testing. Strong knowledge of principles and patterns (SOLID, dependency injection), quality standards. Knowledge of IT infrastructure (hardware, databases, operating systems, local area networks, cloud services, etc.) and IT applications and service processes used within the organization. Demonstrable excellent communication skills. Experience in Agile processes, including estimation and planning. Cloud-based solution design using containerization and serverless architectures in AWS and/or Azure (Cloud Formation/ARM). Experience working across layers of a complex application such as data layers, orchestration layers, and user interface, including ability to write and optimise SQL queries. Containerization (Docker, Kubernetes, etc.). Demonstrated capability in CI/CD tools to manage workflows/pipelines. Desirable Knowledge of charting libraries (HighCharts, D3.js, Recharts, Plotly, Altair). Understand of mathematical optimisation concepts. Come and join us in this exciting journey as a member of the leadership team, where you be integral in establishing and executing on our strategy, building our team, implementing best practices and technology to meet our plans for scaling and value delivery. Please note, in order to be successfully considered for this role you must complete all pre-screening questions. About Rio Tinto Rio Tinto is a leading global mining and materials company. We operate in 35 countries where we produce iron ore, copper, aluminium, critical minerals, and other materials needed for the global energy transition and for people, communities, and nations to thrive. We have been mining for 150 years and operate with knowledge built up across generations and continents. Our purpose is finding better ways to provide the materials the world needs – striving for innovation and continuous improvement to produce materials with low emissions and to the right environmental, social and governance standards. But we can’t do it on our own, so we’re focused on creating partnerships to solve problems, create win-win situations and meet opportunities. Every Voice Matters At Rio Tinto, we particularly welcome and encourage applications from Aboriginal and Torres Strait Islander people, women, the LGBTI community, mature workers, people with disabilities and people from different cultural backgrounds. We are committed to an inclusive environment where people feel comfortable to be themselves. We want our people to feel that all voices are heard, all cultures respected and that a variety of perspectives are not only welcome – they are essential to our success. We treat each other fairly and with dignity regardless of race, gender, nationality, ethnic origin, religion, age, sexual orientation or anything else that makes us different.