Developing a product that *almost* fits a customer’s need can be more painful than not developing that product at all. All that potential - the blood, sweat, & tears - and it’s not *quite* what a new prospect (who just showed up in front of you) needs. The customer sees the gap as small, incremental, a pittance. Your sales team sees the gap as lost dollars. Once again, you’re a product owner who is now *another* product release cycle away from success (or more, if that release is already full). I’d liken it to making the Olympic team, only to catch the flu on arrival at the games. Soul. Crushing.
APIs could make this better; if you had the right ones. You could design in some flexibility, but even then something usually gets overlooked in the mad dash to finish a release. “Yeah, turns out that’s not configurable. Maybe next time.” And so next time you’d ask for a feature to be built with APIs from the get-go. But now you get the “that would cost 15% more time overall, so nope” response. Even with lost revenue at stake, the reality is that everyone is always overtasked. It was so painful that I actually quit my last Product Management job over it.
So watching API-first software design gain traction is heartening. I don’t think it’s hyperbolic to describe this method as a “tectonic shift” or “the dawn of a new era in software engineering” like Chet Kapoor recently wrote in Techcrunch. In fact, it was a major reason I chose to join the uStudio product team vs. other opportunities here in Austin.
Yes, the Internet of Things (IoT) and driverless cars will change our lives more quickly because they’ll be based on “contractual” APIs versus interfaces that - while pretty - probably won’t be “spot-on” with version one. Yes, giving developers fine-grained control with product integrations makes a win-win for all parties. Yes, I love that uStudio aims to deliver the “periodic table of video elements” - so customers and partners can make video their own by transforming their products and business processes with the fastest-growing & most-effective communications medium available today. Yes, everyone is still figuring out what video’s going to mean for them, and that’s why the freedom to iterate is CRITICAL in this industry.
Are there things I miss from the way we did it before? Not really. One week, I’ll hear that a new API is done, and immediately I’m chomping at the bit to see the new capability appear in the user interface. Nobody likes waiting, ever. But - because the hard foundational work is done - it’s not long before the UI has just what customers and prospects craved. And knowing that it can be iterated upon - and fast! - give us all freedom to pivot gracefully in our rapidly-evolving industry.
But what does the development team think? What’s the experience like for them? I flung myself on the couch next to Phred Lane, a member of the uStudio dev team, and asked his opinion. “It's good to be at a company that has the developer's experience at the forefront,” he said. “As the first client of our own API, we put ourselves in the external developers' shoes. Eating our own dogfood allows us to catch any rough edges and/or oddities before we release them to the public.”
And as for sales, my buddy Abel Lomas waxed poetic. “It means you never have to say no to a customer. If they can dream it, we can do it.” Nuff said.
Long live API-first software development. I’ll never work at an API-second kind of company again.