Job Title: Software Engineer (Full Stack)                   

Department: Digital & IT

Reporting Line: Head of Software Engineering             

Location: Kampala, Uganda

Job Grade: 15

Application Deadline: 18th August 2022 

 

About ENGIE Energy Access

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, ENGIE Mobisol and ENGIE PowerCorner; and develops innovative, off-grid solar solutions for homes, public services and businesses, enabling customers and distribution partners access to clean, affordable energy. The PAYGo solar home systems are financed through affordable installments from $0.19 per 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, Cote d’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.

www.engie-energyaccess.com

Job Purpose/Mission

We are looking for a full-stack software engineer to join our digital team and help us to deliver affordable solar power to emerging markets. If you are a passionate python web developer and you want to create real, positive impact with your work, please reach out to us. This position offers a great opportunity to directly contribute to the success of a mission driven company with social and environmental impact. You will work closely with our stakeholders and users in Africa and beyond.

Our small, self-organized, distributed team (Kampala / Berlin / Nairobi) develops the backbone of our operations, which we also provide to other businesses in the PAYGo sector as Software as a Service – see https://paygee.com

Key Responsibilities

  • Participate in the 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.
  • Work close with stakeholders to deliver solutions which fit the needs of the business
  • Participate in Peer-Review, ensuring high quality software solutions with a minimum of bugs and unforeseen side-effects
  • Participate and contribute to architectural discussion on key 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)

Knowledge and skills

Required Skills & Experience:

  • Programming language proficiency in Python and python web frameworks (Django, Flask...)
  • Javascript and typescript proficiency with strong knowledge of Angular JS framework (including angular 1.*) and hands on SPA implementation
  • HTML4/5, CSS3, AJAX, Bootstrap along with strong knowledge of DOM
  • DD in javascript and python
  • Good experience on high availability, observability and structured logging
  • API design to scale in Python (REST, GraphQL,Apollo...)
  • Good knowledge of object relational mappers (and their implementation design patterns), No SQL,PostgreSQL and storage options
  • Appreciation for detailed source code documentation and organized code structuring, experience with git and GitLab based source code management, software deployment pipelines and best practice (CI/CD)
  • Excellent written and verbal communication skills in English

Desired Skills & Experience:

  • 4+ years of experience
  • Strong software engineering and architectural patterns background (MVC, MVP, CQRS, DDD, SOLID, hexagonal, Microservices)
  • Experience creating and maintaining scalable web applications in cloud context: elasticache, distributed task processing, load balancing, containerization, clustering
  • Forward thinking with ability to recognize the impact of technology in business
  • Strong software engineering and architectural patterns background (MVC, MVP, CQRS, DDD, SOLID, hexagonal, Microservices)
  • Knowledge of container orchestration using Kubernetes (and associated tools such as Kops, ksync, telepresence, terraform...), is a strong advantage
  • Server backend management experience (Linux, MySQL, Systemd, Apache, Nginx, etc)
  • Good knowledge of web application security
  • Knowledge of Amazon Web Services (AWS) and its services, such as, but not limited to, EC2 ,RDS, EBS, S3, Lambda function

Qualifications:

  • Bachelors or Masters in a relevant engineering discipline (Computer Engineering, Software Engineering, Computer Science) with at least 3 years of practical experience in software engineering

Language(s):

  • English
  • French is a plus 

We thank all applicants for their interest, however due to the large volume of applications we receive, only shortlisted candidates will be contacted.  

ENGIE is an equal opportunity employer, promoting diversity and committed to creating an inclusive environment for all. All applications are screened based on business needs, job requirements and individual qualifications, without any regard to origin, age, name, sexual identity, orientation or preference, religion, marital status, health, disability, political opinions, union involvement or citizenship. Our differences are our strengths! 

Apply for this Job

* Required
resume chosen  
(File types: pdf, doc, docx, txt, rtf)
cover_letter chosen  
(File types: pdf, doc, docx, txt, rtf)