Software Engineer (Cloud Native) At Engie

Details of the offer

Job Purpose/Mission
EEA is looking for a talented, self-starting senior Software Engineer (cloud native) to join the team to help deliver affordable solar power and financial services across Africa. 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 and lead the evolution of at least one of our software products.

Responsibilities
Define software engineering strategy and architecture with other leaders, fully responsible for the technical evolution of at least one software product, responsible for the entire software development lifecycle (SDLC) from ideation to deployment
Implement and optimize microservices and RESTful APIs to ensure scalability and ease of integration for cloud-based applications.
Architect and implement solutions that cater to multi-tenant environments, ensuring tenant isolation, efficient resource utilization, and data security.
Develop scalable data partitioning and tenant onboarding solutions to manage multiple tenants seamlessly while maintaining high performance.
Ensure proper configuration and management of tenant-level security, quotas, and SLAs.
Develop and deploy applications using Docker containers to ensure consistency across multiple environments (development, staging, production).
Use Kubernetes to orchestrate containerized workloads, enabling horizontal scaling, high availability, and automated deployments in multi-tenant architectures.
Manage and optimize Kubernetes clusters for tenant-aware scaling, load balancing, and service discovery.
Build and maintain fully automated CI/CD pipelines (using tools like Jenkins, GitLab CI, or CircleCI) to enable continuous integration and continuous deployment across multiple environments.
Integrate automated testing, including unit, integration, and end-to-end tests into CI/CD pipelines to ensure early detection of issues and smooth rollouts.
Implement blue-green deployments, canary releases, and other progressive delivery techniques to reduce downtime and minimize risks during deployments in multi-tenant setups.
Design, implement, and manage cloud infrastructure using AWS, Google Cloud, or Azure, ensuring the infrastructure supports the demands of multi-tenant applications.
Implement infrastructure as code (IaC) using tools like Terraform or AWS CloudFormation to automate provisioning and scaling of infrastructure.
Ensure that the cloud environment is configured for cost-efficiency, elasticity, and fault tolerance while maintaining strict adherence to security and compliance standards.
Implement and manage monitoring and alerting systems (using tools like Prometheus, Grafana, Datadog, or New Relic) to track application performance, usage, and tenant-specific metrics.
Proactively monitor and troubleshoot production issues, ensuring high availability and uptime for multi-tenant applications.
Conduct root cause analysis on system failures or performance degradation and implement necessary optimizations or patches.
Continuously optimize application performance to support the scalability demands of multiple tenants, ensuring low latency and high throughput.
Collaborate with cross-functional teams, including DevOps, product management, QA, and other software engineers, to align on requirements, technical specifications, and deliverables.
Participate in code reviews and provide constructive feedback to peers to improve overall code quality and team productivity.
Stay up-to-date with the latest trends and technologies in cloud-native development, containerization, Kubernetes, and multi-tenant architecture.

Knowledge And Skills
Experience:
5+ years of experience as a software engineer with a focus on cloud-native development.
Proficiency in Python and Ruby web frameworks (e.g., Django, Flask, Ruby on Rails, Sinatra).
Strong experience with Docker and Kubernetes for container orchestration in production environments.
Experience building and maintaining CI/CD pipelines in a multi-tenant architecture.
Strong knowledge of RESTful APIs, microservices architecture, and distributed systems.
Cloud Platforms: Expertise in AWS, Google Cloud, or Azure, including services like EC2, Lambda, S3, RDS, etc.
Version Control: Proficiency in Git and branching strategies for multi-tenant development.
Infrastructure as Code (IaC): Experience with Terraform, AWS CloudFormation, or similar tools.
Testing: Proficiency in automated testing frameworks (e.g., RSpec for Ruby, PyTest for Python) and integrating them into CI/CD pipelines.
Monitoring: Experience with application performance monitoring (APM) tools (e.g., Prometheus, Datadog, New Relic).
Strong problem-solving and analytical skills, with a passion for building scalable and reliable systems.
Excellent written and verbal communication skills, with the ability to collaborate effectively across cross-functional teams.
Ability to work in a fast-paced, agile development environment.

Nice to Have
Experience with multi-tenant architecture in a SaaS environment.
Familiarity with serverless architectures (e.g., AWS Lambda, Google Cloud Functions).
Knowledge of GraphQL APIs and their integration with multi-tenant systems.
Understanding of security best practices in cloud-native applications, including IAM roles, data encryption, and secrets management

Qualifications:
Bachelors or Masters in a relevant engineering discipline (Computer Engineering, Software Engineering, Computer Science preferred) or comparable

Language(s):
English
French is a plus

Our Technology stack:
Web framework: Rails 5 , Django, flask, fastapi
Mobile: Android Kotlin/Java
Background task: Sidekiq , Celery, RabbitMQ
Front-end: ActiveAdmin, VueJS, Angular
API: Grape, Devise , DRF, FastApi
TDD: RSpec , PyTest
Search: Thinking Sphinx
Storage: MySQL, Mongo, Cassandra, Redis
Source Control: Gitlab selfhosted for git and CI/CD
Deployment: Capistrano, Ansible
Fresh Ideas Always welcome!


Nominal Salary: To be agreed

Source: Myjobmag_Co

Requirements

Lead Qa Tester At Nathan Digital

Job Summary: We are seeking an experienced and detail-oriented Lead QA for our ERP system to ensure high-quality standards and operational excellence across...


Han Digital - Nairobi Area

Published a month ago

Security Operations Center (Soc) (Analyst) At Gulf African Bank

Job Purpose: To be part of a team conducting 24/7 security monitoring of the Bank's network, and systems, responding to alerts, conducting security assessmen...


Gulf African Bank - Nairobi Area

Published a month ago

Digital And Innovations Specialist At World Vision Kenya

The Role: The Digital Innovations Specialist will drive the adoption and implementation of advanced digital technologies within the organization. This role f...


World Vision Kenya - Nairobi Area

Published a month ago

Regional Ict Manager At Norwegian Refugee Council

More About the Role. The purpose of the Regional ICT Manager position is to support the country offices in implementation of ICT strategy, standardizing and ...


Norwegian Refugee Council - Nairobi Area

Published a month ago

Built at: 2024-11-24T20:09:58.348Z