--- published: true layout: post title: Nobody Cares About APIs or SDKs tags: - SDKs - Electricity - Analogies - Business - Products image: >- https://kinlane-productions2.s3.amazonaws.com/algorotoscope-master/yellow-journalism-electric-tower-sun-behind.jpg --- Getting people to care about APIs is hard work. It is something I will keep working on until the end of my career, pushing people to see and care about what is happening, but I will always admit it is very hard. This is one of the reasons I keep trying, and refuse to give up. In my experience, nobody cares about APIs or SDKs — really they can’t tell them apart. A good analogy is with electricity, with most people caring less about whether it is 12, 110, or 220 volt electricity, and would rather not think about the details of three prong or two prong plugs, dimmer switches, and the other ways we put electricity to work throughout our days. Unless you’ve worked with electricity you won’t know the benefits of cheaper or more expensive plugs and switches, or why you are required to staple the electrical wire to a stud every 12 inches. Similarly, most people just aren’t ever going to understand the difference between your API, the OpenAPI, and your SDK, let alone the hundreds of rules involved with delivering a high quality SDK. I used to know electricity, and now I really know API. Using this simple analogy, I’d like to try to reverse engineer what the reasons are that your average normal everyday person would care about APIs, and understand the real-world implications today and for tomorrow when it comes to properly investing in your API infrastructure. **With electricity, what do people care about?** That it works. How much it costs. Where can it be made cheaper? Does it meet their needs? Is it the right voltage? Is it where they need it, when they need it. Is it reliable? Is it safe? How can I use it to generate revenue? Is it sustainable? Can I use it to get new customers, make new friends, and improve how people see me in the world? **With APIs, what do people care about?** That it works. How much it costs. Where can it be made cheaper? Does it meet their needs? Is it the right protocol? Is it where they need it, when they need it? Is it reliable? Is it safe? How can I use it to generate revenue? Is it sustainable? Can I use it to get new customers, make new friends, and improve how people see me in the world? Electricity provides a pretty good analogy for APIs. Electricity as a concept is much like a concept of APIs, and I’d say plugs and switches are good analogies for SDKs. It is an analogy that transcends personal and professional lines. Electricity and APIs is something we all use, and we all take for granted. We don’t see or care about electricity or APIs until they go away or stop working. We don’t understand the importance of the right voltage or protocol until we are trying to implement a specific project. We don’t understand the importance of standardization or regulation until we’ve traveled or experienced something different from our normal world, or experienced an accident. We don’t care about discovery until we are in the coffee shop needing power, or using a new application where we can’t get the data we need. So, how do we bring attention to APIs? Do we need to? Do we need people caring about the voltage in the walls or behind the plugs? I don’t think we do, but they should understand the importance. How do we get people to understand that the third prong on a plug is as important as the authentication layer across your SDKs? How do we get people to see the importance of stapling a wire every 12 inches when it comes to saving cost and providing safety down the road? How do you explain the importance of standardization around 110V volt and REST APIs, but in Europe they use 220 and 230 volt and REST APIs, but when should 12 volt and MQTT APIs make sense. This is one of the reasons we have standards, regulation, and compliance, because not everyone will get the technical details and prioritize the right things during development and construction—causing damage, inflicting costs, or worse down the road. How do we come up with the language and incentives for business stakeholders to think about the quality of their APIs and SDKs, along with the quality of the electricity and switches and plugs in their homes and offices. It will take regulation. It will take standardization. It will take telling stories over many years until people just understand and do not question policies that are in place to ensure things just work. It sucks to be stuck in the middle between product people and engineering people on this. Engineers are like DUH, we get the technical details and we just do it. Product people are like DUH, we get the business details and we just do it. Neither side really give a shit about the details of the others world, but business people want it to work, not cost to much, be cheaper, meet their needs, use the right protocols, is where they need it and when they need, and it must be reliable, sustainable, and able to bring in new customers and generate revenue. Engineers will do the work, but snicker when someone tries to provide a blueprint that ensures all the business stakeholders needs are met. They just do it. Code it. Git er done! I feel like I am just stuck in the middle trying to broker between these two worlds, but neither side really cares about doing the work, and business leadership is against regulation and compliance, which often translates into governance also being a bad word and not something you should be prioritizing. Ok, enough bitching and moaning. How do we get people to care about APIs and SDKs? How do business people see and prioritize APIs and SDKs? How do we get technical people to see and prioritize API specifications and standards? I don’t think that we need business people down in the weeds of technical details, and I don’t think that we need technical people down in the weeds of business details. But, we need a bridge, a translation engine, and someone to do the map of connecting the dots between the business and technical details — this is all API governance is. I have taken many of the technical details of delivering APIs and useful SDKs and began reverse engineering the business details and stories I will need to tell. However, I feel like I have to do another round of work on the pure human business side of things, and why they should care about APIs in a pure selfish human and business sense. How do I elevate APIs and SDKs to the level of electricity and plugs or switches? How do I show people that not caring about APIs and SDKs, and the standardization and governance of them will introduce pain and costs down the road. Nobody cares about APIs or SDKs, until they do.