Backend Java Software Architect/Senior Developer

Smart
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

Clean Code Principles
Java
API
Artificial Intelligence
Unit Testing
Azure
Cloud Computing
Software Quality
Databases
Continuous Integration
Data Governance
Data Infrastructure
Data Security
Data Stores
Database Design
DevOps
Spring
PostgreSQL
Oracle Applications
Scrum
Standard Sql
Software Construction
Software Engineering
Data Streaming
Transaction Data
Management of Software Versions
Cloud Platform System
GitHub Copilot
Spring-boot
Backend
Gitlab
Containerization
Integration Tests
Kubernetes
Information Technology
Data Analytics
Kafka
REST
Domain Driven Design
Code Restructuring
Docker
Legacy Systems
Programming Languages
Microservices

Job description

This role is strictly focused on backend software development, with a strong emphasis on building scalable Java-based services to replace legacy monolithic solution and contribute to the development of a modern solution based on microservices utilizing the cloud platform.

This role reports to Head of Service Management & Application Development.

Context

  • This role will be reporting to the Head of Service Management & Application Development, in the Technology Department.

Objective

  • The objective of this role is to actively contribute to the transformation of the organisation's central transactional data store by migrating existing monolithic solution into robust, maintainable, and scalable Java backend microservices.
  • The developer will play a key role in building the Smart Data Ecosystem by delivering production-grade microservices, based on modern software engineering standards., * Architect, design, develop, maintainable and operatable Java-based backend microservices
  • Rearchitect, refactor and migrate monolithic central data store into Java microservices
  • Build RESTful APIs and microservices for data access and integration
  • Design and implement domain-driven, data-centric architectures
  • Ensure performance, scalability, and reliability of backend systems
  • Integrate with event streaming platforms (Kafka) when applicable
  • Contribute to CI/CD pipelines (GitLab) and DevOps practices
  • Deploy services in cloud environments (Azure)
  • Apply modern software engineering best practices (testing, code quality, versioning)
  • Collaborate with data engineers, architects, and data product owners
  • Leverage AI-assisted coding tools (e.g. Claude, GitHub Copilot) to improve development efficiency and code quality

Tech stack

  • Languages & Frameworks: Java (21+), Spring Boot / Spring Framework
  • CI/CD & DevOps: GitLab (repositories, pipelines, CI/CD)
  • Cloud Platform: Microsoft Azure
  • Data & Databases: PostgreSQL, Oracle (legacy), SQL
  • Streaming & Integration: Kafka
  • Containerisation: Kubernetes , Docker
  • AI-assisted development: Claude or equivalent tools

Requirements

  • Education: Master's degree in Computer Science, Software Engineering, or equivalent experience
  • Minimum 5-8 years of experience in Java backend development
  • Strong experience in building enterprise-grade backend systems and APIs
  • Proven experience in modernising legacy systems (especially database-centric architectures)
  • Experience working in data-driven or data platform environments
  • Experience with cloud-native development (Azure preferred)…
  • Excellent English communication skills, both verbal and written.

Skills

Backend Engineering (Core requirement)

  • Strong expertise in Java and Spring Boot
  • Deep understanding of microservices architecture
  • Strong experience with REST API design and implementation

Data & Migration

  • Strong knowledge of Domain Driven Design and hexagonal architecture.
  • Strong knowledge of database design and normalization.
  • Understanding of data models, contracts, and data flows
  • Experience with PostgreSQL

Platform & DevOps

  • Hands-on experience with GitLab CI/CD pipelines
  • Experience deploying and operating services in Azure
  • Familiarity with Docker and container-based deployment in Kubernetes

Event-driven & Integration

  • Experience (or strong understanding) of Kafka / event streaming architectures

Engineering Excellence

  • Strong focus on clean code, testing, and maintainability
  • Experience with unit testing and integration testing frameworks
  • Solid understanding of Agile / Scrum methodologies

Modern Development Practices

  • Experience using AI-assisted coding tools (e.g. Claude, Copilot) as part of the development workflow
  • Ability to integrate AI tools in a secure, efficient, and controlled engineering process

Soft Skills

  • Curious about the full solution lifecycle (Business Requirement -> Architecture -> Implementation -> Test (including manual test) -> Operate
  • Strong ownership and accountability
  • Pragmatic and solution-oriented mindset
  • Ability to work independently in a tech lead/senior hands-on role
  • Comfortable working in a transformational environment with evolving standards
  • Team player with strong collaboration skills
  • Quality-driven and detail-oriented.
  • Sees necessary documentation as a habit.
  • Ability to mentor and coach less experienced java backend developers.

Nice-to-haves

  • Knowledge of API governance and data governance frameworks
  • Experience in international or distributed teams.

Apply for this position