Job Posting Organization: The European Bank for Reconstruction and Development (EBRD) is a pioneering international organization established in 199
Its mission is to foster the transition towards open market-oriented economies and promote private and entrepreneurial initiatives in countries across Europe, Central Asia, and beyond. The EBRD operates in over 30 countries and employs a diverse workforce dedicated to making a positive impact on the regions it serves. The organization values inclusiveness, innovation, trust, and responsibility, which are integral to its culture and operations.
Job Overview: The Associate Developer - Backend position at EBRD is a high-impact role that requires mastery in Java and the ability to tackle real-world complexities. The successful candidate will be responsible for building enterprise-grade, cloud-native applications using Java 17+, Spring Boot, and microservices architecture. This role emphasizes the importance of writing clean, maintainable code and solving complex software problems. The developer will lead quality assurance efforts through robust testing methodologies, including Test-Driven Development (TDD) and Behavior-Driven Development (BDD), while ensuring that solutions are secure, observable, and resilient in production environments. Collaboration with architecture, DevOps, and cloud teams is essential to deliver scalable systems that contribute to the organization's mission.
Duties and Responsibilities: The duties and responsibilities of the Associate Developer - Backend include:
Software Design and Development: Design, develop, test, and maintain high-quality software solutions independently. Write clear, maintainable, and well-documented code. Develop and maintain RESTful APIs and microservices, ensuring scalability and maintainability. Integrate third-party services and APIs. Implement data storage solutions, including relational and NoSQL databases. Debug and troubleshoot software issues effectively.
Quality Assurance: Conduct code reviews to ensure adherence to coding standards and best practices. Write unit and integration tests using frameworks like JUnit and Mockito. Implement automated testing frameworks to ensure reliability and performance. Follow TDD and BDD practices where applicable. Ensure non-functional requirements such as performance, security" style="border-bottom: 1px dotted #007bff !important;">security, and scalability are met.
Operations, Maintenance, Support, and Documentation: Participate in deployment and release processes, ensuring smooth rollouts of new features. Monitor production systems, investigate issues, and provide timely resolutions. Maintain clear documentation of code and processes. Provide ongoing support and troubleshooting for Java solutions. Automate repetitive tasks and improve development workflows using scripting and DevOps practices.
Data and Architecture: Develop and maintain RESTful APIs for Java solutions. Design and implement custom connectors and integrations with external systems. Assist in designing robust and scalable system architectures. Contribute to the design and implementation of data models and schemas. Evaluate and recommend best practices for integrating Java with external systems and third-party services.
Required Qualifications: Candidates must possess a degree or equivalent qualification in IT, engineering, or a scientific discipline. Extensive working experience in Java (Java 17 or later) and the Spring Framework (Spring Boot, Spring MVC, Spring Data) is required. Candidates should have significant experience in developing and optimizing RESTful APIs and microservices, as well as containerization (Docker, Kubernetes) and cloud-native application development. Proficiency in relational databases (Azure SQL) and ORM frameworks like Hibernate is essential. Experience with messaging systems such as ActiveMQ or Azure Service Bus is also required. A solid understanding of software development principles, system design, and architecture is necessary, along with experience in writing unit and integration tests using JUnit and Mockito. Candidates should be familiar with implementing CI/CD pipelines for automated builds, testing, and deployments, as well as load testing and performance tuning for high-traffic applications. Experience in deploying and maintaining applications in cloud environments (Azure, AWS, or GCP) is crucial, along with familiarity with monitoring tools like Azure Monitor and Application Insights. Candidates should also have experience in documenting software design, system architecture, and API contracts using OpenAPI specification, as well as knowledge of microservices architecture, event-driven design, and distributed systems. Understanding of application authentication protocols (OAuth 2.0, JWT) and security best practices is required, along with knowledge of caching strategies (Hazelcast, Redis) and database performance tuning techniques. Strong analytical and critical thinking skills, excellent written and verbal communication skills, and the ability to operate effectively in a multicultural environment are essential.
Educational Background: A degree or equivalent qualification in an IT, engineering, or scientific discipline is desired for this position. This educational background provides the foundational knowledge necessary for understanding complex software development concepts and practices.
Experience: Candidates should have extensive working experience in Java (Java 17 or later) and the Spring Framework, as well as significant experience in developing and optimizing RESTful APIs and microservices. Experience with containerization technologies such as Docker and Kubernetes, as well as cloud-native application development, is essential. Candidates should also have a strong background in relational databases and ORM frameworks, along with experience in implementing CI/CD pipelines and automated testing frameworks.
Languages: Fluency in written and spoken English is mandatory for this position. The ability to communicate effectively with a diverse range of audiences is crucial, and proficiency in additional languages may be considered an asset, although not mandatory.
Additional Notes: This position is a fixed-term contract lasting for 3 years. The EBRD promotes a hybrid and flexible working culture, encouraging collaboration in person at least three days a week. The organization prioritizes employee wellbeing and offers a comprehensive suite of competitive benefits. The EBRD is committed to diversity and inclusion, encouraging applications from 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.