Job Description
SENIOR SOFTWARE ENGINEER JOB DESCRIPTION Job Title: Senior Software Engineer Department: Software Engineering Reports to: Head of Technology Direct Reports: None Location: Nairobi Kenya Job Purpose To contribute to the design, development, and deployment of scalable, secure, and high-performance software solutions using .NET technologies and cloud-native platforms.
This role supports the delivery of modern, integrated systems by participating in cross-functional collaboration, enforcing engineering best practices, mentoring team members, and continuously improving software quality, security, and reliability.
Key Roles and Responsibilities Lead the technical design and development of scalable, secure, and high-performance software systems using .NET Framework, .NET Core, and modern architectural patterns such as microservices.
Drive cloud-native development and deployment using platforms like Microsoft Azure or AWS, leveraging services such as Azure App Service and AWS Lambda.
Design and implement robust RESTful APIs to enable seamless system integrations and efficient data exchange.
Drive the design and integration of high-performance databases including SQL Server, MySQL, PostgreSQL, and Entity Framework (EF/Core) to maximize system scalability, speed, and reliability.
Champion DevOps practices, including CI/CD pipelines, Git version control, Docker, and Kubernetes for automated builds, testing, and deployment processes.
Ensure code quality and security by enforcing coding standards, implementing secure development practices (e.g., OAuth, JWT), conducting rigorous code reviews, and using automated testing strategies.
Continuously explore emerging technologies and frameworks to enhance system capabilities, development efficiency, and innovation.
Proactively identify and implement improvements to system performance, scalability, and security.
Resolve critical bugs and technical issues in a timely manner, adhering to defined service level agreements (SLAs).
Maintain and enhance existing software features to align with evolving customer requirements and business objectives.
Oversee the deployment of software releases across live and test environments, ensuring stability, consistency, and minimal disruption.
Create and maintain comprehensive technical documentation for systems, APIs, and codebase changes.
Conduct ongoing research to identify opportunities for product innovation and contribute to the strategic vision for product development.
Provide mentorship and guidance to junior engineers, promoting their professional development and technical skills.
Collaborate with project managers, designers, UX professionals, systems analysts, QA engineers, sales, and marketing teams to ensure successful project execution and delivery.
Offer technical support to the first-level support team and assist with customer inquiries or issues as needed.
Support the Head of Technology in delivering complex projects and high-priority initiatives.
Stay updated on the latest technologies, industry developments, and software engineering best practices.
Pursue continuous professional growth through workshops, conferences, certifications, and self-directed learning Lead technical interview sessions throughout the hiring process to evaluate candidate expertise and secure top engineering talent.
Lead new-hire onboarding by delivering targeted technical training sessions and orchestrating comprehensive departmental orientation to accelerate integration and productivity.
Maintain assigned system components in the environment, including updates, patches, and performance monitoring.
Manage the security of data in transit through encryption and use of secure protocols, in collaboration with the DevOps and Information security engineers.
Support the management of security vulnerabilities by assisting in vulnerability scanning, remediation, and patching, in coordination with the Security & Compliance Analyst.
Collaborate with the DevOps and Information Security Engineers to manage and review audit logs, ensuring accountability and system integrity.
Participate in daily stand-ups, planning meetings, and retrospectives to learn agile development rhythms.
Perform any other duties as required to support the business in response to evolving needs, changes, and growth.
Requirements Qualifications Bachelors degree in Computer Science, Engineering, or related field; certifications in .NET or cloud technologies are a plus.
6+ years of hands-on .NET/.NET Core development experience, with a track record of building scalable applications.
Experience in financial services or payments is preferred.
Skilled in ASP.NET MVC/Core, web security, and client-server interaction.
Proficient in database integration (SQL Server, MySQL), including query optimization and schema design.
Hands-on experience deploying .NET applications to cloud platforms (Azure, AWS), utilizing cloud-native services.
Background in Agile (Scrum, Kanban), with active participation in sprint cycles and iterative delivery.
Performance KPIs System Uptime & Reliability Deployment Success Rate Critical Bug Resolution Time Code Quality & Review Pass Rate Team Collaboration & Mentorship Security Compliance Cross Train and Participate in technology enhancements Level 1 and 2 technical support
Bachelor’s degree in Computer Science, Engineering, or related field; certifications in .NET or cloud technologies are a plus.
5+ years
5+ years of hands-on .NET/.NET Core development experience, with a track record of building scalable applications.
Experience in financial services or payments is preferred.
Skilled in ASP.NET MVC/Core, web security, and client-server interaction.
Proficient in database integration (SQL Server, MySQL), including query optimization and schema design.
Hands-on experience deploying .NET applications to cloud platforms (Azure, AWS), utilizing cloud-native services.
Background in Agile (Scrum, Kanban), with active participation in sprint cycles and iterative delivery.