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