Title: The Design of Web APIs
ISBN13: 978-1617295102
Publisher: Manning
WWW: https://www.manning.com/books/the-design-of-web-apis
Pages: 389

I recently had a chance to read “The Design of Web APIs” from Manning Publishing. The book is inspired by “The Design of Everyday Things”, the legendary writing of Donald Norman, that I still own as an original hard-copy printed in 1990. I like this masterpiece not because I studied Donald Norman quite a lot during my PhD studies (especially during the Human-Computer Interaction course), but also it’s still very relevant writing.

Commentary

The book provides a broad view of the decision-making process of API design with rich visualizations and comprehensive content in a beginner-friendly tone. However, it can also be useful for seasoned developers.

Men do not stumble over mountains but over molehills. Confucius.

The book covers a wide range of topics, starting from HTTP and REST API basics, to more complex topics such as decision making between REST, gRPC, and GraphQL. Inexperienced engineers can benefit from the book to strengthen their fundamental knowledge, and experienced engineers who are often expected to prepare guidelines, define standards and pick best practices for various topics (including APIs), can benefit from the book as a reference resource.

Fundamentals

As someone who frequently sits in the interviewer chair, I came across many candidates who aren’t comfortable enough about the fundamentals web development, such as HTTP, REST and APIs. The fact is, nowadays, web frameworks hide a great deal of complexity running behind them, and especially engineers who got into coding by using a web development framework often fall into the convenience trap and miss some fundamentals. If you are a software engineer got into the industry with some web frameworks such as React, Rails, VueJS etc. this book can potentially uncover details that your framework hides.

Fundamentals don’t get old. Frameworks, languages and tools come and go, and usually faster than your pace of learning, but fundamental knowledge stays with you. HTTP is 32 years old, and it’s not going anywhere soon. REST is 25 years old and it is still widely used. On the other hand, I’ve been professionally programming for 11 years and I already changed tens of languages and frameworks, historically Classic ASP (not .NET!), PHP, Python, Ruby - and nowadays GoLang. My suggestion for inexperienced engineers would be to focus on fundamentals as early as possible in their careers, that will help them to become better decision-makers in the future.

Closing Words

Overall, I enjoyed the book! It’s a comprehensive resource for anyone interested in API design, independent of experience level. Experienced engineers can toss off the reading in a couple of days, while engineers new in the field can take their time and benefit from the rich content and visualizations.

Cheers.