Software Engineer Job in Kenya

Job Purpose/Mission 

We are looking for a talented, self-starting software engineer to join the digital team to help deliver affordable solar power to emerging markets. This position offers a great opportunity to work alongside an elite team of engineers and business professionals and directly contribute to the success of a mission driven company with social and environmental impact. Candidates will get the opportunity to work in a diverse technology stack at scale.

 Responsibilities

Contribute to the bi-weekly software planning sessions, together with product managers and engineers to discuss delivery time estimates, risks and key practical considerations (such as technical debt, feasibility at scale ….)

Take requirements and deliver a complete solution subject to all engineering best practices, timeline considerations and potential dependencies in the software with minimal to no supervision.

Develop complex software that optimally uses resources to best meet customer needs.

Participate and contribute to   architectural discussion on important areas of software that impact performance and reliability of our software. Identify and communicate risk in approaches or implementation details, assumptions, etc…

Mentor junior engineers and provide technical guidance

 provide support where engineering intervention is required (e.g due to bugs or performance problems, on-call)

Experience and skills 


Required:

At least 3 years of relevant experience

Programming language proficiency in Ruby  and mastery of Rails framework

Good knowledge of object relational mappers (and their implementation design patterns), No SQL, Mysql and storage options

Strong knowledge of design patterns and OOP practices, TDD

Strong API development and documentation experience

Experience using observability and monitoring tools

Working knowledge of good practices for computer and data security

Experience with git: GitHub/Gitlab based source code management and deployment pipelines and best practice (CI/CD)

Excellent written and verbal communication skills in English

Desired:

Javascript and typescript proficiency with strong knowledge of one JS framework

HTML4/5, CSS3, AJAX, Bootstrap along with strong knowledge of DOM

Strong software engineering and architectural patterns background (MVC, MVP, CQRS, DDD, SOLID, hexagonal, Microservices)

Experience creating and maintaining scalable web applications in cloud context: elastic cache, distributed task processing, load balancing, containerization, clustering

Good experience on high availability, observability and structured logging

API design (REST, GraphQL,Apollo…)

Knowledge of container and container orchestration

Web and application Server backend management is a strong advantage and basic Linux server system administration.

Good knowledge of web application security with standards such as OWASP

Knowledge of Amazon Web Services (AWS) and its services, such as, but not limited to, EC2 ,RDS, EBS, S3, Lambda functions

Qualifications:

Bachelors or Masters in a relevant engineering discipline (Computer Engineering, Software Engineering, Computer Science)

Language(s): 

English

French is a plus

How To Apply

Click here to apply