Job Posting Organization: The European Bank for Reconstruction and Development (EBRD) is a pioneering international financial institution established in 199
The EBRD's mission is to foster the transition to open market-oriented economies and promote private and entrepreneurial initiative in countries from Central Europe to Central Asia. The organization operates in over 30 countries and employs thousands of professionals dedicated to making a positive impact in the regions it serves. The EBRD is committed to sustainability, equality, and digital transformation, ensuring that its operations align with its core values of inclusiveness, innovation, trust, and responsibility.
Job Overview: The Java Developer position at EBRD is designed for developers who are eager to enhance their Java skills through real-world, enterprise-grade projects. This role involves supporting the design and development of scalable, high-performance APIs and microservices using Java and Spring Boot. The developer will engage in the full software development lifecycle (SDLC), which includes coding, testing, deployment, and support. This position offers hands-on experience with cloud-native architecture, DevOps tooling, and modern design patterns such as microservices and event-driven design. The developer will be responsible for contributing to clean, maintainable code, implementing automated testing, and collaborating on building robust system components. The role also provides exposure to CI/CD pipelines and cloud development on Azure, allowing the developer to deepen their understanding of quality software delivery in a fast-paced, agile environment. This position serves as a launchpad for mastering engineering excellence and building impactful systems from the ground up.
Duties and Responsibilities: The Java Developer will have a comprehensive set of responsibilities, including:
Software Design and Development: Supporting the design, development, testing, and maintenance of high-quality software solutions; writing clear, maintainable, and well-documented code; developing and maintaining RESTful APIs and microservices; integrating third-party services and APIs; implementing data storage solutions; and performing debugging and troubleshooting to resolve software issues.
Quality Assurance: Writing unit and integration tests using frameworks like JUnit and Mockito; participating in code reviews; following test-driven development (TDD) and behaviour-driven development (BDD) practices; ensuring non-functional requirements are met; and implementing functional automated tests.
Operations, Maintenance, Support, and Documentation: Participating in deployment and release processes; monitoring production systems; developing and maintaining system documentation; and automating repetitive tasks to improve development workflows.
Data and Architecture: Assisting in designing scalable system components; collaborating on database schema design; ensuring adherence to architectural principles; contributing to data models and schemas; and evaluating best practices for integrating Java with external systems.
Required Qualifications: The ideal candidate for the Java Developer position should possess the following qualifications:
- Educated to degree level or equivalent in IT, engineering, or a scientific discipline.
- Working experience in Java (preferably Java 17 or later) and Spring Framework (Spring Boot, Spring MVC, Spring Data).
- Experience with RESTful API design principles and implementation.
- Familiarity with version control systems such as Git and package managers like Gradle, Maven, or NPM.
- Knowledge of relational databases (e.g., Azure SQL) and ORM frameworks like Hibernate, as well as NoSQL databases (e.g., MongoDB).
- Experience with message brokers (e.g., Active MQ, Azure Service Bus) is a plus.
- Basic knowledge of containerization using Docker and Kubernetes, and software development principles.
- Familiarity with CI/CD pipelines and automated testing practices.
- Strong analytical and critical thinking skills, with excellent written and verbal communication skills.
Educational Background: Candidates should have a degree or equivalent qualification in an IT, engineering, or scientific discipline. This educational background is essential for understanding the technical requirements and challenges associated with software development in a complex environment.
Experience: The position requires working experience in Java and Spring Framework, as well as familiarity with RESTful API design and implementation. Candidates should have practical experience with version control systems, build automation, and database management. Experience with microservices architecture and distributed system design is also beneficial, along with exposure to testing frameworks and cloud platforms.
Languages: Fluency in written and spoken English is mandatory for this position. Additional language skills may be advantageous but are not explicitly required.
Additional Notes: This is a fixed-term contract position with a duration of 3 years. The role is full-time and based in Sofia, Bulgaria. The EBRD promotes a hybrid working culture, encouraging collaboration in person at least three days a week. The organization values diversity and inclusiveness, welcoming applications from all qualified candidates regardless of their background.
Info
Job Posting Disclaimer
This job posting is provided for informational purposes only. The accuracy of the job description, qualifications, and other details mentioned is the sole responsibility of the employer or the organization listing the job. We do not guarantee the validity or legitimacy of this job posting. Candidates are advised to conduct their own due diligence and verify the details directly with the employer before applying.
We are not liable for any decisions or actions taken by applicants in response to this job listing. By applying, you agree that all application processes, interviews, and potential job offers are managed exclusively by the listed employer or organization.
Beware of fraudulent job offers. Do not provide sensitive personal information or make any payments to secure a job.