Building Bridges: From Developer to Developer Advocate • David Edoh-Bedi & James Beswick

David Edoh-Bedi, a Developer Advocate at Stripe, shares his journey from growing up in Togo to working on large-scale systems like Windows at Microsoft and eventually transitioning into developer relations. The conversation covers the essential skills for DevRel, the hidden complexities of global payment systems, and the evolution of software development from libraries to API-centric architectures.

5 min read
Building Bridges: From Developer to Developer Advocate • David Edoh-Bedi & James Beswick
source: https://www.youtube.com/watch?v=1T3w7UxeNMo

From Early Curiosity to Large-Scale Engineering

David Edoh-Bedi’s journey into technology began in Togo, West Africa, sparked by a fascination with electronics and programming a TI-89 calculator in high school to solve math problems. This early interest led him to pursue computer engineering at Iowa State University, where his first language was C++.

A significant challenge was bridging the knowledge gap with peers who had prior computer science education. However, his transition from academia to the professional world at Microsoft, working on the Windows operating system, presented a new level of complexity. He moved from self-contained academic projects to contributing to a massive, interconnected system with thousands of engineers.

His work on Windows Setup, specifically on in-place upgrades, was a formative experience. It taught him how a single component, like a manifest generation file, fits into a much larger engine responsible for preserving user data and application compatibility during an OS upgrade. This exposed him to the realities of production code and working within a vast ecosystem.

“You go from writing very self-contained programs… to Microsoft where you know I’m working on Windows at the time and at that level, right, it’s more okay you’re building something it is maybe self-contained but it feeds into this bigger project.”

He learned to navigate a complex codebase where different components, like the kernel and the UI, evolved at vastly different paces. This necessitated a deep understanding of version control, branching strategies, and the convergence of multiple development streams. For developers facing similarly massive projects, David’s advice is to “start small” and “break it down to the smallest piece possible,” leaning on experienced mentors to carve out manageable pieces of work.

The Transition to Developer Advocacy

A consistent theme throughout David’s career was a desire to interact with external users. At Microsoft, “OEM tours” to partners like Dell and Toshiba provided valuable perspective on how external teams used their products. This experience highlighted the gap between an internal developer’s focus and an end-user’s real-world challenges.

Seeking more of this interaction, he moved to Stripe as an Integration Engineer, a post-sales role helping enterprise customers integrate Stripe’s services. This position placed him on the “front lines,” dealing directly with customer feedback—both positive and negative. It was a role that required deep empathy and the ability to be seen as an expert across a wide range of products. This experience was a natural precursor to becoming a Developer Advocate.

The Craft of Developer Relations

David identifies several key qualities for a successful Developer Advocate:

  • Empathy: The ability to understand and relate to user frustrations without taking them personally is crucial. A developer using a service like Stripe is trying to achieve a business goal; the service is a means to an end, and any friction can be a significant blocker.
  • Curiosity: The tech industry evolves rapidly, and a natural curiosity is essential for keeping up with new trends and technologies.
  • Community Focus: A genuine enjoyment of meeting other developers, hearing about their projects, and participating in the community is highly energizing and provides invaluable insights.

For developers hesitant about public speaking, he suggests starting small with friendly, internal audiences before moving to larger stages. For handling the infamous “live demo,” his advice is pragmatic: avoid it if possible by using pre-recorded videos, but if you must do one, always have a fallback plan, like a set of slides, in case things go wrong.

The Hidden Complexity of Global Payments

While many developers perceive Stripe as a simple tool for accepting credit card payments, the reality is far more complex. The company’s mission of “growing the GDP of the internet” involves tackling numerous challenges in moving money globally.

  • Diverse Payment Methods: The assumption that credit cards are ubiquitous is a North American bias. In many parts of the world, including Western Europe, bank transfers (like Sofort in Germany and iDEAL in the Netherlands) are dominant.
  • Security and Fraud: Handling payments involves significant risk. Developers who attempt to build their own systems often underestimate the complexity of PCI compliance and the dangers of handling sensitive card data. Furthermore, services like Stripe actively combat threats like “card testing,” where bad actors use a merchant’s site to validate lists of stolen card numbers.
  • Marketplaces and Platforms: Products like Stripe Connect are designed for complex business models like DoorDash or Uber, which involve multi-party transactions. Connect manages the entire lifecycle, including onboarding drivers and riders, performing identity verification, and handling payouts. It can even become a revenue stream for platforms that offer features like “Instant Payouts” for a small fee.

Evolving from Libraries to APIs

The software development landscape has shifted from integrating local libraries and SDKs to composing services through APIs. For developers learning to work with a new API, David suggests treating it as a “black box” initially—focusing on the inputs and outputs required to achieve a goal.

For deeper understanding, open-source projects provide a great way to explore the inner workings. He also emphasizes the importance of tools for testing and observability. Postman is a go-to for REST API testing, while observability tools like Stripe Workbench are critical for debugging issues in a distributed system by providing a complete view of an object’s journey through the payment process. This holistic view is essential for quickly diagnosing problems that span across multiple services.

Share post

Stay In The Loop! Subscribe to Our Newsletter.

Get updates straight to your inbox. No spam, just useful content.

Recommended for You

12-factor Agents - Patterns of reliable LLM applications // Dexter Horthy

12-factor Agents - Patterns of reliable LLM applications // Dexter Horthy

Drawing from conversations with top AI builders, Dex argues that production-grade AI agents are not magical loops but well-architected software. This talk introduces "12-Factor Agents," a methodology centered on "Context Engineering" to build reliable, high-performance LLM-powered applications by applying rigorous software engineering principles.

#define AI Engineer - Greg Brockman, OpenAI (ft. Jensen Huang, NVIDIA)

#define AI Engineer - Greg Brockman, OpenAI (ft. Jensen Huang, NVIDIA)

Greg Brockman discusses his journey from a math enthusiast to a programmer, his early days scaling Stripe, and the core philosophies that drive OpenAI. He covers the critical partnership between research and engineering, the future of coding with agentic systems, and the immense infrastructure and algorithmic challenges on the path to AGI.