Senior Backend Engineer
Job Description:
Role: Senior BackEnd Engineer
Location: Sydney, NSW
Experience: 5+ years
Role type: Permanent
Experience & Skills:
- Experience: 5+ years of backend software engineering experience in a professional environment, with at least 2 years building production microservices.
- Java / Kotlin: Strong proficiency in Java (11+) and the Spring ecosystem (Spring Boot, Spring Data, Spring Security). Kotlin experience is a plus but not required.
- API Development: Solid experience designing and implementing RESTful APIs. Understanding of API versioning, error contracts, pagination, and idempotency. gRPC experience is desirable.
- Database: Strong SQL skills and experience with relational databases — PostgreSQL (preferred) or SQL Server. Experience with schema design for transactional systems, query optimisation, indexing strategies, and database migration tooling (Flyway or Liquibase).
- Messaging & Event Streaming: Experience with message brokers — Kafka (preferred) and/or IBM MQ. Understanding of event-driven architecture patterns, consumer groups, schema evolution, and at-least-once delivery guarantees.
- Testing: Proven testing discipline — unit testing (JUnit 5, Mockito), integration testing (Testcontainers), contract testing (Pact or Spring Cloud Contract), and experience building comprehensive test suites for complex business logic.
- Cloud & Containers: Experience with containerised deployments (Docker, Kubernetes). Understanding of cloud-native patterns — service discovery, config management, health checks, graceful shutdown. Experience with AWS or Azure is desirable.
- CI/CD: Experience with CI/CD pipelines — building, testing, and deploying microservices through automated pipelines. Familiarity with trunk-based development or GitFlow branching strategies.
- Version Control: Proficient with Git, Artifactory & Bitbucket — branching, rebasing, pull request workflows, and collaborative development in a multi-team environment.
Desirable Skills
- Python: Working knowledge of Python for scripting, data pipeline tooling, automation, and migration utilities. Not required for core platform development but valuable for supporting tooling and data integration work.
- SWIFT Messaging: Familiarity with SWIFT MT message formats (MT700, MT710, MT720, MT760, MT799, etc.) or willingness to learn. Published specifications are available — domain expertise is not required at hire.
- Trade Finance Domain: Understanding of Trade Finance products (Letters of Credit, Guarantees, Collections, Trade Loans) and regulatory frameworks (UCP 600, ISBP 821,
- URDG 758). Highly valued but not essential — you will work alongside experienced BAs and domain SMEs.
- Financial Services: Experience in banking, financial services, or regulated industries — understanding of audit requirements, data sensitivity, regulatory compliance, and operational risk.
- Legacy Integration: Experience integrating with legacy systems — COBOL-based backends, terminal emulation interfaces, mainframe data extraction, or vendor platforms with limited API surfaces.
- Workflow / State Machines: Experience with workflow engines (Temporal, Camunda) or implementing state machine patterns for long-running business processes. Trade Finance instruments have complex lifecycles spanning weeks to months.
- Rules Engines: Experience with business rules engines (Drools or similar) or implementing complex rule validation logic in application code.