ENGIE is a leading global energy company that builds its businesses around a model based on responsible growth to take on energy transition challenges. We provide individuals, cities and businesses innovative solutions based on our expertise in 4 key sectors: independent power production, natural gas, renewable energy and energy efficiency services to a low-carbon economy: access to sustainable energy, climate-change mitigation and adaptation and the rational use of resources.
Purpose/Mission
- We are looking for a passionate lead engineer and inspiring manager to shape the evolution of our IOT and telecom integration system as well as line manage a team of 5-7 software engineers. As key member of the digital team, this role will 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.
Tech stack
Here is a summary of some of the tools:
- Web frameworks: Rails, Flask, Django, FastAPI, VueJs, Angular
- Storage: PGSQL, MySQL, Mongo, Cassandra, Redis
- Distributed task: Celery, Sidekiq, RabbitMQ, Kafka
- Integration protocols and frameworks: REST, SOAP, SIP, WebRTC
- Source control: selfhosted for gitlab and CI/CD
- Deployment: Linux, LXC, Docker, Kubernetes
- Domain: Financial, Custom Call centre (VOIP), IOT, SMS, USSD, Mobile Money
- Observability: Prometheus, Graylog, Kibana, Splunk, zabbix
Responsibilities
- Define software engineering strategy and architecture with other leaders, fully responsible for the technical evolution of at least one software product.
- Maintain knowledge on the latest technology trends and tools to ensure EEA software competitiveness.
- Actively participate and understand the ROI of engineering efforts, understand the value creation and the priorities to the business.
- Develop and own complex software that optimally uses resources to best meet customer needs.
- Establishing clarity on business objectives for proper modelling of business processes.
- Represent the technical team or assign someone in stakeholder conversations.
- Ensure correct implementation and understanding of business logic in the team.
- Put efficient development process in place with tools and metrics to stay on top of performance of the team.
- Work closely with Product manager for resource planning and proper estimation
- Ensure agile processes and other best practices are properly implemented.
- Architectural evolution and tech debt management:
- Code quality, compliance, and documentation
- System performance at scale, reliability, observability, and high availability
- System security compliance
- Line management of 5-7 software engineers
- Grow and develop individual software engineers, set goals and evaluate performance.
- Recruit and hire software engineers including interns and freelancers.
- Drive team culture.
- Contract management with external developers in collaboration with Head of Software Engineering.
We believe that great managers:
- Deliver ambitious results: As a high-performing and accountable leader, you create an environment enabling effective action and bold decisions which contribute to successful delivery of results.
- Act with integrity: As an ethical leader you are honest, respectful, objective, and transparent. You create and build upon a foundation of trust and openness.
- Inspire and mentor the team: As an inspirational leader you walk the talk. You empower and coach your team with trust and humility.
- Are accessible: as an accessible leader, you develop and maintain deep connections with stakeholders through approachability and active listening.
- Ensure diversity and inclusion: as an inclusive leader, you ensure diversity and foster a sense of belonging.
Experience and skills
Required Skills:
- Entrepreneurial and forward thinking with ability to recognize the impact of technology in business.
- Working knowledge of good practices for computer and data security
- At least 6 years of relevant experience, with 2 years of leading a software team of size 4-7.
- Experience creating and maintaining scalable web applications in cloud context: distributed task processing, load balancing, containerization, clustering.
- Good experience on high availability, observability, and structured logging
- Web and application server (for python and ruby web apps) management experience (Linux, MySQL, Systemd, Apache, Nginx, etc)
- Appreciation for detailed source code documentation and organized code structuring
- Software deployment pipelines and best practice (CI/CD)
- Excellent knowledge of computer algorithms, operating systems, and solid computer science fundamentals.
- Good written and verbal communication skills in English
Desired Skills:
- 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 containerization and container orchestration is a strong advantage.
- 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.
Qualifications:
- Bachelors or Masters in a relevant engineering discipline (Computer Engineering, Software Engineering, Computer Science)
Language(s):
Method of Application
Signup to view application details.
Signup Now