Senior Software Engineer
Smart Applications International Limited
- Nairobi
- Permanent
- Full-time
REPORTS TO: Matrix reporting to Engineering and Enterprise Project Management
DEPARTMENT: Engineering, Research and Design
BASED AT: Nairobi KenyaReports Administratively to the Scrum Master for day-to-day task allocation (“What” to do and “When”) and functionally to the Head of Engineering on technical matters (“How” of the work)Job Summary:A Senior Software Engineer is responsible for developing and maintaining software modules as part of larger application systems. Works with minimal supervision to implement functional components, conduct code reviews, and resolve technical issues. Collaborate with team members to ensure solutions are aligned with project requirements, coding standards, and system architecture. Contributes to system testing and documentation throughout the development of lifecycle.Key Responsibilities:
- Design, develop, test, and maintain software applications and services.
- Take ownership of features / modules development, deployment and support.
- Collaborate with product managers and designers to understand requirements.
- Participate in technical design and architecture discussions.
- Review code and mentor Software Engineer I and other junior team members.
- Write unit and integration tests to ensure code quality and reliability.
- Debug issues and implement performance improvements.
- Contribute to documentation and maintain coding best practices within the team.
- Bachelor’s degree in Computer Science, Software Engineering, or related field.
- 3–5 years of professional experience in software development.
- Proficiency in one or more programming languages and frameworks (e.g. Java Springboot, Angular, Python).
- Solid understanding of software engineering principles, data structures, and algorithms.
- Experience with queuing frameworks like Kafka and RabbitMQ.
- Familiarity with relational and/or NoSQL databases.
- Understanding of RESTful APIs and microservices architecture.
- Experience with CI/CD pipelines and DevOps practices.
- Familiarity with cloud platforms (AWS, GCP, Azure).
- Working knowledge of containerization (Docker, Kubernetes).
- Experience working in Agile or Scrum teams.
- Exposure to system design and wireframing tools like Figma.
- Demonstrates solid, hands-on development skills.
- Applies best practices and contributes to design decisions.
- Supports and guides junior engineers (e.g., Software Engineer I).
- Communicates effectively across engineering and product teams.
- Breaks down and solves technical problems efficiently.
- Owns features and takes initiative in improving systems.
- Delivers work with minimal supervision.
- Takes responsibility for quality, performance, and delivery timelines.
- Writes clear technical documentation.
- Participates actively in code reviews and project discussions.