Associate, Developer Backend
European Bank for Reconstruction and Development
- Location:
- Sofia, Bulgaria
- Category:
- Professional Staff
Posted Aug 3, 2026Apply by Aug 24, 2026 (10d left)
See your match score & applyThis role involves designing, developing, testing, and maintaining high-quality Java backend software solutions using Java 17+, Spring Boot, and microservices architecture. The position requires leading quality assurance practices, collaborating with architecture and DevOps teams, and ensuring scalable, secure, and maintainable cloud-native applications.
Responsibilities
- Enables the design, development, testing, and maintenance of high-quality software solutions, operating without supervision.
- Writes clear, maintainable, and well-documented code.
- Develops and maintains RESTful APIs and microservices, ensuring scalability and maintainability.
- Integrates third-party services and APIs.
- Implements data storage solutions (e.g., relational and NoSQL databases).
- Performs debugging and troubleshooting to resolve software issues.
- Responsible for code reviews, ensuring adherence to coding standards and best practices for Java development.
- Writes unit and integration tests using frameworks like JUnit and Mockito to ensure code quality.
- Manages complexity holistically by implementing automated testing frameworks and tools to ensure the reliability and performance of Java solutions.
- Follows test-driven development (TDD) and behaviour-driven development (BDD) practices where applicable.
- Ensures non-functional requirements such as performance, security, and scalability are met.
- Participates in the deployment and release processes, ensuring smooth rollouts of new features.
- Monitors production systems, investigates issues, and provides timely resolutions.
- Maintains clear documentation of code and processes specific to Java, following established guidelines.
- Provides ongoing support and troubleshooting for Java solutions.
- Automates repetitive tasks and improves development workflows using scripting and DevOps practices.
- Develops and maintains RESTful APIs for Java solutions.
- Designs and implements custom connectors and integrations with external systems for Java.
- Assists in designing robust and scalable system architectures that align with organisational needs.
- Contributes to the design and implementation of data models and schemas for Java solutions.
- Evaluates and recommends best practices for integrating Java with external systems and third-party services.
Requirements
- Educated to degree level or equivalent, with a qualification in an IT, engineering, or scientific discipline, desired.
- Extensive working experience in Java (Java 17 or later) and Spring Framework (Spring Boot, Spring MVC, Spring Data).
- Extensive working experience in developing and optimising RESTful APIs and microservices.
- Extensive working experience with containerisation (Docker, Kubernetes) and cloud-native application development.
- Confident working with relational databases (Azure SQL) and ORM frameworks like Hibernate.
- Confident working with messaging systems such as ActiveMQ or Azure Service Bus.
- A solid understanding of software development principles, with experience in system design and architecture.
- Extensive working experience in writing unit and integration tests using JUnit, Mockito, and test-driven development (TDD).
- Extensive working experience in implementing CI/CD pipelines for automated builds, testing, and deployments.
- Confident working with load testing and performance tuning for high-traffic applications.
- Extensive working experience in deploying and maintaining applications in cloud environments (Azure, AWS, or GCP).
- Extensive working experience of monitoring tools like Azure Monitor and Application Insights, and application logging strategies.
- Extensive working experience in documenting software design, system architecture, and API contracts using OpenAPI specification.
- Extensive working experience of microservices architecture, event-driven design, and distributed systems.
- Extensive working experience in application authentication protocols (OAuth 2.0, JWT), and security best practices.
- Confident to make architectural decisions considering scalability, reliability, and maintainability.
- Solid understanding of caching strategies (Hazelcast, Redis) and database performance tuning techniques.
- Self-starting, highly disciplined individual with strong analytical and critical thinking skills gained from hands on experience in response to technical requirements.
- Excellent written and verbal communication skills with the ability to communicate appropriate, concise, and accurate information to a wide variety of audiences both within and outside of the EBRD.
- Excellent people skills, in particular service orientation, organisational awareness and people empathy.
- Fluency in written and spoken English.
- Ability to operate sensitively and effectively in a multicultural environment.
Skills
- Java 17
- Spring Framework
- Spring Boot
- Spring MVC
- Spring Data
- RESTful APIs
- Microservices Architecture
- Containerisation
- Docker Containers
- Kubernetes
- Cloud-native Development
- Azure SQL
- Hibernate
- ActiveMQ
- Azure Service Bus
- Software Engineering Principles
- System Design
- Systems Architecture
- JUnit
- Mockito
- Test-Driven Development
- CI/CD Pipelines
- Load Testing
- Performance Tuning
- Cloud Deployment
- Azure
- AWS
- GCP
- Azure Monitor Configuration
- Application Insights
- Application Logging
- OpenAPI Specification
- Event-driven Design
- Distributed Systems
- OAuth 2.0
- JWT
- Application Security
- Architecture Decision Making
- Scalability Design
- Reliability Design
- Maintainability Design
- Caching Strategies
- Hazelcast
- Redis
- Database Performance Optimization
Languages
English