Ezra is a financial technology company that partners with banks, MNOs, utility companies, and e-commerce platforms to deliver easy and rapid credit solutions in emerging and financially underserved markets. Leveraging unique credit scoring capabilities, Ezra offers solutions including airtime credit and embedded finance. We are looking for a Senior Software Engineer to join our team and contribute to building high-performance backend systems.
Key Responsibilities
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.
Event-Driven Architecture
- Implement and maintain event-driven systems using message brokers such as Kafka, RabbitMQ, or cloud-native equivalents.
- 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.
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.
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.
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.
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.
Qualifications and Experience
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 5+ years of professional experience in software development, preferably in a modern backend environment.
- Strong proficiency in Java and proven, hands-on experience developing production-grade applications with Spring Boot.
- Expertise in designing, building, and operating event-driven microservices architectures.
- Proven ability to apply and advocate for Test-Driven Development (TDD) methodologies.
- Direct experience with message brokers/queues (e.g., Kafka, RabbitMQ) for inter-service communication.
- Solid knowledge of relational and NoSQL databases, caching layers (e.g., Redis), and RESTful API design.