African Management Institute
Senior Software Engineer
Senior engineer building and evolving AMI's digital learning platform and coach-bot services across Africa. Day to day: Elixir/Phoenix (LiveView, Ecto, PostgreSQL) full-stack work, data pipelines, and LLM/AI features, with team leadership responsibilities.
- Compensation
- Not disclosed
- Location
- Nairobi Area, Kenya
- Work setup
- Hybrid
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 10+ years
- Category
- Software engineering
- Posted
Skills
Must have
- Bachelor's degree in Computer Science, Software Engineering, or related field, or equivalent practical experience
- 10+ years of professional software engineering experience, mostly in a senior or lead capacity on production systems
- Technical leadership: led or mentored engineers, owned end-to-end delivery of significant features or systems, set technical direction
- Strong hands-on Elixir and Phoenix experience including Phoenix LiveView, with a solid full-stack background
- Solid working experience with PostgreSQL (schema design, query performance, migrations) and comfort with an ORM/query layer (Ecto)
- Proficient in TypeScript / React for frontend, comfortable in Python for data pipelines and coach-bot services
- AI/LLM familiarity: hands-on with RAG, prompt engineering, or shipping AI-powered product features
- Strong data engineering skills: integrating diverse sources and building reliable pipelines
- Experience with cloud platforms (AWS, GCP, or Azure)
- Career track record: longer-term engagements at product- or tech-driven companies with full product life-cycle ownership
- Clear communicator, comfortable working with non-technical colleagues
- Proactive and ownership-driven: identifies problems, takes initiative, follows through
Nice to have
- Deeper hands-on experience with Elixir/Phoenix, LiveView, and Ecto
- Background designing and running rigorous experiments using SQL, Python, or R
- Experience with background job processing frameworks (e.g. Oban), Phoenix Channels, or multi-tenant SaaS platforms
- Experience in ed-tech, learning technology, the social sector, or emerging markets
Full description
AMI is looking for a Senior Software Engineer to build, extend, and evolve the technical infrastructure powering AMI’s digital learning platform and coach bot services across Africa. This is a senior role with team leadership responsibilities, working on an established production codebase serving hundreds of thousands of learners.
**KEY RESPONSIBILITIES
Learning Platform & Content Delivery**
- Build, extend, and evolve AMI’s core learning platform, currently an Elixir/Phoenix umbrella application (LiveView, Ecto, PostgreSQL), serving entrepreneurs, company employees, and young people across AMI’s program portfolio.
- Work across the platform’s web, moderator/admin, and API surfaces, extending existing services and adding new ones as program requirements evolve.
- Work closely with the Learning and Content teams to translate program requirements into robust, scalable technical solutions.
- Create internal tools that let product and program teams design and run experiments across digital services (testing content type, delivery schedule, and participant nudges) and surface clear insights.
Data Infrastructure & Engineering
- Design and maintain data pipelines integrating diverse sources (application forms, surveys, platform events, and third-party tools) into a unified, reliable data layer.
- Instrument the platform to support rigorous measurement of program effectiveness, enabling data-driven improvement across services.
- Propose, design, and run experiments with clear hypotheses and measurable outcomes, translating results into actionable product recommendations.
Coach Bot & AI Features
- Link pre-programme data (application forms, participant surveys) with platform data to give the coach bot a complete, contextual view of each participant, reducing repetitive data collection and enabling personalized coaching from day one.
- Contribute to coach bot features (prompt engineering, conversation design, and AI-powered personalization of nudges, content, and scheduling) in collaboration with the coach bot service team.
- Integrate LLM capabilities (RAG, fine-tuning, or AI-powered features) into the learning platform to improve coaching quality and participant outcomes.
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
- 10+ years of professional software engineering experience at a tech or product-driven company, with most of that time in a senior or lead capacity on production systems.
- Technical leadership: has led or mentored other engineers, owned delivery of significant features or systems end-to-end, and set technical direction within a team.