- Role: Senior Software Developer
- Venture: Pawame
- Location: Nairobi, Kenya
Pawame provides solar home systems (SHSs) and more to off-grid communities in Africa on a rent-to-own basis. Starting from our base in Kenya we are tackling the huge challenge (opportunity!) to electrify and serve the >160 million households (70% of the population) in sub-Saharan Africa that don’t have access to grid power. Our SHS is not just cheaper, cleaner, and more convenient than traditional solutions, it’s transformation: by the time our customers have paid off their systems (after about 18 months) we are able — using technology, proprietary credit scoring and innovative payment schemes — to profitably offer them an array of life changing products and services that they would not otherwise be able to access or afford. Ultimately we aim to be not just an energy access company but a leading provider of products and services to the ‘bottom of the pyramid’, a trusted life partner for our customers, and one of the most respected consumer brands in Africa.
As a Senior Software developer of Pawame, you’ll work closely with a small team of software developers to build, customize and integrate new software applications for our company. The job will also include updating existing systems and integrating improvements to work on the user interfaces already in operation. You shall be both a thought leader to the CIO, and the link between all the cross-functional software development projects to ensure seamless implementation
As a Senior Software Developer for Pawame, your responsibilities will include:
Team leadership, strategy & planning
- Lead and manage a team of assistant software developers and interns. Line management responsibilities will include technical recruitment, appraisals, performance check-in meetings, identifying training needs, motivating and performance managing the team
- Drive the strategic direction of our software taking into account emerging and legacy technologies
- Oversee strategy for code base platform definition and implementation
- Devise a tactical plan which can be collaboratively carried out by the team – to implement improvements to our processes and knowledge sharing within the team
- Review project progress and overview of the performance of all individuals in team
- Facilitate the smooth delivery of all projects, enhancements and support delivered by the team
- Facilitate technology and methodology decision making throughout team, including standardization of system architecture, reusable code base development, versions of software tools, best practice, source control and deployment processes
- To Act as a technical and business systems subject matter expert for the developers and business stakeholders/representatives.
- Design, code, test, and debug programs, ensuring business requirements are met and documentation is created and maintained.
- Act as liaison between IT functional unit and cross-functional project teams, a project team member.
- Follow and ensure adherence to, the Software Development Lifecycle (SDLC) for consistent development and deployment practices.
- Ensure compliance with development standards.
- Safe-guard all customer, employee and company proprietary and personal information ensuring customer and employee data is kept confidential at all times.
- To keep up to date with the latest software development technologies and methodologies
- Drive consistent standards and approaches throughout the team
- Write clean and healthy structured, well documented code
- Deliver code which is well tested and consistently error free
- To design and build database schemas with integrity and scalability with data access layers that are optimised for performance and security
Communication and problem solving
- To use your experience when reviewing and auditing code
- To assist in critical support issues where your experience is required to ascertain the issue quickly and to find the most appropriate resolution
- To instigate cross team ideas and initiatives – to bring processes and services together
Sound exciting? Here’s who we are looking for.
Skills & Qualifications
- Advanced level (knowledge and experience) of Python and Django (6+ years)
- Advanced Docker Swarm/Kubernetes experience
- Full-stack experience required (Back-end, front-end, dev-ops)
- Project management experience required
- Experience and knowledge of cross-platform mobile development (2+ years)
- Advanced experience building and securing APIs
- Experience integrating and working with third-party APIs
- Experience integrating mobile payment solutions
- A senior level software developer with strong and successful technical lead experience
- Experience of managing, directing and motivating staff to deliver projects with stretching scope and objectives
- Highly numerate and literate, with the ability to produce top quality written specifications and strategy and implementation communication
- Proactive and highly organized, with strong time management and planning skills