Subscribe to the API Design blog or our podcast for more tips from industry experts.
An early proponent of APIs and now Engineering Manager at Oracle, Dilip Krishnan has seen the technology grow legs, learn to walk, and start to run.
APIs are the building blocks of modern technologies. They are essential in automating and digitizing numerous operations, which are otherwise difficult and time-consuming to carry out.
With APIs, you can quickly transform your organization and maintain a leading edge in the marketplace. If you have not embraced APIs, then you’re going to be left behind pretty quickly and be unable to compete effectively in the current digital era.
On our recent podcast, we sat down with Dilip Krishnan, an engineering manager at Oracle. Here are Dilip’s six main strategies for building great APIs and accelerating your tech modernization efforts.
1. Define Your Values and Goals
"I would say that starting by defining the values and goals in your organization makes a big difference." — Dilip Krishnan.
A critical first step to ensure the success of your API programs is to define your organization’s values and goals. Thereafter, every idea should be aligned with the stated values and goals.
That’s what will build the environment needed to change the way everything works without upsetting the apple cart. Defining your organization’s direction will guide its path and propel its growth momentum.
2. Understand Your Organization’s Requirements: Lead with Design-First
"Go for what’s most appropriate for your organization." — Dilip Krishnan.
It’s important to understand your organization’s requirements and go for what’s most suitable for it. For example, two essential schools of thought have emerged when it comes to building APIs: code-first approach and design-first approach.
The design-first method advocates for crafting an API contract, or an agreed understanding of how the API should operate, first before creating any code. It’s a newer technique that is gaining ground fast, particularly with the increased popularization of the OpenAPI Specification format. This leads to a more efficient API development lifecycle, and better outcomes for API programs.
The code-first technique involves starting to write the API’s code after the business requirements have been outlined, ultimately producing the documentation, and potentially API specifications, from the code. An example of a code-first tool, built by Dilip, is Spring Fox. It’s a Java web framework that scans your Spring services and automatically generates OpenAPI definitions based on your code. It acts as the OpenAPI Specification integration for the Spring framework.
Dilip posits that the decision to go for either design-first or code-first depends on your organization’s specific requirements and API program maturity.
As the show’s host, I certainly respect Dilip’s position, but I would posit that the most successful API programs are shifting toward API design-first.
3. Challenge the Status Quo
"I think that organizations should just encourage challenging the status quo to make things better." — Dilip Krishnan
If your organization is trapped in legacy architecture or back-breaking code and you want to move to a more modern development style, the best way to go about it is to champion a cultural shift. Do not be afraid to challenge the status quo to make things better.
If you have a new idea that would change the mindset within your organization, you should get moving instead of holding many fruitless meetings trying to build consensus. Instead of trying to make everyone happy, grab the idea you have and get moving—it’s better to actualize an idea, whether good or bad, than do nothing at all.
4. Empower Your Developers with Improved Writing Skills
"Writing is a really important skill to influence the people around you." — Dilip Krishnan
As a developer, writing is a powerful way of expressing yourself, especially if you’re an introvert. Although there are other forms of making your thoughts known—such as creating audio, video, podcast, or Twitch content—writing is a succinct form of communication that offers you the ability to influence other people and establishes your footing in the industry.
Writing lets you appreciate the idiosyncrasies of programming and shows that you’ve mastered the tech topic well. It allows you to become a better developer and create better APIs.
5. Embrace Community-Driven Standards
Dilip acknowledges that the API development space has come a long way. The industry has constantly been adopting different standards for making integrations smooth and efficient. Notably, in the past, a few technology giants like IBM and Microsoft released the standards and tooling for developing SOAP APIs, and everyone followed along.
Currently, standards in the industry have mainly been community-driven, which has further enhanced the industry’s growth. Furthermore, the transition from the SOA-style design patterns to the modern microservices architecture has accelerated the developments of these community-led standardization approaches.
For example, the OpenAPI Specification, supported by the Linux Foundation and it’s members (Stoplight is an OAI/Linux Foundation member), provides a standardized, community-driven way of describing RESTful APIs as well as an easy way of understanding and consuming them. Embracing community standards allow you to build consistent APIs that are easy to maintain and adopt.
6. Embrace Collaborative API Development
Dilip affirms that the API industry has made great strides in creating modern tools that make collaboration easier. For example, he mentions that Stoplight (I swear, we didn’t set this up!), which is a design-first tool for creating OpenAPI descriptions, makes collaborative API development easier and smoother.
Empowering developers to work together using modern tools ensures that they take advantage of each other’s skills to produce performance and quality products. Relying on the old techniques, such as collaborating on a Word document or an email thread, is unsustainable and difficult.
Passion Will Take You Places
Throughout Dilip’s 20-year career in the software development industry, he confesses that passion has made him reach new heights. He has had a rewarding and successful career because of being passionate about what he does.
Dilip is a testament that having passion will take you places. For example, if you’re passionate about developing a modern API platform and the leadership does not seem to get the idea, give it your best shot.
Across pretty much all of our guests on API Intersection to this point, we’ve seen leaders of successful API programs with a visible passion for the subject. If you’re looking for a key to success with APIs in your organization, just look for the passionate thought leaders on the subject, and enable them!