← All speakers

Bio, Work & Ideas

Marlene Mhangami

Conference affiliation: Microsoft · 2026

Marlene Mhangami is a Zimbabwean software engineer and senior developer advocate at Microsoft and GitHub focused on Python, artificial intelligence, and developer tools. She co-founded ZimboPy, helped organize the inaugural PyCon Africa, and served as vice chair of the Python Software Foundation before turning her attention to data infrastructure and the reliability of AI-assisted software development.

Mhangami studied molecular biology in the United States before learning Python through community-led programming initiatives in Harare. In 2017, she co-founded ZimboPy to help Zimbabwean girls and young women learn programming, build projects, and connect with professional mentors. She also helped lead Purple Lipstick, a Zimbabwean nonprofit supporting opportunities for young women. Her account of discovering Python connects her early technical interests with unequal access to education and professional networks.

She joined the Python Software Foundation board in 2017, worked on communications and translation initiatives, and advocated for educational resources accessible beyond the United States and in places with unreliable internet connections. She chaired the first PyCon Africa, held in Accra in 2019, and subsequently served as Python Software Foundation vice chair during the 2020–2021 and 2021–2022 terms. She also serves as co-chair of the Association for Computing Machinery’s Practitioner Board.

At Voltron Data, Mhangami worked on developer advocacy around data infrastructure, contributed to Apache Arrow, and explained how Ibis lets Python developers query different database backends without unnecessarily loading datasets into local memory. In March 2024, she joined Microsoft as an Azure developer advocate focused on Python and AI and moved to London. Her subsequent work spans Microsoft and GitHub developer tools, coding agents, and interactive AI applications.

What she argues for

  • Maintainability over AI-generated code volume. Mhangami rejects commits, pull requests, and code coverage as sufficient measures of productivity. Coding agents amplify existing conditions: clear documentation, modular architecture, meaningful tests, and deliberate refactoring make them useful; poorly maintained codebases accumulate additional complexity.
  • Behavior-driven testing for coding agents. She favors starting with a customer-facing feature, generating a failing test for observable behavior, letting an agent implement the feature, and reserving human attention for review and refactoring. Her Playwright and GitHub Copilot demonstration tests storefront search, product categories, and price filters. She recommends committing a clean baseline before agent-driven changes and attaching browser-test screenshots to pull requests.
  • Interactive MCP applications. Mhangami advocates replacing text-only agent responses with interfaces users can manipulate inside tools such as Visual Studio Code. Her explanation of MCP app architecture describes servers returning UI resources, hosts rendering them inside sandboxed iframes, and established server registries reducing discovery risks.
  • Iterative deep-research agents. As content owner of a Microsoft Build workshop on research agents, she helped develop a workflow combining reasoning models, web search, LangGraph, reflection, and repeated investigation of unresolved questions before producing a final report.

Read the topics behind these talks

2 conference talks

Key ideas

Scroll to read ↓

As agents generate more code, behavioral tests provide a stable target: make the feature work, then improve its implementation without breaking what users can do.

  • More commits, but more productivity?
    0:17 ↗
  • Rework can consume the gains
    2:30 ↗
  • Separate behavior from implementation quality
    4:41 ↗
  • A green suite can still test the wrong thing
    6:07 ↗
  • Express the requirement as a browser interaction
    8:09 ↗
  • Connect the coding agent to the browser
    10:12 ↗
  • Turn the Tailspin Toys request into failing tests
    11:44 ↗
  • Watch search and filters work
    14:30 ↗
  • Make results reviewable and changes recoverable
    16:09 ↗
  • Stateful applications, screen sizes and native apps
    17:38 ↗

Key ideas

Scroll to read ↓

Follow a text-only diagram request toward an interactive chat UI, then trace a Go profiling app through its MCP tool, HTML resource, React frontend, and sandboxed host.

  • What would it take to put an interface inside chat?
    0:15 ↗
  • From diagram text to an editable diagram
    3:10 ↗
  • The host turns a resource into an interface
    5:15 ↗
  • Where clicking beats another prompt
    6:34 ↗
  • Build a tool, a resource, and the link between them
    9:46 ↗
  • Turn a Go workload into profiling data
    11:31 ↗
  • Inspect the result inside Copilot chat
    13:06 ↗
  • Keep the interface useful and contained
    14:21 ↗

References