Software Engineer

Requisition ID:  24949
Location: 

UG KE NG

Job Title:   

Software Engineer (Python)

Department: 

Digital – Software Engineering

Reporting line: 

Software Engineering Manager

Location:

Kampala

Job Grade:

15

About ENGIE Energy Access

ENGIE Energy Access is the leading Pay-As-You-Go (PAYGo) and mini-grids solutions provider in Africa. The company 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 instalments 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,800 employees, operations in nine countries across Africa (Benin, Côte d’Ivoire, Kenya, Mozambique, Nigeria, Rwanda, Tanzania, Uganda and Zambia), over 1.9 million customers and more than 9 million lives impacted so far, ENGIE Energy Access aims to impact 20 million lives across Africa by 2025.

www.engie-energyaccess.com  

www.linkedin.com/company/engie-africa

           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

  1. 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 ….)
  2. 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.
  3. Develop complex software that optimally uses resources to best meet customer needs.
  4. 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...
  5. Mentor junior engineers and provide technical guidance
  6.  provide support where engineering intervention is required (e.g due to bugs or performance problems, on-call)

Experience and skills 

Required experience:

  • 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 skills:

  • 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

Qualifications:

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

Language(s): 

  • English
  • French is a plus
  •  

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! 

All qualified applicants are encouraged to apply, including minorities and women.

Business Unit:  GBU Flexible Gen & Retail
Division:  Energy Access
Legal Entity:  FENIX INTERNATIONAL UGANDA LIMITED COMPANY
Contract Type:  Permanent
Job Type:  Full - Time
Professional Experience:  Skilled ( >3 experience <15 years)
Education Level:  Bachelor's Degree