About Fielden
Fielden Management Services Pty Ltd is a specialist software company delivering Enterprise Asset Management (EAM) solutions to asset-intensive industries including air navigation service providers, emergency services, rolling stock, and ports.
Fielden operates a software product line approach to EAM, built on our own proprietary technology stack — the Trident Genesis (TG) platform. TG is a sophisticated software development platform that we design, evolve, and apply to deliver tailored EAM systems for our clients. TG is architected around the RESTful Objects pattern, applying REST principles to the design of the system itself, not just its Web APIs. Our engineering work combines rigorous applied software engineering with research-informed innovation in software architecture, domain modelling, programming language theory, and developer tooling.
About the Role
We are seeking an experienced Software Engineer based in Melbourne to take a central role in the continued development of the TG platform and the delivery of TG-based products to our clients.
This is a technically deep and varied position spanning three core areas:
- Enhancing and maintaining the TG core platform — including its compiler infrastructure, developer tooling, and build and deployment systems.
- Designing and delivering customer-tailored EAM solutions — involving domain modelling, systems analysis, performance optimisation, and quality assurance.
- Supporting engineering staff in the use of TG, as an extension of deep platform expertise.
Key Responsibilities
TG Platform Development
- Develop and maintain the Entity Query Language (EQL) compiler, which converts high-level application code into optimised SQL across PostgreSQL and SQL Server.
- Design and implement new EQL language features to improve developer productivity, ensuring consistency with existing semantics.
- Develop automated validation and testing for EQL, applying property-based, generative, and randomised methods.
- Conduct comprehensive performance benchmarking and monitoring, collecting operational metrics from production systems to guide optimisation.
- Design and maintain Java annotation processors that generate and validate code at compile time.
- Develop and extend IDE integrations (including IntelliJ IDEA plugins) with TG-specific features that enhance common development workflows.
- Observe and analyse developer workflows, identifying inefficiencies and proposing evidence-based improvements.
- Maintain and refine automated build and deployment pipelines across distributed teams.
Research and Innovation
- Conduct applied research at the forefront of software engineering, using TG as both technological foundation and experimental environment. Research areas may include generation of embedded domain-specific languages, program synthesis and transformation, and traceability of domain model evolution.
- Publish research findings and participate in relevant conferences, contributing to the field of software engineering.
- Propose and implement innovations in software engineering practices, supported by empirical evidence and technical argumentation.
- Continuously monitor, evaluate, and experiment with new research findings and emerging technologies.
Client Application Development
- Work closely with clients and Fielden's development team to translate business objectives into clear, verifiable technical specifications.
- Apply the TG modelling framework to design precise representations of client domains, turning operational procedures and business rules into coherent software models.
- Maintain and improve existing domain models as client organisations evolve.
- Assess and improve application performance in data-intensive environments, tuning database queries and fetch strategies.
- Develop and maintain a thorough suite of domain-driven tests using TG's testing framework.
- Perform comprehensive quality assurance after major TG releases, combining automated regression testing with targeted interactive testing.
- Create and maintain user documentation, change overviews, and respond to user support requests with timely and accurate solutions.
Engineering Support and Knowledge Transfer
- Deliver structured internal workshops and technical sessions for Fielden engineers, fostering deep expertise in TG and evolving software engineering practices.
- Create and maintain high-quality developer documentation and technical guides covering TG architecture, core components, public APIs, and developer tooling.
- Contribute to Fielden's internal knowledge base, documenting standard engineering practices and recommended approaches.
Qualifications
Bachelor's degree or higher qualification in Software Engineering, Computer Science, or a closely related field; or, 5 years of relevant experience.
Required Experience
- At least 3 years of relevant experience in software engineering, involving systems analysis and design, development, testing, and maintenance of large-scale enterprise information systems.
- Proficiency in Java and object-oriented design; working knowledge of functional and aspect-oriented programming principles.
- Comprehensive knowledge of relational databases, SQL optimisation, transaction management, and scaling techniques.
- Experience in programming language theory and compiler design, including parsing, code generation, and the design and implementation of programming languages.
- Experience in designing and maintaining developer tooling, including Java annotation processors, IntelliJ IDEA plugins, and runtime introspection tools.
- Experience in Java bytecode instrumentation.
- Experience applying domain-driven design principles to complex information systems.
- Experience in software performance evaluation, tuning, and benchmarking, including the use of automated performance testing frameworks.
- Experience with concurrent and parallel programming in Java, and with front-end and back-end integration within enterprise environments using RESTful and GraphQL APIs.
- Proficiency with Git and modern collaborative software development workflows.
- Experience working within geographically distributed international teams, with effective communication and coordination across time zones.
Desirable Experience
- Experience with GraphQL APIs for exposing domain data in a model-driven way.
- Experience presenting research findings at international academic or professional conferences in software engineering.
- Contributions to open-source software projects or development environments.
- Experience in running technical workshops, presenting at user groups, or as a teaching assistant.
- Experience with Eclipse plugin development.
- Experience with the RESTful Objects architectural pattern.
- Familiarity with containerisation technologies such as Docker.
- Familiarity with modern deployment strategies, including blue-green deployment.
- Familiarity with JavaScript and front-end development with Web Components, including libraries such as Lit or LitElement.
What We Offer
- Opportunity to participate in and present at relevant international software engineering conferences.
- Mentoring and collaboration with experienced engineers working on a sophisticated, research-informed platform.
- A technically deep role with real influence on the direction of the TG platform and its application to industry-leading EAM systems.
How to Apply
Please apply through the SEEK or Indeed application function with your CV and a brief cover letter outlining your relevant experience.
Pay: $95,000.00 – $115,000.00 per year
Work Location: In person