If, like me, you’re a “non-developer” navigating in a team of developers, you may put your foot in it sometimes, even if you’re full of good intentions. But, there are ways of avoiding common mistakes if you want to pull off a decent conversation with an API developer. Here’s how.
“What’s the best language for developing a web API?”
I quickly learned that this question literally makes no sense. It’s like asking a mechanic what kind of spare parts he needs to fix a car. He’ll tell you that it depends on what’s wrong with the vehicle. The same goes for development languages. Some are meant to build dynamic pages, some are made to integrate systems more effectively and others are object-oriented. It’s not about finding the “best language” but using the “right language” to achieve their goals.
“Which is the best, REST or GraphQL API?”
Once again, it’s like being asked to choose between a car and a plane… it depends on the trip you’re planning. Dailymotion’s public API is a REST API meant to allow people to create great video applications. We also use a GraphQL API internally to organize our new global architecture. REST is a standard that a lot of developers use when GraphQL is more complex. It is also more flexible and efficient. In short, it’s not profitable to use a plane to travel 5 km (the plane would be GraphQL here), but it’s not like you can fly with your car (REST here).
“Is our API RESTful?”
I first asked this question because I saw this cartoon and didn’t get the joke.
Turns out, a REST-compatible API, or “RESTful API”, is an application programming interface that uses HTTP requests to obtain (GET), place (PUT), publish (POST) and delete (DELETE) data. This kind of API gives developers flexibility, but it can also be a challenge when it comes to starting from scratch. Now you understand that asking a developer if his API is RESTful is like asking him if his API is an API by the book.
“What’s the difference between an API and a microservice?”
For some strange reason, the word “microservice” has the power to cause mischief in the developer community. No one seems to be 100% sure about what a microservice is or isn’t, but what developers do know is that APIs are not microservices. Although the two notions are quite close, APIs are data recipes supposed to specify interactions between different software components, while microservices have a more architectural approach and help developers create and scale services. I know, it’s subtle.
“How do you code, because I’m rubbish at math?”
Like many non-developers, I thought coding was about maths. Because of this preconception, a lot of people lose interest in development languages. You don’t have to be a mathematician to be a good developer (although being logical is crucial), what you really need is curiosity and the ability to learn new syntaxes. I also used to think that developers had to remember all the formulas for each language, when in fact, there are a huge amount of communities dedicated to specific languages or disciplines. Finding and joining them gives you access to lots of code examples and software tools. So really, a developer is more like an anthropologist using foreign languages to communicate with the world than a a genius mathematician.
“What does your T-shirt mean?”
Unfortunately, I don’t have the answer to this question, my colleagues’ choice of clothing remains a mystery to me…