African Management Institute

African Management Institute

·14 days ago

Senior software engineer

Apply now

Location

hybrid, Nairobi, Kenya

Commitment

Full Time

Level

Senior (5+ years)

Required skills

ElixirPhoenixLiveViewEctoPostgreSQLTypeScriptReactPythonData engineeringPrompt engineeringRAGCloud platformsTechnical leadershipSystem architectureMachine learning integrationAPI development

Job 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.
  • Elixir and Phoenix: strong hands-on experience including Phoenix LiveView. This role works on an existing production Elixir/Phoenix codebase from day one; a solid full-stack background is expected.
  • Solid working experience with PostgreSQL (schema design, query performance, migrations) and comfort with an ORM/query layer (Ecto is the layer used in this codebase).
  • Proficient in TypeScript / React for frontend work, and 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. Formal machine-learning-engineering expertise is not required; practical experience integrating AI into a product is.
  • 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, showing ownership across full product life cycles.
  • Clear communicator who works comfortably with non-technical colleagues across program, content, and leadership teams.
  • Proactive and ownership-driven: identifies problems, takes initiative, and follows through without waiting to be directed.
  • Deeper hands-on experience with Elixir/Phoenix, LiveView, and Ecto.
  • Background designing and running rigorous experiments using SQL, Python, or R, and translating results into clear product recommendations.
  • Experience with background job processing frameworks (e.g. Oban), Phoenix Channels or building multi-tenant SaaS platforms.
  • Experience in ed-tech, learning technology, the social sector, or emerging markets.

Benefits

Why join us:

  • A high-impact, diverse and ambitious team with common values:
  • Be the best: We work really hard, are proud of what we do, and love delighting our clients with quality.
  • Own it: We step up to the task, never pass the buck and hold ourselves accountable for delivering results.
  • Push the limits: We ask why, embrace failure and try new things. We never settle.
  • Do what’s right: We act with integrity, confront dishonesty, treat people fairly and strive to contribute to the greater good.
  • Always care: We don’t have ego – it’s always ‘team before me’. We are kind, we celebrate each other’s success, and we care enough to give honest feedback.
  • A dynamic office & team life.
  • Regular learning and coaching opportunities.
  • A hybrid working model.

Ready to join the team?

Apply now