Need help designing and developing a RESTful API endpoint? A RESTful API is typically a thin upper layer that’s added on top of your back-end system to expose certain data and systems outside your network’s walls. It’s almost always a component of a more complex back-end system, which puts this project in the wheelhouse of a back-end developer.

When you’re looking for the right development talent to tackle this important component, think of it like this: If your car’s carburetor needs to be replaced, you wouldn’t hire a carburetor replacement specialist, you’d hire a mechanic who knows how to replace carburetors along with all the other important components of your engine. API development is a similar scenario—you’re looking for a skilled developer with expertise in RESTful APIs, which is a specific style of API.

To help you gauge the API expertise of a back-end developer, here are some general questions to open up a discussion about this important back-end technology.

Q: Explain what makes an API design RESTful, what are some key components of a RESTful API, and how a RESTful web service works.

A: This is a basic question and a good place to start in gauging the developer’s understanding of the RESTful architecture. Look for them to explain the benefits of a RESTful architecture, any limitations, and basic concepts like statelessness, and resources and verbs.

Q: Describe three recent APIs you’ve designed or worked with.

A: All developers should be prepared to showcase their best work. Make sure you ask them to explain the problem each API was meant to solve, any challenges they faced, and how they accomplished each.

Q: Tell the developer the problem or business need you want to solve with a RESTful API. Ask them how they would generally approach the API’s design.

A: This is a good opportunity to hear about their development style and philosophy, to gauge if they have experience working with a system similar to yours, and to get the conversation flowing about how they’d approach working on your project.

Q: What are the key difference between RESTful APIs and the SOAP protocol?

A: Expect the developer to provide five to seven responses covering how SOAP and REST differ, from support for caching and ACID compliance to the data formats each supports.

Q: Explain the different HTTP methods supported by REST, what each does, how they’re similar/different, and when you’d use one over another.

A: Listen for the developer to explain some of the most popular HTTP methods used by REST: GET, POST, PUT, and DELETE, and the purpose of each. What purpose does each serve? What results do they generate? This shows they use proper judgment when opting for one method over another in different scenarios.

Q: What are your preferred methods and tools for testing an API?

A: The developer should be able to outline the differences between unit and integration testing, and provide examples of preferred test frameworks and approaches.

Q: How have you addressed traffic and throttling to ensure a RESTful API performs well under spikes in calls?

A: Listen for the developer to reference load testing frameworks, and describe possible implementations of load testing scenarios using those different tools.

Q: What are your favorite frameworks for creating REST applications?

A: The developer should be able to describe several REST application frameworks, their pro and cons, and possible usage scenarios.

Q: What is HATEOAS?

A: Hypermedia As The Engine Of Application State is a key constraint in REST that is often overlooked. Basically, every response describes how the API can be used, by providing the URIs for allowable actions within each response.

Q: What are the four key architectural constraints of a uniform interface in REST?

A: This is another bit of trivia to get the conversation going. The four constraints of a uniform interface outlined in Roy T. Fielding’s original dissertation that defined REST are:

  • Resource identification in requests. Any piece of info that can be named is a resource. Resources can be identified through the URI, which is agnostic to the type of resource.
  • Resource manipulation through representations. Instead of directly manipulating the resources, representations of those resources are passed throughout the system. HTML, XML, SVG, JSON, and PNG are examples of resource representation formats.
  • Self-descriptive messages. Each client request and server response contains all the context needed to act on a resource.
  • HATEOAS. Hypermedia As the Engine of Application State is a fancy way of saying that you can dynamically navigate a network of resources via links. Basically, every response describes how the API can be used, by providing the URIs for allowable actions within each response.

Even if a candidate can’t list these constraints verbatim, it is enough if they can communicate the importance of a uniform interface for interoperability among APIs.

Want to learn more about RESTful APIs before engaging the talent for you? Check out our Beginner’s Guide to RESTful APIs, or download the free e-book, The API Economy.

Upwork is a freelancing website where businesses of all sizes can find talented professionals across multiple disciplines and categories. If you are a business and are looking to get projects done, consider signing up!