Job Title: Software Engineer
Location: Nairobi, Kenya
Reports to: Senior Manager - Engineering
Job Summary:
We are looking for a Software Engineer with a minimum of 3 years of experience to join our team. You will build and maintain backend services using Java Spring Boot (or similar frameworks), contribute to event-driven microservice architectures, and apply engineering best practices such as Test-Driven Development (TDD). You’ll work closely with cross-functional teams to deliver a platform that is robust, scalable, and secure. Experience with Clojure is an added advantage but not required.
Key responsibilities:
Backend Development
- Develop and maintain backend services using Java Spring Boot (or similar frameworks).
- Follow clean code principles, coding standards, and industry best practices.
- Participate in code reviews, pair programming, and other collaborative activities to ensure high code quality.
Event-Driven Architecture
- Implement event-driven systems using messaging platforms (e.g., Kafka, RabbitMQ, AMQP).
- Work on publish/subscribe patterns and streaming data pipelines to handle real-time data.
- Collaborate on optimizing event flow for improved performance and scalability.
- Test-Driven Development (TDD)
- Write and maintain unit tests, integration tests, and end-to-end tests following TDD principles.
- Strive for high test coverage and assist in diagnosing and fixing bugs.
- Contribute to continuous improvements in testing methodologies.
Microservices Architecture
- Work with senior engineers to understand microservices architecture and component interactions.
- Implement secure, scalable, and maintainable solutions under guidance.
- Adhere to RESTful API standards, design patterns, and object-oriented programming principles.
Performance and Optimization
- Participate in performance monitoring and identify potential bottlenecks.
- Assist in implementing caching strategies and other solutions to improve response times.
- Collaborate with DevOps to refine CI/CD pipelines for efficient, reliable deployments.
- Collaboration and Teamwork
- Work closely with product managers, QA, and DevOps teams to deliver features on time.
- Contribute to design and code reviews, offering suggestions for improvement.
- Proactively share knowledge and learn from others to grow technical and soft skills.
Clojure Experience (Nice-to-Have)
- Contribute to or maintain Clojure-based services if applicable.
- Learn functional programming patterns and collaborate in mixed-language environments.
Documentation and Continuous Learning
- Maintain clear documentation of code, architecture, and deployment processes.
- Keep up to date with emerging technologies to enhance product quality and team productivity.
Qualifications and Experience:
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- 3+ years of professional experience in software development.
- Proficiency in Java and hands-on experience with Spring Boot or similar frameworks.
- Familiarity with building event-driven systems using messaging platforms (e.g., Kafka, RabbitMQ).
- Knowledge of microservices architecture and best practices.
- Strong communication skills and a collaborative mindset.
- Comfortable with Git, CI/CD pipelines, and basic DevOps concepts.
Preferred Qualifications:
- Exposure to Clojure or other functional programming languages.
- Experience with Docker and container orchestration tools (e.g., Kubernetes).
- Knowledge of cloud platforms (AWS, Azure, GCP) for deploying and scaling services.
- Familiarity with monitoring and observability tools (e.g., Prometheus, Grafana, ELK stack).
- Understanding of serverless computing environments.
The ideal candidate is someone who:
- Builds clean, reliable backend services and applies strong engineering practices such as TDD and code reviews.
- Thinks in terms of systems and enjoys contributing to event-driven, microservice architectures.
- Learns quickly, adapts well in fast-paced environments, and collaborates effectively with cross-functional teams.
Company overview:
Ezra provides B2B digital lending solutions for emerging markets in partnership with mobile and digital wallet operators and financial service providers. Ezra supports 24 operations in 23 countries, across Africa, the Middle East and Asia. Our key office locations are in Nairobi, Kenya and Dubai, UAE.
Our flagship products are Airtime Credit Services (ACS), Nano and BNPL.
- ACS is an airtime or data advance offered to prepaid mobile subscribers at the point of low credit.
- Nano is a micro cash advance offered to mobile wallet users on demand.
- BNPL facilitates payment installments for products and services
As a FinTech company, our business is entirely technology and data driven, from determining subscriber eligibility, generating relevant offers, managing risk, loan issuance, recovery, optimizing performance and reporting, reconciliation and billing.
Each day we process approximately 21M loan requests and 1.4 TB of data across our markets. This process needs to be robust, reliable and secure.
But it doesn’t end there. We’re exploring new ways of using our platform and transactional data to improve our products and develop new product opportunities.
Sponsored