Role Overview
We are looking for a strong, hands-on Senior Backend Engineer to join our Finance Technology Engineering team and help build modern applications and services supporting strategic Billing Transformation.
This role has a particular focus on application data modelling, API engineering and backend service design. You will design robust application data models and build scalable Java-based APIs and services that expose business capabilities and data for consumption by user interfaces, other applications and enterprise integrations.
We are looking for an engineer who combines strong Java/Spring engineering with deep understanding of data structures, persistence patterns and database technologies. You should be comfortable designing data-intensive applications, working across relational and NoSQL databases, and making pragmatic architectural decisions based on access patterns, consistency, performance and scalability requirements.
Background
We have embarked on a strategic Billing Transformation programme to fundamentally redesign and modernise the end-to-end Quote-to-Cash landscape.
This greenfield transformation brings together SaaS platforms such as Oracle Fusion and Oracle RMB, engineered applications and services, APIs and integrations, and data products to create a modern, scalable technology ecosystem.
Backend engineering will be a critical part of this ecosystem, providing well-designed domain services, application data models and APIs that enable capabilities to be consumed consistently across applications, user experiences and integrations.
Key Responsibilities
• Design and build scalable backend applications and services using Java and Spring Boot.
• Own the design of robust application and domain data models, translating complex business concepts into well-structured entities, relationships and persistence models.
• Design and develop secure, performant and reusable REST APIs that expose business capabilities and data to UIs, applications and integration services.
• Design persistence solutions across relational, document, key-value and other database technologies, selecting appropriate patterns based on functional and non-functional requirements.
• Develop data access layers and optimise data structures, queries, indexing and transaction patterns for performance and scalability.
• Design services using sound domain-driven design, object-oriented design and API design principles.
• Build services supporting both synchronous API interactions and event-driven architectures.
• Define API contracts, validation, error handling, versioning, security and backward-compatibility patterns.
• Develop integrations with enterprise platforms and services across the wider Quote-to-Cash ecosystem.
• Apply software engineering principles including SOLID, automated testing, clean architecture and maintainable code design.
• Build and operate cloud-native services on AWS, including appropriate resilience, scalability, security and observability.
• Establish monitoring and observability using platforms such as Datadog and Grafana.
• Collaborate with Product, Architecture, Data Engineering and other engineering teams to translate business capabilities into scalable technical solutions.
• Contribute to engineering standards, reusable patterns and technical design across the Billing engineering ecosystem.
Must-Have Skills
• Strong hands-on experience developing enterprise applications using Java and Spring Boot/Spring Framework.
• Deep experience in application data modelling and database design, including entities, relationships, schemas, constraints, indexing and transactional boundaries.
• Strong understanding of relational data modelling, including normalisation, referential integrity, query optimisation and transaction management.
• Experience designing applications using multiple database technologies, including:
o Relational databases such as PostgreSQL, Oracle or SQL Server
o NoSQL/document/key-value technologies such as DynamoDB, MongoDB or equivalent
• Ability to evaluate and select appropriate data storage and persistence patterns based on access patterns, consistency, scale and performance requirements.
• Strong experience designing and building RESTful APIs and microservices, including API contracts, versioning, security, validation and error handling.
• Strong understanding of object-oriented design, SOLID principles, dependency injection and design patterns.
• Experience with Spring Data/JPA/Hibernate or equivalent persistence frameworks.
• Experience building event-driven applications, including technologies such as Kafka or other messaging platforms.
• Hands-on experience with AWS services such as ECS, Lambda, SQS, SNS, S3, RDS, DynamoDB, API Gateway and CloudWatch.
• Strong understanding of automated testing, including unit, integration, API and component testing.
• Experience with CI/CD and modern software engineering practices.
• Experience with observability platforms such as Datadog, Grafana or equivalent.
• Understanding of application and cloud security practices including authentication/authorisation, IAM, encryption, secrets management and vulnerability management.
Qualifications
• Bachelor's degree in Computer Science, Software Engineering or a related discipline, or equivalent practical experience.
• 6+ years of software engineering experience, with significant hands-on backend development experience.
• Strong track record building production-grade Java/Spring applications and APIs.
• Demonstrable experience designing complex application data models and working across multiple database technologies.
• Experience delivering distributed, cloud-based applications within enterprise environments.
Nice to Have
• Experience with Domain-Driven Design (DDD) and modelling complex business domains.
• Experience designing high-volume or transaction-intensive applications where data integrity, auditability and performance are critical.
• Experience with billing, pricing, payments, financial services or Quote-to-Cash / Order-to-Cash domains.
• Experience with Oracle RMB, Oracle Fusion or similar enterprise platforms.
• Experience with API-first architectures and OpenAPI specifications.
• Understanding of caching technologies and patterns such as Redis.
• Experience with database migration and schema evolution tooling such as Flyway or Liquibase.
• Familiarity with containerisation and orchestration technologies such as Docker and Kubernetes.
Comments
Post a Comment