Software Engineer (Rails) at ENGIE Energy Access

  • job_location
  • Anywhere
  • Posted 2 months ago
  • Company: ENGIE Energy Access
  • Location: Uganda
  • State: Kampala, UG
  • Job type: Full-Time
  • Job category: IT/Telecom Jobs in Uganda

Job Description

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.14 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 million customers and more than 5 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 Purpose/Mission 

We are looking for a talented, self-starting full-stack 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. 

This position offers a great opportunity to develop the Backbone of our operations, which we will also sell to other businesses in the Paygo sector as Software as a Service.

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 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)

Required Skills & Experience

  • Bachelors or Masters in a relevant engineering discipline (Computer Engineering, Software Engineering, Computer Science preferred)
  • 2 – 3 years of practical experience in software engineering
  • Programming language proficiency in Ruby and Rails and front-end/javascript frameworks(jQuery, Angular JS, Vue JS)
  • HTML4/5, CSS3, AJAX along with strong knowledge of DOM
  • TDD in Ruby/Rails
  • Experience creating and maintaining scalable web applications: Background Jobs, Event Queues, Containerization, Linux
  • Experience on high availability, observability and structured logging
  • API design to scale in Ruby (REST, Graphql, …)
  • Good knowledge of Databases (Mysql) and object relational mappers (ActiveRecord) and their implementation design patterns
  • Appreciation for detailed source code documentation and organized code structuring
  • Software deployment pipelines and best practice (CI/CD)
  • Excellent knowledge of computer algorithms and solid computer science fundamentals
  • Excellent written and verbal communication skills in English

Desired Skills & Experience

  • 4+ years of experience
  • 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 key components and dependencies used in current system: ActiveAdmin, Grape, Sidekiq, Rspec, Searchd
  • 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 functions
  • Working knowledge of good practices for computer and data security
  • Experience with git and GitLab based source code management

How To Apply

Submit your CV and Application on Company Website : Click Here

Closing Date : 25 April. 2021

Get Job Notification In Your Inbox