BMT default image, depicting a supergraphic on a grey background

TUFLOW Software Engineer

Job Details

  • Location: Brisbane - Australia

  • Employment type: Full Time

  • Workplace type: Hybrid

Description

TUFLOW is looking for a Software Engineer to join the team that develops our hydraulic modelling software. The engines and solvers we develop are used by consultancies and government agencies to simulate flooding, storm surge and coastal processes. TUFLOW models benefit from running on GPU because the problems are large and the answers are needed quickly.

Your first focus will be the compute core: CUDA C/C++ solvers, the numerical kernels that sit underneath them, and the performance work that makes a simulation finish in hours rather than days. The codebase is mature and genuinely multi-language: modern Fortran, CUDA C++, Python, some Rust, and a supporting layer of tooling. You will be working with existing code as well as writing new code. We care about correctness and reproducibility as much as speed; TUFLOW sets itself apart from the competition on scientific accuracy and performance.

We use AI-assisted development as a matter of course, which would be expected of you as well. That means coding assistants and agentic tooling as part of the daily workflow, applied with judgement rather than enthusiasm; reviewing what comes back, understanding it before it lands, and validating output matches the task and bigger picture. TUFLOW is written by human engineers, using the best tools for the job.

Your secondary focus will be on the application of AI, specifically ML and LLM applications. We are exploring where machine learning fits in the product and tooling itself, including the development of surrogate models and LLM-backed tooling for our users and our own team. 

The team is small and multidisciplinary. Software engineers sit alongside hydraulic engineers and the support staff who talk to users every day, which means feedback on what you build arrives quickly and from people who understand the physics. You will have direct influence over technical decisions and are expected to be able to function largely independently. You do not need a background in flood or coastal engineering, but you will need the curiosity to learn enough of the domain to reason about the physics the code is computing.

Key Responsibilities

  • Undertake complex technical and software development tasks, exercising professional judgement, initiative and appropriate autonomy.
  • Plan and prioritise work to deliver agreed outcomes within scope, schedule, budget and quality requirements.
  • Develop, test, verify, document and maintain software features across the TUFLOW Software Suite, with a primary focus on GPU compute and AI applications. This may include interpreting numerical methods, developing algorithms, writing and reviewing code, conducting software testing, and preparing technical documentation.
  • Contribute to the planned enhancement and modernisation of the TUFLOW codebase to support product quality, maintainability, performance and the future needs of users.
  • Collaborate with the wider TUFLOW team and other BMT specialists to deliver multidisciplinary development, research and technical initiatives.
  • Engage with users and stakeholders, as appropriate, to understand technical requirements, support service delivery and inform software development priorities.
  • Work in accordance with applicable quality, safety, environmental, information security and software development procedures and standards.
  • Contribute actively to improvement of the TUFLOW software development process, whilst contributing to established processes and procedures.
  • Maintain and develop professional and technical capabilities relevant to the role, recognising that it is a broad and rapidly developing domain.
  • Work is reviewed at the completion of tasks, and ongoing, usually on a fortnightly basis. Performance is reviewed on a yearly basis, as part of BMT’s global performance review cycle.

In addition to these responsibilities, the position holder may be required to undertake other duties that may reasonably be required to achieve the purpose of the role.

Right to Disconnect: We respect your personal time and support a healthy work-life balance. Employees are not expected to respond to work communications outside of regular business hours unless otherwise agreed upon.

Skills, Knowledge & Expertise

Essential:
  • A bachelor’s degree in software engineering, computer science or another relevant discipline.
  • 5+ years of software development experience.
  • Demonstrated experience with software development practices and tools such as version control, code review, automated testing and issue tracking.
  • Demonstrated experience with C/C++ and CUDA development or other GPU compute platforms, and an affinity for NVIDIA/cross-platform development.
  • A baseline level of AI-assisted development proficiency, e.g. routine use of coding assistants with critical review of generated output, experience with agentic tooling in a production codebase.

Desirable:
  • Experience with AI/LLM tooling and architectures, e.g. RAG, MCP.
  • Experience developing or integrating machine learning surrogate models.
  • Experience working in flood or coastal engineering, or other numerical scientific modelling domains

Job Benefits

At BMT, we value flexibility, career growth, and an inclusive culture where diverse perspectives thrive.
  • We offer remote, hybrid, and part-time work options, with offices across Australia. We’re proudly ‘flexified’ with Flexa! 
  • Our industry competitive benefits include a competitive salary offering, performance bonuses, and companywide bonuses as part of being an employee benefits trust 
  • Defence Reserve Leave enabling defence reservist employees to undertake ADF obligations without financial disadvantage. 
  • 24/7 Employee Assistance Program (EAP). 
  • We invest in learning and development to help you grow.
Diversity, equity, and inclusion are at our core. We foster a workplace where everyone feels valued and supported, promoting innovation, collaboration, and respect.

Our values—Trust, Innovation, Passion, Respect, and Collaboration—define who we are and how we work.

Notice to Recruitment Agency & Related Services - Please note BMT receive job applications exclusively via our ATS system only. BMT do not warrant or agree to any unsolicited CVs submitted via any contact method including physical hard copies left with any employee at BMT or within our operational teams. We will not progress CVs shared on a speculative basis by email, and you accept our right to pursue such candidates with no obligation to third-party terms and conditions or liability to a fee. 

Share this