About this role
Responsibilities
- Providing active hands-on architectural guidance and leadership through the entire lifecycle of backend products and services
- Experience in microservices architecture and reactive programming, with a strong focus on building scalable and resilient systems.
- Proven experience in digital banking, private banking, or financial platform transformation projects.
- Experience with core banking modernization, open banking (API) architectures, or payment systems is highly desirable.
- Designing backend architectures using Java, Spring Boot, and related technologies in alignment with scalability, maintainability, performance, and security goals
- Defining and evolving domain structures, bounded contexts, service decomposition strategies, and modular architecture approaches including modular monolith and microservices where appropriate
- Collaborating closely with other architects, engineering managers, and development teams across the organization in architecting and delivering robust backend solutions
- Structuring and delivering technical documentation for HLDs, architecture decision records, solution designs, analysis inputs, API contracts, sequence diagrams, and backend design artifacts, and establishing standard practices for co-workers to adapt easily
- Investigating and assessing emerging technologies, backend frameworks, and architectural patterns to determine the best approach for product and platform needs
- Defining non-functional requirements from availability, scalability, security, observability, extensibility, and operational support perspectives, and designing backend solutions to meet those requirements
- Supporting teams in troubleshooting system-level backend, integration, performance, data consistency, and production issues
- Designing and guiding API-first, event-driven, and asynchronous integration patterns between internal and external systems
- Driving architectural decisions for distributed systems including resilience, retries, idempotency, fault tolerance, transaction boundaries, caching, and messaging patterns
- Reviewing and improving service boundaries, backend code structure, data access patterns, deployment architecture, and technical debt areas
- Developing and leading proof-of-concept projects for backend frameworks, platform capabilities, and architectural improvements
- Driving discussions with senior co-workers regarding trade-offs, best practices, project delivery risks, and backend modernization strategies
- Cross-training peers and mentoring teammates on software design principles, backend architecture patterns, and engineering standards
- Conducting code reviews and design reviews, and providing feedback to team members with a focus on backend quality attributes and architectural sustainability
- Assisting in technical audits and ensuring audit recommendations are implemented in line with secure software development and platform standards
Qualifications
- BSc/MSc degree in Computer Engineering, Software Engineering, or a related field
- 8+ years of experience in backend software development, with strong hands-on experience in Java and Spring Boot
- 3+ years of experience in design and implementation of complex distributed backend systems and software architectures
- 2+ years of experience in a similar position guiding a cross-functional project or product team
- Strong experience in backend service design, API architecture including REST, GraphQL, and gRPC, service-to-service communication, and integration patterns
- Strong knowledge of software architecture patterns such as layered architecture, hexagonal architecture, clean architecture, modular monoliths, and microservices
- Experience with domain-driven design, domain modeling, and designing systems across different domain structures and business capabilities
- Experience with containerization and orchestration frameworks such as Docker and/or Kubernetes
- Working knowledge of application and system availability, scalability, observability, and distributed data platforms
- Expertise in backend performance optimization, transaction management, concurrency handling, and scalable system design
- Experience with relational database design, SQL optimization, and data consistency patterns, with additional familiarity in non-relational and NoSQL databases
- Experience with messaging and streaming technologies such as Kafka, RabbitMQ, or similar platforms
- Expert-level understanding of CI/CD principles, knowledge of various tools, and strong focus on engineering quality gates and delivery practices
- Knowledge of cloud services, especially AWS and related AWS services
- Strong understanding of secure backend development practices including authentication, authorization, secure communication, and secrets/configuration management
- Strong unit testing, integration testing, debugging, and root cause analysis skills
- Prior experience with SCRUM/Agile methodologies