Bruno Pedro's public notes
SDD for API Design
Today, I put together a few pieces that looked totally disconnected until now.
I was reading some random article about how AI, and in particular the specification-driven development (SDD) methodology, can open software development to non-technical people. The first step of SDD is to define the specification of the software that you want to develop. (1)“This isn’t about technical stacks or app design. It’s about user journeys, experiences, and what success looks like,” wrote Den Delimarsky in September 2025 (see Spec-driven development with AI: Get started with a new open source toolkit). In October 2025, Birgitta Böckeler added that “a spec is a structured, behavior-oriented artifact (…) written in natural language that expresses software functionality” (see Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl). Who has better knowledge of what should be built than someone who has expertise in their area of work?
I immediately thought about the kinds of profiles that thrive in an AI-oriented world and job market. Expert generalists, or T-shaped professionals, are probably going to rule this AI wave. (2)“We’ve observed that Expert Generalist capabilities are considerably more valuable with these LLMs,” wrote Martin Fowler et. al. in July 2025 (see Expert Generalists). There’s no room or time for specialists. Why? Because writing code is cheap. (3)“Coding agents dramatically drop the cost of typing code into the computer,” wrote Simon Willison in February 2026 (see Writing code is cheap now). Translating is cheap. Building things is cheap. You know what isn’t cheap? Understanding what to build and understanding why you should build it. (4)“The ability to define what needs to exist is becoming the scarcest and most valuable skill in any organization,” wrote Ivan Misic in May 2026 (see When AI Makes Building Cheap, Knowing What to Build Becomes Everything). That’s something an expert generalist can do better than a specialist.
And then I thought that SDD can be used by expert generalists to design and build APIs. APIs that really make sense and offer value to consumers. Expert generalists have the knowledge of their area of expertise and are generalist enough to understand what API operations they should build.