---
title: "Posts — API Design | Hardeep Kumar"
canonical_url: "https://hardeepkumar.in/development/api-design"
last_updated: "2026-04-27T11:41:36.560Z"
meta:
  description: "Best practices, patterns, and principles for designing RESTful APIs, GraphQL schemas, and microservice interfaces. Covering versioning, authentication, documentation, and more."
  "og:description": "Best practices, patterns, and principles for designing RESTful APIs, GraphQL schemas, and microservice interfaces. Covering versioning, authentication, documentation, and more."
  "og:title": "Posts — API Design | Hardeep Kumar"
---

$ ls -la development/api-design/ # **<API Design /> ** // Best practices, patterns, and principles for designing RESTful APIs, GraphQL schemas, and microservice interfaces. Covering versioning, authentication, documentation, and more.[4posts] [<h2>**<Coding Is Easy, Engineering Is Hard /> **</h2>// Why we confuse coding and engineering, and what it means to build systems that last.\[Mar 1, 2026\]· 6 min read](https://hardeepkumar.in/development/api-design/coding-vs-engineering) [<h2>**<RESTful API Design Principles /> **</h2>// Why designing APIs is not the same as making them work — and how RESTful principles help you stay predictable, consistent, and kind to the developers on the other side of your HTTP boundary.\[Jan 15, 2026\]· 6 min read](https://hardeepkumar.in/development/api-design/restful-api-design-principles) [<h2>**<GraphQL vs REST — When to Use What /> **</h2>// Neither GraphQL nor REST is “better”—they solve different problems. A grounded look at trade-offs, caching, team fit, and when each style earns its place (or doesn’t).\[Jan 10, 2026\]· 5 min read](https://hardeepkumar.in/development/api-design/graphql-vs-rest) [<h2>**<API Versioning Strategies /> **</h2>// Why versioning is about trust, not fashion — URL vs header vs “no versioning,” what it really costs to maintain multiple versions, and a practical default that most teams can ship without regret.\[Jan 5, 2026\]· 5 min read](https://hardeepkumar.in/development/api-design/api-versioning-strategies)