Overview
ENGIE Energy Access is one of the leading Pay-As-You-Go (PAYGo) and mini-grids solutions provider in Africa, with a mission to deliver affordable, reliable and sustainable energy solutions and life-changing services with exceptional customer experience. The company is a result of the integration of Fenix International, ENGIEMobisol and ENGIEPowerCorner; and develops innovative, off-grid solar solutions for homes, public services and businesses, enabling customers and distribution partners access to clean, affordable energy.
ThePAYGosolar home systems are financed through affordable installments from $0.19per day and the mini-grids foster economic development by enabling electrical productive use and triggering business opportunities for entrepreneurs in rural communities. With over 1,700 employees, operations in 9 countries across Africa (Benin, Coted’Ivoire, Kenya, Mozambique, Nigeria, Rwanda, Tanzania, Uganda and Zambia), over 1.2 million customers and more than 6 million lives impacted so far, ENGIE Energy Access aims to remain the leading clean energy company, serving millions of customers across Africa by 2025.
Job Position: Software Engineer
Job Location: Nigeria
Job Description
- 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.
Job 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).
Job Requirements
- Bachelor’s or Master’s Degree in a relevant Engineering discipline (Computer Engineering, Software Engineering, Computer Science).
Experience and Skills
Required:
- At least 3 years of relevant experience
- Programming language proficiency in Python and mastery of at least one web frameworks (Django, Flask, fast API)
- Good knowledge of object relational mappers (and their implementation design patterns), No SQL, PostgreSQL, 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 to scale in Python (REST, GraphQL,Apollo…)
- Knowledge of container and container orchestration
- Web and application Server backend management is a strong advantage.
- 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.
Language(s):
- English
- French is a plus.
How to Apply
Interested and qualified candidates should:
Click here to apply online