This week on the API Intersection podcast, we had a double-win opportunity speaking with Erin Nielsen, Solution Architect, and Brandon Linton, Senior Manager, Digital Payments and API Engineering, at CarMax. CarMax is an enterprise company focused in the auto industry as one of the nation's largest retailers of used cars and a long-time disruptor in the used car market. With dozens of product teams and no one team focused on the API ecosystem as a whole, the folks at CarMax have to stay consistent, scaleable, and transparent to operate an API program at such a high level.
I had the honor of speaking to their team during their internal Developer Day conference. I was pleased to uncover a treasure trove of best practices and scaling opportunities that I felt would make a great story on the API Intersection podcast.
Both Erin and Brandon are just a few of the hard-working team members at CarMax that are building an API program to span decades. Here are just a few ways they maximize developer experience, scale for the future, and create a lasting API strategy.
1. Peer Review via API Guilds
"Our goal is to help teams think bigger and focus on empathetic API design. So, we have this thing called an API guild that meets every two weeks, and it's grown significantly over the years. We had multiple offices and teams involved in those conversations, and it's worked really well," shares Erin.
When a teammate hears about the APIs another teammate is developing in the guild; they can 'knock on their virtual door' and invite them to present that API to their internal guild. The guild then discusses the look, endpoints, how consumers will use it, and the API process together. These meetings allow for cross-team collaboration, greater transparency across the organization, and review points to ensure no duplication or design error has been made.
"The guild has been really helpful to get that feedback and collaborate across teams on our new APIs at CarMax. It creates more of a proactive aspect to leading the change in our API design," shares Erin.
Since implementing the API guild, it's been a huge enabler of empathetic design for the CarMax team. It empowers networking across their growing enterprise while allowing developers to keep a certain level of autonomy in the design process. Even if your own organization isn't at the CarMax level of being able to implement a full-on 'guild,' implementing a formal peer review process is instrumental in building quality APIs.
"It's really a community-driven review practice, and we even have a GitHub repo where teams are encouraged to submit Open API specs and then present it to the guild. We review that as a group or we can do it asynchronously and just leave feedback," shares Brandon.
The ability to have either real-time feedback sessions or asynchronous ones makes a big difference in ensuring that your API team is following the design-first approach and involving all relevant stakeholders at their own pace to provide insights on your design. Brandon emphasizes that this is an excellent way to experiment with your API before you know everybody takes it and runs with it, and having this process has greatly improved their designs over the years.
2. Defining Style Guides
However, a design review process is one of many standardization catch-alls that you should implement to ensure you're designing quality APIs. A great way to move in that direction is to establish API style guides, so API designers have an easy way to lint for standards conformance issues.
The CarMax team operates off of a style guide that was previously being written when this episode was filmed back in September. However, their style guide is meant to be a living document, so it's never written in stone. Erin acts as the curator of the standards as it stands today with their internal team.
In addition to following guidelines, they also have a robust developer portal being built that will also help with transparency, consistency, and standardization across their internal organization.
3. Educating Your Internal Developer Community
"We have a great learning path here at CarMax where we encourage learning, and we have a certified technology professional opportunity that everyone can get every year as part of that learning journey. There are great classes we've offered in some of our business practices that are actually run by the technology people that manage those business systems," explains Erin.
This Fall, they also ran their first class focused on different skilling programs, welcoming their newest associates into that. Erin will run the API-focused course for new developer associates.
"Managers love to have associates join us because it's designed with no coding necessary. We're going to have pre-work, so some like pre-assigned pre-built designs, and we'll talk about them, and the nuances around design itself will be a focus," shares Erin. "We'll probably also focus on linting [i.e., style guides] as well and help highlight some of that capability and how that can be built out. I think it will be exciting, and we'll keep having the class and associates come through it!"
4. Start Early, Frequent Feedback, & Design First
"From my perspective, we would just have started sooner. We would do a lot of things we're doing now just WAY in advance and lead with more empathy the first time around in the design process. We'd ask better questions sooner and implement structure sooner," shares Brandon. Erin also agreed that starting sooner with a focus on design was her recommendation to other enterprises looking to implement a solid API strategy.
The CarMax team highlights that the design focus should've been more upfront before they ever even started coding (a little thing we love to call the design-first approach, which is great for enterprises like CarMax). Along with that design-first best practice, the CarMax team also follows a method they call internally called 'golden paths.'
"For us, it's a brand new take on how we compose APIs in general. It's this sort of common, happy path that we follow and have seen success in composing APIs on, but every now and again, someone will bring something new to the group, and it's a chance to discuss that and how we want to try it, potentially forging a new path," shares Brandon. A key aspect of the ‘golden Paths’ concept is about rapidly incorporating stakeholder feedback as an essential component of the design-first process..
In addition, she offers that if she were to do it all over again, she would have a technology managing meeting every two weeks to highlight where teams are with APIs to increase transparency and get the word out internally. "I think anytime anyone has an opportunity to promote their APIs, whether it's internally or externally, just don't be afraid of doing it. Go ahead and jump right in," shares Erin. While designing excellent internal APIs could be a positive, it means nothing without adoption. Evangelizing new APIs that could be utilized across the organization is key to driving that shared leverage.
In the end, the CarMax API team is well on its way in the API journey, and they're creating an excellent example for similar enterprise-level companies to model after when it comes to how to design a world-class platform. However, the learning is never done, and I look forward to catching up with them next year to see what progress they've made since! For more insights from industry leaders, check out the API Intersection podcast.