
Location: Nairobi, Kenya
- Senior Software Engineers(2)
- Senior Database Engineer(1)
1. Senior Software Engineer
Who is Ezra?
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 Advance Credit Service (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.
About the role
We are looking for a Senior Software Engineer who will play a pivotal role in the design, development, and deployment of our software solutions. In this position, you will leverage Java Spring Boot, follow best practices like Test-Driven Development (TDD), and build robust, scalable event-driven microservices. Having experience with Clojure is a plus. You will collaborate with cross-functional teams to ensure our platform meets the highest standards of performance, security, and reliability.
Key Responsibilities
1. Backend Development
- Design, develop, and maintain high-performance backend services using Java Spring Boot (or similar frameworks) and clojure.
- Adhere to clean code principles and industry best practices in all development efforts.
- Ensure code quality through pair programming, code reviews, and other collaborative development methods.
2. Event-Driven Architecture
- Implement and maintain event-driven systems using message brokers (e.g., Kafka, RabbitMQ,AMQP)
- Work on publish/subscribe patterns and streaming data pipelines to ensure real-time data processing and system responsiveness.
- Optimize event flow for performance and scalability.
3. Test-Driven Development (TDD)
- Apply TDD principles throughout the software development lifecycle to deliver robust, maintainable solutions.
- Write comprehensive unit tests, integration tests, and end-to-end tests.
- Ensure high test coverage and effectively diagnose, document, and fix bugs.
4. Architecture and Design
- Collaborate with architects and senior engineers to define microservices architecture and component interaction.
- Contribute to architectural discussions and decision-making processes, ensuring scalability, security, and maintainability of solutions.
- Integrate best practices for secure coding, data privacy, and compliance.
5. Performance Optimization
- Monitor system performance, identify bottlenecks, and implement solutions for performance tuning.
- Conduct profiling, load testing, and implement caching strategies to enhance system response times.
- Work closely with the DevOps team to optimize CI/CD pipelines for quick and reliable deployments.
6. Collaboration and Leadership
- Mentor junior engineers on best practices, coding standards, and new technologies.
- Collaborate with product managers, QA engineers, and DevOps to deliver features on time and with high quality.
- Conduct and participate in design reviews, code reviews, and knowledge-sharing sessions.
7. Clojure Experience (Nice-to-Have)
- Develop and maintain Clojure components and services, if applicable.
- Share functional programming insights and best practices with the team.
- Contribute to mixed-language environments and ensure seamless integration with Java-based services.
8. Documentation and Continuous Improvement
- Maintain up-to-date documentation on service architecture, code components, and deployment procedures.
- Continuously research and evaluate emerging technologies to enhance product quality and developer productivity.
Required Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- 5+ years of professional experience in software development.
- Strong proficiency in Java and hands-on experience with Spring Boot.
- Proven ability to apply and advocate for Test-Driven Development (TDD).
- Experience in building event-driven architectures using messaging systems (e.g., Kafka, RabbitMQ, etc.).
- Solid understanding of microservices architecture and related best practices.
- Strong knowledge of RESTful APIs, design patterns, and object-oriented programming.
- Experience with CI/CD pipelines, version control (Git), and DevOps practices.
- Excellent communication skills and team-oriented mindset.
Preferred Qualifications
- Exposure to Clojure or other functional programming languages.
- Hands-on experience with Docker and container orchestration platforms (e.g., Kubernetes).
- Experience with cloud platforms (AWS, Azure, GCP) for deploying and scaling services.
- Familiarity with monitoring and observability tools (e.g., Prometheus, Grafana, ELK stack).
- Knowledge of serverless computing environments.
Sounds like you? Apply today!
2. Senior Database Engineer
Who is Ezra?
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 Advance Credit Service (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.
About the Role
We are seeking a highly skilled and experienced Senior Database Engineer to join our dynamic team. The ideal candidate should possess a strong background in database engineering, coupled with a solid understanding of data engineering principles. Proficiency in database automation tools, Linux, and Bash scripting is essential
As a Senior Database Engineer, you will be responsible for designing, implementing, and maintaining our database systems to ensure high performance, scalability, and reliability. You will collaborate with the different teams, clients, stakeholders and advise as the expert in database design, implementation and serve as a focal point in escalations.
Key Responsibilities
- Design, implement, and maintain robust database solutions.
- Capacity planning in line with the infrastructure. Design and Implement DBs that can scale.
- Optimize and tune database performance to ensure efficient data processing and retrieval.
- Develop and maintain ETL (Extract, Transform, Load) processes for data integration and migration.
- Ensure data integrity, consistency, and security across all database systems.
- Collaborate with software engineers, data scientists, and other stakeholders to define data requirements and develop solutions.
- Monitor and troubleshoot database issues, ensuring minimal downtime and quick resolution.
- Automate database management tasks using automation tools such as Ansible, Terraform and Bash scripting
- Implement backup and recovery strategies to safeguard critical data. Developing, managing and testing back-up and recovery plans
- Monitoring performance and managing parameters to provide fast query responses to front-end users
- Refining the logical design so that it can be translated into a specific data model
- Maintaining data standards, including adherence to the data protection act
- Writing database documentation, including data standards, procedures and definitions for the data dictionary (metadata)
- Controlling access permissions and privileges. Establishing the needs of users and monitoring user access and security
- Ensuring that storage, archiving, back-up and recovery procedures are functioning correctly
- Work directly with development and infrastructure teams to enhance the performance and observability of various database services through monitoring solutions (Grafana, ELK)
- Proficient with building data integrations using both API and file based protocols
Key Requirements
- BSc Degree in one of the following subject areas: Computer Science, Business Administration, Information Technology or related field preferred
- 4 – 5 years IT operation with strong understanding of database structures, theories, principles, and practices
- 4-5 years PostgreSQL Database Administration experience
- 5+ years of experience in database engineering or a similar role.
- Understanding of, and experience with, server-client computing and relational database environments
- Experience with data management and data processing flowcharting techniques
- Knowledge of reporting and query tools and practices
- Proficiency in SQL and experience with database management systems (e.g., MySQL, PostgreSQL, Oracle, SQL Server).
- Strong knowledge of data engineering concepts and ETL processes.
- Extensive experience with Linux operating systems and Bash scripting.
- Familiarity with cloud-based database solutions (e.g., AWS RDS, Google Cloud SQL, Azure SQL Database).
- Experience with NoSQL databases (e.g., MongoDB, Cassandra) is a plus.
- Strong problem-solving skills and the ability to work independently and as part of a team.
- Excellent communication skills and the ability to convey complex technical concepts to non-technical stakeholders.
- Undertstanding of big data technologies (Apache Hadoop, Spark) and DW solutions (Google Big-Query, Snowflake, Azure Synapse analytics)
- Knowledge in python would be an added advantage
Sounds like you? Apply today!