Helping developers maximize efficiency is an important business goal, but are there other factors that can help developers do their best work and have the biggest impact for their efforts? Wade Wegner, SVP and head of product at Rapid, explores how streamlined API integrations can improve the developer experience.Â
Software developers have been in short supply for many years â€“ even going back to the days of punch cards. Recent tech layoffs may open up the labor pool with more candidates, but in the short term, economic uncertainty may just put more pressure on a development team to do more with less. Pay and benefits are always essential to attract and retain talent, but developers want roles where they can make a difference.Â
As one of my colleagues put it, â€˜developers like to write code that gets used.’ Software developers want to discover and take advantage of the most effective application programming interface (APIs) services to improve their skills and get the job done. But with the explosion of APIs, SaaS platforms and cloud data warehouses, just finding the best services to start with can be a challenge.
The Need for Easy API Infrastructure
The reality is that software is rarely created from scratch. Developers pull from samples, bits of open source, and a variety of public and private API services to feed real-time business applications. The pace of innovation, the volume of SaaS offerings, and the size of global teams make it very challenging to keep up. So companies need to create a sophisticated but easy-to-access API infrastructure.
APIs are the fundamental unit that makes enterprise systems more responsive and adaptable. More than 98%Opens a new window of enterprise leaders agree APIs are an essential part of an organization’s digital transformation, and the majority of enterprises are using hundreds of APIs. APIs are the glue that holds modern software together, bringing essential weather statuses to travel apps, connecting rideshare drivers and customers, and providing banks with secure login authentication. APIs support the modern IT stack across IoT devices, edge applications, and centralized databases that span public and private clouds.
As powerful as APIs can be, I’ve seen that even the most sophisticated software companies in the world can struggle to bring transparency, visibility, and accessibility to the APIs available to them. APIs are the foundation of all modern software, but today, building and integrating and consuming APIs in an app can be complex and often requires too much work from developers to be efficient.
Best Practices to Improve the Developer Experience
We need a different approach if we want software developers to collaborate effectively with diverse teams. Here are a few best practices to help developers create powerful and meaningful applications:
Assess the API tools you have at hand
As software teams get larger and even more dispersed than before the pandemic, the odds of a developer accidentally reinventing the wheel go up significantly. The inefficiency of searching for information alone can add a material cost to the organization. It doesn’t make sense to build a service that already exists. Just as a developer shouldn’t jump into VS Code to create a bridge between the digital and analog worlds â€“ they can use an SMS service provider like Twillio or SendBird instead, and get results much faster â€“ they shouldn’t try to recreate the services already available to them.
And it’s not just external APIs. Finding documentation on the expected data types in a schema can be just as hard to track down on internal servers as it can be on the web. Most organizations limit access to specific data streams or APIs to authorized users, but without a good catalog, developers have very little insight into what information is available.
Tracking and cataloging a company’s preferred APIs can also be strategically important to business partnerships and corporate initiatives. If a Customer Support team just adopted Poly for telephony, but the news and API capabilities are not shared with the development team, an isolated developer could use a competing platform instead. Using the wrong partner API can be worse for the company than writing something from scratch. The best approach is to use the right APIs from the start. But developers need to know where to look.Â
Search a catalog, not the Internet
When starting on a project, developers need to experiment to find an API that works well for the situation. Developers need to try API calls, send out requests and evaluate responses, and this may take a few different approaches. But many companies require developers to formally request access to each API by sending an email, Slack or filing a ticket, then waiting to do their work. And developers may end up finding external solutions that could cause issues down the road.Â
When companies create a catalog of APIs, it makes it much easier and more useful in the future. This catalog can provide the single source of truth for schema and data types, and help ensure development teams have the ability to design, test, and deploy code all from one integrated development environment (IDE). It doesn’t necessarily matter if the IDE is online, running as a desktop or native Mac, look for tools that will integrate with the code management platform you use. If something offers API access as a VS Code extension, then developers don’t even need to leave Visual Studio to test out their APIs â€“ or get pulled away by the distractions of the broader web.Â
Enforce standards today that will reduce problems tomorrow
Even inside a company, organizations are realizing that APIs require visibility across all API calls. Observing, analyzing and taking action at every level of the technology stack is necessary, and improved governance is the first step. Governance can actually speed up software delivery because it ensures standards compliance from the start.Â
For example, imagine you’re doing an API call to query users in a US database, and then also comparing against EU users in a different database. Except the EU database was created after the US database, by a different developer, with a completely different schema. Instead of getting useful information that can be compared and combined, you have to change your query to adjust for different naming conventions, e.g., camel casing vs. underscores, and manually adjust SQL queries to make progress. This happens, and it’s a problem.
When companies define and document standard data types and consistent schemas, they won’t have this problem. And while it might seem daunting at first, there are some simple ways to start to wrangle the complexity, such as using a linter. You may be familiar with linting in the context of your source code, but did you know that linting can help you build better APIs? API linting is a powerful way to enforce defined rules and encourage best practices in API design and system architecture. Linting provides a mechanism to audit the process in an automated fashion. Combining linting with good schema definitions and API-type repositories can help developers build reliable APIs that stay consistent.
Developing Symbiotic Success
Developers want to build APIs that are used. When someone puts their heart and soul into whatever they’re building, they want to see their work helping customers, the company, and other developers. Creating an effective API infrastructure can help companies retain talented developers, attract new staff, and, most importantly, make their work as beneficial as possible for the wider community.Â
The advent of APIs made this style of real-time interaction and integration possible, but the proliferation of APIs has also made it more difficult for developers to know where to start. Make sure you have a good understanding of your software landscape, ensure your API tools fit into the broader development pipeline, and leverage governance and standards to build a foundation that will drive long-term success and keep development teams happy and productive.Â