Associate, Software Developer Full Stack
Sofia, Sofia-City, Bulgaria · Not specified · Posted
About the role
Requisition ID
36613
Office Country
Bulgaria
Office City
Sofia
Division
Information Technology
Contract Type
Fixed Term
Contract Length
3 years
Posting End Date
14/09/2026
About the platform
The European Bank for Reconstruction and Development (EBRD) is building a next-generation Client-Led Procurement (CLP) platform hosted on Microsoft Azure. The platform digitises procurement workflows across bankers (internal), clients, and external participants through four dedicated Angular portals backed by a microservices backend on Azure Kubernetes Service (AKS). The architecture follows a strict Service-Oriented Architecture (SOA) pattern: an API Management ingress layer, persona-specific BFF composer services, and independently deployable domain services.
What You’ll Do
As an Associate Full Stack Developer you will contribute to both the frontend Angular portals and the backend Spring Boot microservices that power the CLP platform. You will work within a cross-functional Agile team, taking features from specification through design, implementation, testing, and deployment on AKS. The role spans the full stack across all services on the platform.Key responsabilities
Design, implement, and maintain backend domain microservices using Java 21 and Spring Boot.
Build and enhance Angular single-page applications for the Internal, Client, Participant, and Public portals.
Implement and document RESTful APIs following OpenAPI/Swagger standards; contribute to API-first design reviews.
Work with the Azure data tier: Azure Database for PostgreSQL, Azure Blob Storage, and Cosmos DB.
Write and maintain Liquibase database migrations; ensure schema safety across environments.
Author unit, integration, and contract tests (JUnit 5, Spring Boot Test, Pact) and maintain coverage gates.
Containerise services with Docker and support deployment on AKS via Helm charts and CI/CD pipelines.
Participate in code reviews, architecture discussions, and threat-modelling sessions.
Contribute to observability: structured logging (Logback/Logstash), distributed tracing (Application Insights), and SLO dashboards.
Operate within EBRD engineering standards including SonarQube quality gates, SAST/DAST scanning, and branch policies.
Need to Have — Your Essentials
Backend — Java / Spring Boot
Java 21+: proficient in modern Java features — records, sealed classes, pattern matching, virtual threads
Spring Boot 3.x+: REST controllers, JPA/Hibernate, validation, actuator, autoconfiguration
RESTful API design: OpenAPI 3 / Swagger; resource modelling, versioning, error contracts
Azure Database for PostgreSQL: JDBC, JPA mappings, PostgreSQL SQL dialect, index-aware query design
Multi-module Gradle builds: buildSrc convention plugins, version catalogues (libs.versions.toml)
Testing: JUnit 5, Spring Boot Test (@SpringBootTest, @DataJpaTest), Mockito; targeting 80 %+ coverage
Git: branching strategies, pull-request-based workflow, code review
Frontend — Angular / TypeScript
Angular 21: components, services, reactive forms, RxJS, signals, Angular Router, lazy loading
TypeScript: strict mode, interfaces, generics, decorators
REST API consumption: HttpClient, error handling, interceptors, environment configuration
HTML5 / CSS3: responsive layouts, WCAG accessibility awareness
State management: NgRx or equivalent reactive state pattern
Cloud & Platform
Microsoft Azure: working knowledge of AKS, Azure Storage, Azure Database for PostgreSQL, Key Vault, and Managed Identity concepts
Docker: Dockerfile authoring, multi-stage builds, container image best practices
CI/CD: experience with any major pipeline tool (Azure DevOps, GitHub Actions, Jenkins); automated build → test → deploy flow
Observability basics: structured logging, correlation IDs, health endpoints (Spring Actuator)
Architecture & Ways of Working
Microservices / SOA: service decomposition, bounded contexts, API contracts between services
Security awareness: OAuth 2.0 / OIDC fundamentals, token validation, least-privilege data access
Agile / Scrum: sprint ceremonies, backlog refinement, Definition of Done
Code quality: SOLID principles, clean code, peer review, static analysis
Nice to Have
The following skills are advantageous but not required at hire; you will develop many of them on the job.
Azure Platform (Advanced)
Azure Blob Storage — SAS token issuance, lifecycle policies, blob versioning
Azure Service Bus — AMQP messaging, topics/subscriptions, dead-letter queues, idempotent consumers
Azure API Management (APIM) — inbound/outbound policy authoring, JWT validation, rate limiting, CORS
Azure Entra ID / B2C — OIDC flows, custom policies, app roles, SCIM provisioning
Azure Application Insights / Monitor — distributed tracing, workbooks, alert rules
Azure Front Door / Application Gateway / WAF
Kubernetes & Infrastructure
AKS — pod lifecycle, HPA, PodDisruptionBudgets, namespace isolation
Helm — chart authoring, values overrides, release management
Workload Identity / Managed Identity on AKS — federated credential binding, RBAC scoping
Terraform — IaC for Azure resources, state management, module patterns
Data & Integration
Cosmos DB — SQL API or MongoDB API, partition key design, RU/s governance
Liquibase — changeset authoring, rollback strategies, multi-environment safety
GraphQL — schema design, query/mutation authoring, Apollo or Spring GraphQL
Azure Application Insights — distributed tracing, dependency tracking, performance monitoring, and alerting
Workflow & Quality Engineering
Camunda 7 or 8 — BPMN modelling, external task workers, compensation patterns
Contract testing — Pact (consumer-driven), provider verification in CI
SonarQube / Jacoco — quality gate configuration, branch/PR analysis
SAST / DAST / dependency scanning — integration in CI pipelines
Why You’ll Love This Role
Exposure to a modern, greenfield Azure-native platform built from first principles.
Work across the full stack — Angular portals, Spring Boot domain services, AKS, and Azure data services.
Collaborative, high-trust engineering culture with strong code-review and architecture practices.
What is it like to work at the EBRD? / About EBRD
Our agile and innovative approach is what makes life at the EBRD a unique experience! You will be part of a pioneering and diverse international organisation, and use your talents to make a real difference to people's lives and help shape the future of the regions we invest in.
At EBRD, our Values – Inclusiveness, Innovation, Trust, and Responsibility – are at the heart of how we work. We bring these to life through our Workplace Behaviours: listening well and speaking up, collaborating smartly, acting decisively with full commitment, and simplifying to amplify our impact. These principles shape our culture and define our success. We seek individuals who not only share these values but are also committed to embedding them in their daily work, fostering a positive and high-performing environment.
The EBRD environment provides you with:
Varied, stimulating and engaging work that gives you an opportunity to interact with a wide range of experts in the financial, political, public and private sectors across the regions we invest in.
A working culture that embraces inclusion and celebrates diversity. Our workforce reflects a broad range of backgrounds, perspectives, and experiences, bringing fresh ideas, energy, and innovation and enhancing our ability to serve our clients, shareholders, and counterparties effectively.
We offer hybrid and flexible working arrangements and believe we operate at our best when collaborating 3 days a week in person (minimum).
An environment that places sustainability, equality and digital transformation at the heart of what we do.
A workplace that prioritises employee wellbeing and provides a comprehensive suite of competitive benefits.
Diversity is one of the Bank’s core values which are at the heart of everything it does. As such, the EBRD seeks to ensure that everyone is treated with respect and given equal opportunities and works in an inclusive environment. The EBRD encourages all qualified candidates who are nationals of the EBRD member countries to apply regardless of their racial, ethnic, religious and cultural background, gender, gender identity, sexual orientation, age, socio-economic background or disability.
Please note, that due to the high volume of applications received, we regret to inform you that we are unable to provide detailed feedback to candidates who have not been shortlisted (for further consideration).