﻿<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Pragmatic API Substack]]></title><description><![CDATA[Uncover the latest insights, expert tips, and real-world success stories in the world of APIs with our Pragmatic API newsletter. Stay ahead of the curve and level UP your APIs with practical advice from industry leaders.]]></description><link>https://pragmaticapi.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!VOqz!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4ebba5-638c-4974-8d17-56eca466e786_500x500.jpeg</url><title>Pragmatic API Substack</title><link>https://pragmaticapi.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 11 Aug 2026 21:24:21 GMT</lastBuildDate><atom:link href="https://pragmaticapi.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Samir AMZANI]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[pragmaticapi@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[pragmaticapi@substack.com]]></itunes:email><itunes:name><![CDATA[Samir AMZANI]]></itunes:name></itunes:owner><itunes:author><![CDATA[Samir AMZANI]]></itunes:author><googleplay:owner><![CDATA[pragmaticapi@substack.com]]></googleplay:owner><googleplay:email><![CDATA[pragmaticapi@substack.com]]></googleplay:email><googleplay:author><![CDATA[Samir AMZANI]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How the Bowling Alley Framework Can Help You Design Better APIs]]></title><description><![CDATA[A Strategic Approach to Aligning API Design with API users goals]]></description><link>https://pragmaticapi.substack.com/p/how-the-bowling-alley-framework-can</link><guid isPermaLink="false">https://pragmaticapi.substack.com/p/how-the-bowling-alley-framework-can</guid><dc:creator><![CDATA[Samir AMZANI]]></dc:creator><pubDate>Sun, 26 Jan 2025 22:32:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Qo0R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>APIs are the lifeblood of modern software, but getting API design right is far from easy. Too often, APIs fail to consider the diverse needs of their users&#8212;particularly the full range of developer profiles. The result? Novice developers struggle with onboarding, while advanced developers feel constrained by rigid designs that don't accommodate their specific jobs-to-be-done (JBT). Moreover, with the emergence of AI agents we must now design for non-human consumers alongside typical human developers. Enter the Bowling Alley framework, a framework developed in the product onboarding space that strikes a balance between ease of use and flexibility.</p><div><hr></div><p>Let&#8217;s dive into the <strong>Bowling Alley framework</strong> to discover how it can inspire better API design by addressing the diverse needs of developers, crafting thoughtful and intuitive error handling, and emphasizing a minimal API surface area for seamless integration.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Pragmatic API Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qo0R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qo0R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!Qo0R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!Qo0R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!Qo0R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qo0R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:637614,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Qo0R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!Qo0R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!Qo0R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!Qo0R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867bd5f4-8a1b-4bf4-97a3-998a7622ce81_1792x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>What&#8217;s the Bowling Alley Framework?</h2><p>The <a href="https://productled.com/blog/user-adoption-framework-bowling-alley">Bowling Alley framework</a> takes inspiration from the bowling experience&#8212;a game designed for players of all skill levels. In bowling, you have:</p><ul><li><p><strong>Straight lanes</strong>: The path toward the pins that everyone is aiming for.</p></li><li><p><strong>Bumpers</strong>: Safety features for beginners to keep their ball from falling into the gutter.</p></li><li><p><strong>Smooth lane surfaces</strong>: Ensuring consistency so the ball rolls predictably.</p></li><li><p><strong>Guide rails</strong>: Subtle markers to help players stay on track without overbearing restrictions.</p></li><li><p><strong>Bowling aids</strong>: Extra tools like ramps for those who need additional support.</p></li></ul><p>This framework translates beautifully to API design, where your goal is to create an experience that caters to all users, from novices to experts, while maintaining a clean, robust foundation. Additionally, the Bowling Alley framework has been effectively used in <strong>product onboarding</strong> to guide users toward achieving desired outcomes efficiently. By applying its principles, businesses can significantly improve user adoption and turn first-time users into loyal customers.</p><h2>Let&#8217;s Apply This to API Design</h2><h3>Straight Lanes: A Clear Path to JBT (Job to be done)</h3><p>Every API has a primary purpose, whether it&#8217;s retrieving data, processing transactions, or managing resources. Your API&#8217;s "straight lane" is its core functionality, and it must be:</p><ul><li><p><strong>Intuitive</strong>: Users should immediately understand what the API does from its design.</p></li><li><p><strong>Well-documented</strong>: Clear examples and use cases provide a direct path for developers to hit their "pins."</p></li><li><p><strong>Consistent</strong>: Maintain predictable behavior across endpoints to reduce cognitive load.</p></li></ul><p>By focusing on these fundamentals, you give your API users a clear target to aim for, no matter their skill level.</p><h3>Bumpers: Onboarding Novice Developers</h3><p>Many API designers put a lot of thought into the "bumpers"&#8212;features that help novice developers avoid failure early on. These can include:</p><ul><li><p><strong>Step-by-step guides</strong>: Tutorials or quickstart guides tailored for beginners.</p></li><li><p><strong>Comprehensive error messages</strong>: Instead of vague errors, provide actionable feedback.</p></li><li><p><strong>Sandbox environments</strong>: Safe spaces for experimentation without impacting production.</p></li></ul><p>While bumpers are crucial, overemphasizing them can lead to APIs that feel inflexible or overly constrained for advanced users. Remember, bumpers should guide without limiting experienced bowlers (or developers) who can play without them.</p><h3>Smooth Lane: Consistency is Key</h3><p>A smooth lane ensures the ball rolls predictably, and in API design, this translates to consistency across:</p><ul><li><p><strong>Naming</strong>: Use standardized naming conventions for endpoints, parameters, and payloads.</p></li><li><p><strong>Predictability</strong>: APIs should handle similar requests in similar ways, without surprises.</p></li><li><p><strong>Error Handling</strong>: Design error responses as part of the core API design. Consider using standardized error codes, detailed messages, and suggestions for resolution.</p></li></ul><p>Consistency builds trust with your developers, ensuring they know what to expect as they work with your API.</p><h3>Guide Rails: Subtle Nudges for Advanced Developers</h3><p>Advanced developers often find APIs frustrating when they feel boxed in. Guide rails, or subtle hints and optional constraints, can help them stay productive without feeling restricted. Examples include:</p><ul><li><p><strong>Query options</strong>: Allow advanced users to retrieve only the data they need, such as through filtering, sorting, or projection.</p></li><li><p><strong>Optionality</strong>: Provide defaults for novices but allow experts to customize their API interactions.</p></li><li><p><strong>Comprehensive reference docs</strong>: Detailed specifications help advanced developers make the most of your API.</p></li></ul><h3>Bowling Aids: Specialized Tools for Unique Needs</h3><p>Not every developer fits neatly into the novice or advanced category&#8212;many have unique needs that require tailored support. Bowling aids in API design can help bridge this gap by providing:</p><ul><li><p><strong><a href="https://www.apideck.com/blog/what-is-an-sdk">SDKs</a> and libraries</strong>: Prebuilt tools to simplify API interaction for popular programming languages.</p></li><li><p><strong>Code samples</strong>: Ready-to-use snippets for common use cases.</p></li><li><p><strong>Dedicated support channels</strong>: Forums or direct access to API experts for guidance.</p></li></ul><p>These aids ensure you&#8217;re meeting developers where they are, regardless of their skill level or specific challenges. For instance, in my article about redefining the <strong><a href="https://www.apideck.com/blog/redefining-our-sdks-developer-experience">Apideck SDKs developer experience</a></strong>, I explored how thoughtful SDK design can significantly enhance usability, providing developers with a smoother integration journey and helping them achieve their goals faster.</p><p>The following image showcase how API design can accommodate developers at different skill levels (Novice, Competent, Proficient, and Advanced) while focusing on the <strong>job to be done (JBT)</strong>. </p><ul><li><p><strong>The lanes</strong> illustrate a path for developers based on their current skill state, ensuring that the API supports each group appropriately.</p></li><li><p><strong>Two bumpers</strong>: The API product bumper and API design bumper to guide API user to their JBT</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J4J7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J4J7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 424w, https://substackcdn.com/image/fetch/$s_!J4J7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 848w, https://substackcdn.com/image/fetch/$s_!J4J7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 1272w, https://substackcdn.com/image/fetch/$s_!J4J7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J4J7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png" width="1456" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1127162,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!J4J7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 424w, https://substackcdn.com/image/fetch/$s_!J4J7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 848w, https://substackcdn.com/image/fetch/$s_!J4J7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 1272w, https://substackcdn.com/image/fetch/$s_!J4J7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffd3f49b-7648-49a9-aac8-21da76929d70_1834x932.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Bowling Alley Framework for APIs.</figcaption></figure></div><p></p><h2>Designing with Minimal Surface Area</h2><p>To achieve API design excellence, your ultimate goal should be to create a straight, streamlined path for developers&#8212;much like a straight line in bowling. This means focusing on API surface area by exposing only the essential features and keeping everything else hidden behind the scenes. This minimalist approach simplifies learning, reduces the likelihood of errors, and minimizes maintenance overhead.</p><p>For instance, one of the <a href="https://github.com/adidas/api-guidelines/blob/master/general-guidelines/minimal-api-surface.md">guidelines</a>  <a href="http://zdne.org/">Z</a> and I implemented some years ago, helped  adidas engineering teams achieve exceptional API design quality. By prioritizing minimal API surface principle, they were able to design APIs centered on core business capabilities while reducing complexity and elevating the <a href="https://pragmaticapi.substack.com/p/how-to-build-an-awesome-developer">developer experience</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JUI1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JUI1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 424w, https://substackcdn.com/image/fetch/$s_!JUI1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 848w, https://substackcdn.com/image/fetch/$s_!JUI1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 1272w, https://substackcdn.com/image/fetch/$s_!JUI1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JUI1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png" width="1456" height="325" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:325,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118731,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JUI1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 424w, https://substackcdn.com/image/fetch/$s_!JUI1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 848w, https://substackcdn.com/image/fetch/$s_!JUI1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 1272w, https://substackcdn.com/image/fetch/$s_!JUI1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5feecbe-534a-41e1-a9f4-11e9316a0905_1820x406.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Extract from <a href="https://adidas.gitbook.io/api-guidelines">adidas api guidelines</a></figcaption></figure></div><p></p><p><strong>To achieve minimal surface area:</strong></p><ul><li><p><strong>Start</strong> with the core API use cases and design for them first.  </p></li><li><p><strong>Avoid</strong> adding API endpoints or features that cater to edge cases unless strongly justified.  </p></li><li><p><strong>Use</strong> thoughtful abstractions to simplify complexity.  </p></li></ul><h2>Conclusion</h2><p>The Bowling Alley framework offers a nice mental model to designing APIs that cater to diverse developer profiles. By focusing on straight lanes, onboarding bumpers, smooth surfaces, subtle guide rails, and optional aids, you can create APIs that are both beginner-friendly and flexible enough for advanced users. Remember to design with minimal surface area in mind and integrate error handling as a core part of the process, not an afterthought.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Pragmatic API Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[API Trends for 2025: The Evolution of a Thriving Ecosystem]]></title><description><![CDATA[As we step into 2025, APIs are poised to drive the next wave of innovation across industries.]]></description><link>https://pragmaticapi.substack.com/p/api-trends-for-2025-the-evolution</link><guid isPermaLink="false">https://pragmaticapi.substack.com/p/api-trends-for-2025-the-evolution</guid><dc:creator><![CDATA[Samir AMZANI]]></dc:creator><pubDate>Fri, 17 Jan 2025 11:46:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IqkO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As we step into 2025, APIs are poised to drive the next wave of innovation across industries. The insights from the <strong><a href="https://voyager.postman.com/doc/postman-state-of-the-api-report-2024.pdf?deviceId=6a6bae29-b419-4b82-9342-fc68443c63ca">2024 Postman State of the API Report</a></strong>, combined with evolving technological advancements, highlight several transformative trends reshaping how APIs are built, consumed, and managed. Let&#8217;s delve deeper into the trends shaping the API landscape.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IqkO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IqkO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!IqkO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!IqkO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!IqkO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IqkO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:375396,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IqkO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!IqkO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!IqkO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!IqkO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf35d456-1e57-46a3-a435-b5b04e5c6dd7_1792x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Pragmatic API Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h4><strong>1. Proliferation of APIs with Decreasing Costs</strong></h4><p>The demand for APIs continues to surge as organizations increasingly view them as critical enablers of innovation and efficiency. Notably, <strong>63% of developers now produce APIs within a week</strong>, a dramatic increase from 47% in 2023, signaling a shift toward faster production cycles driven by advanced tooling and streamlined processes.</p><ul><li><p><strong>Reduced Barriers</strong>: The availability of low-code and no-code platforms, along with robust API design tools, has democratized API creation. This enables even non-technical stakeholders to contribute to API development, further reducing costs.</p></li><li><p><strong>Business Impact</strong>: Companies are leveraging APIs to scale operations rapidly. For instance, APIs now drive over <strong>75% of total revenue for 21% of organizations</strong>, making them indispensable assets.</p></li><li><p><strong>Global Growth</strong>: API usage is expanding globally, with developers from 266 countries contributing to the ecosystem. Emerging markets are becoming hubs for innovative API solutions.</p></li></ul><div><hr></div><h4><strong>2. AI-Powered API Management</strong></h4><p>Artificial intelligence is revolutionizing how APIs are managed, from creation to consumption. AI-Powered tools demonstrate the transformative potential of AI by automating tasks such as generating comprehensive documentation, analyzing API usage patterns, and identifying performance bottlenecks.</p><ul><li><p><strong>Real-Time Insights</strong>: AI enables continuous monitoring and predictive analytics, allowing teams to anticipate failures and optimize performance proactively.</p></li><li><p><strong>Enhanced Governance</strong>: AI-driven governance ensures compliance with industry standards while reducing manual oversight. Automated checks for security vulnerabilities, deprecated endpoints, and adherence to design principles are now integrated into the development lifecycle.</p></li><li><p><strong>Future Direction</strong>: Expect AI to play a larger role in API security, using behavioral analysis to detect and mitigate cyberattacks before they occur.</p></li></ul><div><hr></div><h4><strong>3. Redefining API Consumption with API Agents</strong></h4><p>API agents represent a significant paradigm shift in how APIs are consumed. Unlike traditional consumers&#8212;primarily human developers&#8212;API agents are autonomous systems designed to interact with APIs programmatically, executing tasks with minimal human intervention.</p><ul><li><p><strong>Design Considerations</strong>: API providers must now focus on creating APIs that are optimized for machine-to-machine interactions. This includes:</p><ul><li><p><strong>Structured Responses</strong>: Consistent and predictable data formats to reduce processing overhead for agents. </p></li><li><p><strong>Error Handling</strong>: Clear and actionable error messages to allow agents to recover gracefully.</p></li><li><p><strong>Performance</strong>: Low-latency APIs to support real-time agent operations.</p></li></ul></li><li><p><strong>New Use Cases</strong>: </p><ul><li><p>API agents are powering applications like intelligent supply chain management, automated trading systems, and IoT ecosystems, where rapid, autonomous decision-making is critical.</p></li></ul></li></ul><div><hr></div><h4><strong>4. The Rise of SDKs as the New Interface</strong></h4><p>SDKs are emerging as the primary layer for abstracting API complexities and providing an enhanced developer experience. In 2025, SDKs will no longer just simplify API consumption but will become integral to building scalable and maintainable applications.</p><ul><li><p><strong>Developer Empowerment</strong>: SDKs will offer features like AI-assisted debugging, automated code generation, and built-in testing utilities to accelerate development. </p></li><li><p><strong>Customization</strong>: Advanced SDKs will allow developers to tailor API consumption to their specific needs, with features like modular integrations and custom data transformation.</p></li><li><p><strong>Smart SDKs</strong>: We will see more and more advanced usages handled out of the box, like smart API retries, or automatic discovery of API capabilities.  </p></li></ul><div><hr></div><h4><strong>5. Unified APIs to Accelerate Integration</strong></h4><p>Unified APIs like <a href="https://www.apideck.com/">apideck</a> consolidate multiple API functionalities into a single, cohesive interface, enabling faster and more efficient integrations. This approach is becoming increasingly popular as companies prioritize operational efficiency and time-to-market.</p><ul><li><p><strong>Benefits</strong>:</p><ul><li><p><strong>Simplified Integration</strong>: Reduces the need for developers to interact with multiple APIs, lowering the learning curve and maintenance overhead.</p></li><li><p><strong>Faster Onboarding</strong>: Unified APIs provide a consistent experience, enabling teams to integrate new services in days instead of weeks.</p></li></ul></li><li><p><strong>Real-World Impact</strong>: In industries like accounting and e-commerce, Unified APIs are helping companies scale their offerings globally by simplifying partnerships and integrations.</p></li></ul><div><hr></div><h4><strong>6. Shift-Left API Governance</strong></h4><p>Traditional API governance approaches, often implemented late in the development cycle, are giving way to shift-left governance practices. These integrate governance policies directly into the development process, ensuring compliance and consistency from the outset.</p><ul><li><p><strong>Automated Compliance</strong>: Tools like Postman Collections and CI/CD pipelines now enforce design standards, security policies, and versioning practices automatically.</p></li><li><p><strong>Developer-Centric</strong>: By embedding governance into developer workflows, teams can avoid the friction and delays associated with traditional governance models.</p></li><li><p><strong>Broader Adoption</strong>: Organizations adopting shift-left governance report faster production times and fewer API-related issues in production.</p></li></ul><div><hr></div><h4><strong>7. Growth in the API Consumption Ecosystem</strong></h4><p>The API provider space is becoming saturated, but innovation is thriving in the API consumption space. New tools are addressing challenges like <strong>discovery</strong>, <strong>testing</strong>, and <strong>observability</strong>, making it easier for developers to adopt and integrate APIs.</p><ul><li><p><strong>API Hubs</strong>: We will see more platforms centralizing API discovery, enabling developers to explore and test APIs from a single interface.</p></li><li><p><strong>Observability Tools</strong>: Advanced analytics and monitoring tools provide deep insights into API performance and usage, helping teams optimize their integrations.</p></li></ul><div><hr></div><h4><strong>8. Monetization and Strategic Value</strong></h4><p>APIs are transitioning from backend utilities to core business products. The <strong>API-as-a-Product</strong> model is driving significant revenue for organizations, with <strong>62% monetizing their APIs</strong> and many leveraging them to build strategic partnerships.</p><ul><li><p><strong>Subscription Models</strong>: Tiered pricing and value-based subscription plans are becoming standard for monetizing APIs.</p></li><li><p><strong>Partnerships</strong>: APIs are serving as gateways to strategic partnerships, enabling businesses to co-create value and expand their market reach.</p></li><li><p><strong>Ecosystem Expansion</strong>: API monetization strategies are driving the creation of marketplaces and developer communities, further increasing adoption.</p></li></ul><div><hr></div><h3><strong>The Road Ahead: The API-Driven Future</strong></h3><p>In 2025, APIs will be at the heart of every digital transformation strategy, driving agility, scalability, and innovation. As the ecosystem matures, the focus will shift from merely creating APIs to enhancing their usability, governance, and monetization. By aligning with these trends, organizations can unlock new opportunities and remain competitive in an increasingly API-centric world.</p><h3></h3><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Pragmatic API Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How to build an awesome Developer Experience (DX)]]></title><description><![CDATA[Master your developer experience like "Jiro Ono"]]></description><link>https://pragmaticapi.substack.com/p/how-to-build-an-awesome-developer</link><guid isPermaLink="false">https://pragmaticapi.substack.com/p/how-to-build-an-awesome-developer</guid><dc:creator><![CDATA[Samir AMZANI]]></dc:creator><pubDate>Wed, 07 Feb 2024 11:43:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8HNo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve always wondered what makes a developer experience exceptional.</p><p>I&#8217;ve finally found my answer by grasping the significance of &#8216;<em><strong>quality</strong></em>&#8216; in Japanese culture. </p><p><a href="https://zenorocha.com/">Zeno Rocha</a> <a href="https://zenorocha.com/the-two-types-of-quality">describes</a> two kinds of quality : </p><ul><li><p><strong>atarimae hinshitsu (&#24403;&#12383;&#12426;&#21069;&#21697;&#36074;)</strong></p></li><li><p><strong>miryokuteki hinshitsu (&#39749;&#21147;&#30340;&#21697;&#36074;)</strong></p></li></ul><blockquote><p><em><strong>Atarimae hinshitsu</strong></em> is the idea that things should work the way that they are supposed to.</p><p><em><strong>Miryokuteki hinshitsu</strong></em>, on the other hand, is the idea that things should have an aesthetic quality. It's basically the <strong>kind of quality that fascinates you!</strong></p></blockquote><p>Whether you&#8217;ve had the privilege of dining at <a href="https://en.wikipedia.org/wiki/Jiro_Ono_(chef)">Jiro Ono</a>&#8217;s restaurant or have immersed yourself in the &#8216;Jiro Dreams of Sushi&#8216; <a href="https://www.imdb.com/title/tt1772925/">show</a>, you&#8217;ll find this fascination and captivating quality. </p><p><a href="https://en.wikipedia.org/wiki/Roger_Ebert">Roget Ebert</a> captures this essence by concluding: </p><blockquote><p>While watching it, I found myself drawn into the mystery of this man. Are there any unrealized wishes in his life? Secret diversions? Regrets? If you find an occupation you love and spend your entire life working at it, is that enough? Standing behind his counter, Jiro notices things. Some customers are left-handed, some right-handed. That helps determine where they are seated at his counter. As he serves a perfect piece of sushi, he observes it being eaten. He knows the history of that piece of seafood. He knows his staff has recently started massaging an octopus for 45 minutes and not half an hour, for example. Does he search a customer's eyes for a signal that this change has been an improvement? Half an hour of massage was good enough to win three <a href="https://en.wikipedia.org/wiki/Michelin_Guide">Michelin stars</a>. </p><p><a href="https://en.wikipedia.org/wiki/Roger_Ebert">Roget Ebert</a></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8HNo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8HNo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 424w, https://substackcdn.com/image/fetch/$s_!8HNo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 848w, https://substackcdn.com/image/fetch/$s_!8HNo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 1272w, https://substackcdn.com/image/fetch/$s_!8HNo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8HNo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png" width="970" height="656" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:656,&quot;width&quot;:970,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Jiro Ono, il pi&#249; grande maestro di sushi al mondo svela le 9 regole per  mangiare il sushi correttamente | Ultime notizie | Reporter Gourmet S.r.l.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Jiro Ono, il pi&#249; grande maestro di sushi al mondo svela le 9 regole per  mangiare il sushi correttamente | Ultime notizie | Reporter Gourmet S.r.l." title="Jiro Ono, il pi&#249; grande maestro di sushi al mondo svela le 9 regole per  mangiare il sushi correttamente | Ultime notizie | Reporter Gourmet S.r.l." srcset="https://substackcdn.com/image/fetch/$s_!8HNo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 424w, https://substackcdn.com/image/fetch/$s_!8HNo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 848w, https://substackcdn.com/image/fetch/$s_!8HNo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 1272w, https://substackcdn.com/image/fetch/$s_!8HNo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8454967b-f0db-45b4-ba7b-401a35917d9e_970x656.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Master of sushi - Jiro Ono - @reportergourmet</figcaption></figure></div><p>To build this fascinating quality, <a href="https://en.wikipedia.org/wiki/Jiro_Ono_(chef)">Jiro Ono</a> was extremely focused on his customer&#8217;s perceptions.</p><p>Similarly building an <strong>awesome developer experience</strong> means you go beyond the functional part and <strong>focus on your developer&#8217;s perceptions</strong> that trigger their positive emotions (fascination, happiness &#8230;)</p><h2>Understand your developer&#8217;s emotions</h2><p>I believe that understanding the developer&#8217;s emotions and triggers is a great approach to enhancing DX. <em>Abrahamsson</em>, <em>Graziotin</em>, and <em>Wang</em> also confirm this belief as they <a href="https://www.researchgate.net/publication/237048795_Are_Happy_Developers_More_Productive_The_Correlation_of_Affective_States_of_Software_Developers_and_Their_Self-assessed_Productivity">demonstrated</a> an empirical correlation between the Affective States of Software Developers and their self-assessed Productivity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kv0N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kv0N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 424w, https://substackcdn.com/image/fetch/$s_!kv0N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 848w, https://substackcdn.com/image/fetch/$s_!kv0N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!kv0N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kv0N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png" width="1456" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183877,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kv0N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 424w, https://substackcdn.com/image/fetch/$s_!kv0N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 848w, https://substackcdn.com/image/fetch/$s_!kv0N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!kv0N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3a861-4920-4286-a9e1-96d4c5e501b7_1856x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">@ <em>Abrahamsson</em>, <em>Graziotin</em>, and <em>Wang - &#8220;</em>Are Happy Developers More Productive?" </figcaption></figure></div><blockquote><p>For more than thirty years, it has been claimed that software developers are essential when considering how to improve the productivity of development process and the quality of delivered products. However, little research has been done on how human aspects of developers have an impact on software development activities. We echo a call on employing psychometrics in Software Engineering research by studying how the affective states of software developers - emotions, moods, and feelings - have an impact on their programming tasks. </p><p><em><a href="https://www.researchgate.net/publication/237048795_Are_Happy_Developers_More_Productive_The_Correlation_of_Affective_States_of_Software_Developers_and_Their_Self-assessed_Productivity">Abrahamsson</a></em><a href="https://www.researchgate.net/publication/237048795_Are_Happy_Developers_More_Productive_The_Correlation_of_Affective_States_of_Software_Developers_and_Their_Self-assessed_Productivity">, </a><em><a href="https://www.researchgate.net/publication/237048795_Are_Happy_Developers_More_Productive_The_Correlation_of_Affective_States_of_Software_Developers_and_Their_Self-assessed_Productivity">Graziotin</a></em><a href="https://www.researchgate.net/publication/237048795_Are_Happy_Developers_More_Productive_The_Correlation_of_Affective_States_of_Software_Developers_and_Their_Self-assessed_Productivity">, and </a><em><a href="https://www.researchgate.net/publication/237048795_Are_Happy_Developers_More_Productive_The_Correlation_of_Affective_States_of_Software_Developers_and_Their_Self-assessed_Productivity">Wang Paper</a></em></p></blockquote><h4></h4><h2>Re-design your Developer Journey</h2><p>As developers interact with your products and immerse themselves in your environment, they traverse a virtual path that leads them from point A to point B (desired outcome).</p><p>We can recognize two sides within the developer journey path: </p><ol><li><p>How your developers engage with your<strong> environment</strong> (e.g. developer community, team, organization, devRel program&#8230;)</p></li><li><p>How your developers interact with your <strong>systems</strong> to accomplish their tasks (code base, documentation, landing page, tutorials&#8230;)</p></li></ol><p>Your developer intends to reach the destination faster and enjoy the journey by interacting with your environment and systems.</p><p>Every interaction serves as a <strong>step</strong> toward shaping the <strong>perceptions</strong> of your developers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xzqY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xzqY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 424w, https://substackcdn.com/image/fetch/$s_!xzqY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 848w, https://substackcdn.com/image/fetch/$s_!xzqY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 1272w, https://substackcdn.com/image/fetch/$s_!xzqY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xzqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png" width="1322" height="1341" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1341,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91046,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xzqY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 424w, https://substackcdn.com/image/fetch/$s_!xzqY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 848w, https://substackcdn.com/image/fetch/$s_!xzqY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 1272w, https://substackcdn.com/image/fetch/$s_!xzqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1691f673-8ea0-4901-b358-dda094f5f6eb_1322x1341.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Developer Journey </figcaption></figure></div><p><strong>To optimize your DX, you need to focus on re-designing these steps:</strong></p><ol><li><p>Flag each step with a color:</p><ol><li><p><em><strong>Red</strong></em>: Friction felt by developers and prevents them from achieving the desired outcome. (e.g. critical recurrent bugs)</p></li><li><p><em><strong>Amber</strong></em>: Friction that slows down your developers from achieving the desired outcome. (e.g. developers can find some manual workarounds)</p></li><li><p><em><strong>Green</strong>:</em> Zero friction</p></li></ol></li><li><p>Minimize the number of steps</p></li><li><p>Fix the Red and amber steps</p></li></ol><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://pragmaticapi.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p><h2>Divide and conquer your Developer Journey</h2><p>Getting your developer journey right is a challenging task, It entails different stages. The nature and number of stages might be different and tightly coupled with what kind of developers you are targeting, for instance, internal developers will experience different stages than external developers.</p><p>Suppose you're managing an Open Source API or library. Employing a divide-and-conquer strategy involves outlining the essential stages that shape your developers' journey. Typically, three stages will be necessary:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r-56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r-56!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 424w, https://substackcdn.com/image/fetch/$s_!r-56!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 848w, https://substackcdn.com/image/fetch/$s_!r-56!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 1272w, https://substackcdn.com/image/fetch/$s_!r-56!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r-56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png" width="1021" height="593" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:593,&quot;width&quot;:1021,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43632,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r-56!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 424w, https://substackcdn.com/image/fetch/$s_!r-56!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 848w, https://substackcdn.com/image/fetch/$s_!r-56!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 1272w, https://substackcdn.com/image/fetch/$s_!r-56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff1103c-0752-4941-8531-6bdb57b19ca3_1021x593.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Onboarding</strong></p><ul><li><p><strong>Objective</strong>: Reduce the time it takes for developers to get value from your product.</p></li><li><p><strong>Steps</strong></p><ul><li><p>Getting started guides / quick start guides</p></li><li><p>Hands-on tutorials</p></li><li><p>Use-cases</p></li><li><p>Guided tours and checklists</p></li><li><p>&#8230;</p></li></ul></li><li><p><strong>Metrics</strong></p><ul><li><p>Time To First &#8220;Hello world&#8220;</p></li><li><p>Completion rates for setup / interactive tutorial</p></li><li><p>Number of downloads/installations</p></li><li><p>Positive feedback on the onboarding experience (<a href="https://en.wikipedia.org/wiki/Net_promoter_score">NPS</a>)</p></li></ul></li></ul></li><li><p><strong>Adoption</strong></p><ul><li><p><strong>Objective</strong>: Reduce friction and build trust with your developers</p></li><li><p><strong>Steps</strong></p><ul><li><p>Documentation</p></li><li><p>Sandbox / Playground</p></li><li><p>Debug / Error management</p></li><li><p>Changelog</p></li><li><p>Support</p></li><li><p>Webinars / Events</p></li><li><p>&#8230;</p></li></ul></li><li><p><strong>Metrics</strong></p><ul><li><p>Active product usage</p></li><li><p>Number of created assets (e.g APIs created)</p></li><li><p>The time it takes a user to fix an error</p></li><li><p>Positive feedback on the onboarding experience (<a href="https://en.wikipedia.org/wiki/Net_promoter_score">NPS</a>)</p></li></ul></li></ul></li><li><p><strong>Contribution</strong></p><ul><li><p><strong>Objective</strong>: Increase the number of active contributors and maintainers</p></li><li><p><strong>Steps</strong></p><ul><li><p>Documentation</p></li><li><p>Contributors and maintainers mentorship program</p></li><li><p>Ambassador program</p></li><li><p>Webinars / Events</p></li><li><p>&#8230;</p></li></ul></li><li><p><strong>Metrics</strong></p><ul><li><p>Time to <a href="https://github.com/asyncapi/studio/issues/802">first PR review</a></p></li><li><p>Number of active contributors/maintainers</p></li></ul></li></ul></li></ul><p></p><p></p><div><hr></div><h2>Wrap up</h2><p>By embracing the principles of quality, understanding the developer&#8217;s emotional aspects, and strategically redesigning the developer journey, you can create an exceptional developer experience that fosters fascination, happiness, and productivity.</p><p>In the following <a href="https://www.youtube.com/watch?v=28UXKe4lEEg">video</a>, Jiro and his son share the secrets of applying these principles to make the best sushi in the world.</p><div id="youtube2-28UXKe4lEEg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;28UXKe4lEEg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/28UXKe4lEEg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>&#128073;&nbsp;If this post prompts you to reach for your chopsticks, feel free to share it! Or click the &#10084;&#65039; button on this post so more people can discover it on Substack &#128591;</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Scaling your API practice in 2024]]></title><description><![CDATA[4 Core questions to ask to help you be an API First leader]]></description><link>https://pragmaticapi.substack.com/p/scaling-your-api-practice-in-2024</link><guid isPermaLink="false">https://pragmaticapi.substack.com/p/scaling-your-api-practice-in-2024</guid><dc:creator><![CDATA[Samir AMZANI]]></dc:creator><pubDate>Wed, 17 Jan 2024 16:58:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bIUv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>This post is part of <a href="https://matthewreinbold.github.io/APIFutures/index.html">APIFutures</a>, a community-led, collaborative effort to identify the top challenges and opportunities facing the API economy in 2024.</em></p></blockquote><p>In the past decade, I&#8217;ve witnessed APIs evolving from point-to-point integration to sophisticated API products while supporting different organizations in scaling their API practices.</p><p>Six years ago, I was leading the API transformation at Adidas as a way to kill 6000 point-to-point legacy integration interfaces. That was like fighting a multi-headed dragon.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bIUv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bIUv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 424w, https://substackcdn.com/image/fetch/$s_!bIUv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 848w, https://substackcdn.com/image/fetch/$s_!bIUv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 1272w, https://substackcdn.com/image/fetch/$s_!bIUv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bIUv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bIUv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 424w, https://substackcdn.com/image/fetch/$s_!bIUv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 848w, https://substackcdn.com/image/fetch/$s_!bIUv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 1272w, https://substackcdn.com/image/fetch/$s_!bIUv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27fd4096-91e8-4178-a7cd-d3a3cd904047_1456x820.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adidas point-to-point integration interfaces</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://pragmaticapi.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>We&#8217;ve learned that killing 70 years of Adidas integration legacy is tough and we decided to make building APIs faster and cheaper than point-to-point integration interfaces. I&#8217;ve learned as well that scaling APIs is more about how you build a system where API users can break rote habits.</p><blockquote><p>&#8220;A worker is asked: &#8220;Why did you do it this way ?&#8221; The answer, &#8220;Because that&#8217;s the way we&#8217;ve always done things&#8221; The answer frustrates every good boss and sets the mouth of every entrepreneur watering. The worker has stopped thinking and is mindlessly operating out of habit&#8221; <strong>Rayan Holiday</strong></p></blockquote><p><strong>To scale your APIs you need to ask four core questions consistently.</strong></p><div><hr></div><h2>Have you established a sense of urgency?</h2><p>Do you remember the collapse of Blockbuster (once valued at $4.8 billion), that is a typical illustration of not establishing a sense of urgency and adapting to change.</p><p>Blockbuster is a typical example of &#8220;<em>mindlessly operating out of habit&#8221; </em>and avoiding complacency.</p><p>But what does this mean for us &#8220;<em>API leaders</em>&#8221;? In practice, we need to:&nbsp;</p><ol><li><p><strong>Feel the urgency</strong>: The best way to establish a sense of urgency is to feel it yourself, for instance, I&#8217;ve spent some time with <a href="https://www.backmarket.com/en-us">BackMarket</a> engineers while fixing API incidents to understand why we had a high MTTR (Mean time to recovery), and I&#8217;ve also tried to build an integration and feel what a bad DX (developer experience) look like.</p></li><li><p><strong>Communicate the urgency</strong>: Once you have some facts and collected key insights, everyone should know about them and get a clear commitment to change.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qosu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qosu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 424w, https://substackcdn.com/image/fetch/$s_!Qosu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 848w, https://substackcdn.com/image/fetch/$s_!Qosu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 1272w, https://substackcdn.com/image/fetch/$s_!Qosu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qosu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png" width="843" height="737" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a4a1644-381a-4110-ad6a-00273de60993_843x737.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:737,&quot;width&quot;:843,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Qosu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 424w, https://substackcdn.com/image/fetch/$s_!Qosu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 848w, https://substackcdn.com/image/fetch/$s_!Qosu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 1272w, https://substackcdn.com/image/fetch/$s_!Qosu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a4a1644-381a-4110-ad6a-00273de60993_843x737.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Is your API vision good enough?</h2><p>A good API vision is not just inspirational but a catalyst for change, your vision shouldn't be just a boring statement but a well-documented desired state. Additionally, ensure that your vision is created in a participative way otherwise the resistance to change will increase.</p><p>For example, at Backmarket, to guarantee a better alignment with their team goals and new business requirements, the API <a href="https://www.atlassian.com/agile/agile-at-scale/spotify">Chapter</a> challenged and revisited the API vision every 6 months.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oqbH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oqbH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oqbH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oqbH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oqbH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oqbH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg" width="920" height="710" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:710,&quot;width&quot;:920,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168760,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oqbH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oqbH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oqbH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oqbH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a03514-c9af-4545-ab82-dae2b806638f_920x710.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2>How is my organization supporting the API Vision?</h2><p>The essence of a supporting organization is the ability to easily iterate and adapt whatever governance model you use.&nbsp;</p><p>The key to scaling your APIs is adopting a <strong>decentralized decision-making</strong> approach and empowering your teams to make local API decisions. </p><p>For instance, BackMarket had inconsistent API errors that impacted DX (Developer Experience) score, so we picked <a href="https://datatracker.ietf.org/doc/html/rfc7807">HTTP problem detail standard</a>. A naive model was to create a Pull-Request in our common API guidelines, get it approved, and present it in our API community of practice and different chapters. This didn&#8217;t scale well as some teams didn&#8217;t commit to this change that was painful to implement, then we delegated this decision to a &#8220;<em>Working group</em>&#8221; to make a second DX-friendly iteration by building an API Error library and implementing HTTP problem detail standard.</p><p>To go further we scaled our API governance model by creating API champion roles in different squads. The API champion was responsible for tracking his squad's API maturity, making local API decisions, and contributing to common API guidelines.</p><div><hr></div><h2>How do you sustain the change?&nbsp;</h2><p>Maintaining a change over time is like quitting smoking! Insights from the realm of personal development show that to adopt good habits you need :&nbsp;</p><ol><li><p>To make your new habits easy to use</p></li><li><p>A rewarding system</p></li><li><p>A strong commitment to change</p></li></ol><p>Let&#8217;s take the HTTP problem detail standard adoption example, I&#8217;ve failed to get the commitment of some teams as we simply lacked the second and third ingredients. I&#8217;ve learned that any change should integrate this narrative and ensure systems are in place to support it. </p><p>Another example is the trend we see in the API tooling space where you can directly author your API specifications like <a href="https://www.asyncapi.com/">AsyncAPI</a> and <a href="https://www.openapis.org/">OpenAPI</a> from your favorite IDEs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rn0x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rn0x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 424w, https://substackcdn.com/image/fetch/$s_!Rn0x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 848w, https://substackcdn.com/image/fetch/$s_!Rn0x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!Rn0x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rn0x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png" width="1456" height="1438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1438,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rn0x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 424w, https://substackcdn.com/image/fetch/$s_!Rn0x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 848w, https://substackcdn.com/image/fetch/$s_!Rn0x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!Rn0x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e051e6-15cd-4377-bc4a-c0b5702ac8bb_1600x1580.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the upcoming decade, we will see more and more vendors bringing their capabilities closer to engineers' SDLCs (software development life cycle).&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KXKM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KXKM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 424w, https://substackcdn.com/image/fetch/$s_!KXKM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 848w, https://substackcdn.com/image/fetch/$s_!KXKM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 1272w, https://substackcdn.com/image/fetch/$s_!KXKM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KXKM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png" width="1456" height="1031" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1031,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KXKM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 424w, https://substackcdn.com/image/fetch/$s_!KXKM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 848w, https://substackcdn.com/image/fetch/$s_!KXKM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 1272w, https://substackcdn.com/image/fetch/$s_!KXKM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fac80cb-f677-4c41-b0a5-187ec3e7bf49_1600x1133.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Postman VS code <a href="https://blog.postman.com/postman-2023-product-and-versioning-updatesand-vs-code-extension/">integration</a></figcaption></figure></div><h2>Wrap up</h2><p>To wrap up, here are your 3 core questions to ask this year: </p><ol><li><p>Have you established a sense of urgency?</p></li><li><p>Is your API vision good enough?</p></li><li><p>How is my organization supporting the API Vision?</p></li><li><p>How do you sustain the change? </p><p></p></li></ol><div><hr></div><p>&#128073;&nbsp;If you enjoy reading this post, feel free to share it! Or click the &#10084;&#65039; button on this post so more people can discover it on Substack &#128591;</p><p></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://pragmaticapi.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Pragmatic API&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>