Software Engineer at Ezra

Job Type: Full-Time
Experience: 3 years
Location: Nairobi

We are seeking a Software Engineer with around 3 years of experience to join our team. In this role, you will develop and maintain backend services using Java Spring Boot (or similar
frameworks), contribute to event-driven microservice architectures, and apply best practices such as Test-Driven Development (TDD). You will collaborate closely with cross-
functional teams to ensure our platform is robust, scalable, and secure. Experience in Clojure is a plus 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, integration, 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.

Required Qualifications

  • 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.
  • Understanding of Test-Driven Development (TDD) principles.
  • Familiarity with building event-driven systems using messaging platforms (e.g., Kafka, RabbitMQ).
  • Knowledge of microservices architecture and best practices.
  • Comfortable with Git, CI/CD pipelines, and basic DevOps concepts.
  • Strong communication skills and a collaborative mindset.

Method of Application

Interested and qualified? Go to Ezra on ezra.world to apply