Job Title: Software Engineering Technical Lead
Organisation: Fenix International
Duty Station: Kampala, Uganda
About Organisation:
Fenix International 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.8 million customers and more than 9 million lives impacted so far, ENGIE Energy Access aims to impact 20 million lives across Africa by 2025.
Job Summary: EEA is seeking a talented, self-motivated tech lead to join the team and help deliver affordable solar power and financial services across Africa. We are seeking a seasoned Ruby on Rails engineer to step into a technical leadership role, driving the architecture and development of scalable web applications. The ideal candidate will possess a strong foundation in software engineering, a passion for writing clean code, and a proven ability to lead teams and make informed architectural decisions. 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.
Key Duties and Responsibilities:
- Define software engineering strategy and architecture with a strong emphasis on Ruby on Rails as a foundational backend framework, 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.
- Stay current with emerging technologies and Rails ecosystem updates to maintain a competitive edge in software capabilities.
- 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
- Represent the technical team or assign someone in stakeholder conversations
- Ensure correct implementation and understanding of business logic
- Effective Incident management and resolution SLA
- Technical debt management especially within Rails codebases
- 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
- Work with engineering manager to put in place a clear performance management framework
- Architectural evolution and tech debt management of:
- Code quality, compliance, and documentation
- System performance at scale, reliability, observability and high availability
- System security
- Maintain a strong focus on application security, including Rails-specific vulnerabilities and mitigation strategies.
Qualifications, Skills and Experience:
- 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 7.2, 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
Experience:
- At least 7 years of relevant experience, of which 2 are in a technical leadership role, with a strong emphasis on Ruby on Rails for backend development.
- Practical and thorough understanding of the various software development methodologies, their application in different contexts and trade-offs. Able to identify and quickly address process gaps
- Proven track record in making sound architectural decisions, especially in Rails-based systems, balancing scalability, maintainability, and performance.
- Experience in resource management, capacity planning and risk management
- Deep and pragmatic knowledge of software architecture patterns, their application context and pitfalls/trad-offs
- Hands-on, senior level competency of full-stack software development using relevant front and backend frameworks
- Entrepreneurial and forward thinking with ability to recognize the impact of technology in business.
- Working knowledge of good practices for computer and data security
- Experience creating and maintaining scalable web/mobile applications in cloud context: distributed task processing, load balancing, containerization, clustering and translating abstract and complex business requirements into software solutions.
- Good experience on high availability, observability and structured logging
- Appreciation for detailed source code documentation and organized code structuring
- Proficiency in CI/CD pipelines, automated testing, and deployment best practices in a Rails environment.
- Excellent knowledge of computer algorithms and solid computer science fundamentals
Fresh Ideas Always welcome!
How to Apply:
All suitably qualified and interested applicants should apply online at the link below.