Site Logo
WellAged.dev

Why are Protobufs not more popular? - WIP

AI-assisted: I developed the arguments and references in this post. Claude helped organize and expand the draft.

It isn’t about he protocol it is about the schema. You don’t need to give up REST to get the benefits of Protobufs.

Contract-first is a different mindset

Some developers naturally think in terms of defining the contract before writing any code. The service, its methods, its message types, all defined up front. Then tooling generates everything from that definition.

JSON is the default

JSON is human-readable, universally supported, and works everywhere. Curl, browser dev tools, Postman, every language. That’s a real strength and it’s why JSON became the default format for APIs. Nothing wrong with that.

Most developers have only used one approach

JSON’s ubiquity means fewer developers actively think about their serialization or schema choice. It’s just what you use.

Bringing attention to Protobufs

Rising tides float all boats. The goal is to teach developers another way to define their APIs that opens up more opportunities.

DevRel strategy

Start with open source tools that already have developer-facing APIs. Contribute Protobuf definitions to real projects.

Do it live

Stream the contributions. Demystifies the Protobuf workflow for developers who have never touched a .proto file.

It is time to reconsider Protobuf - Blog and Talk

The ROI on Protobuf has never been better. The tooling, the ecosystem, and the developer experience have all changed since the common criticisms were written.

CFP

It Is Time to Reconsider Protobuf

Most developers dismissed Protocol Buffers years ago. The tooling was rough, the learning curve was steep, and the common advice was “you’re not Google, you don’t need it.” That advice is outdated.

The Protobuf ecosystem has changed. The buf CLI handles linting, formatting, and breaking change detection in a single tool. The Buf Schema Registry provides dependency management and remote code generation without installing protoc. ConnectRPC serves gRPC, gRPC-Web, and plain HTTP from the same .proto definition with no proxy required. Validation rules live directly in the schema with protovalidate.

But the bigger shift is in how we should think about Protobuf. It was never really about performance or replacing REST. Protobuf is a schema language. Any object that crosses an application boundary (an API response, an event, a message, a DTO) can be defined as a Protobuf message. That definition becomes the source of truth, shareable across services in any language, with forward and backward compatibility built in.

This talk walks through the most common criticisms of Protobuf and gRPC, acknowledges where they came from, and shows what has changed. You’ll see the current state of the tooling, a practical workflow for adopting Protobuf schemas in an existing project, and why the real ROI is in schema-driven development, not raw throughput.

Talk outline

Slated at ~25 min runtime but can be adapted to a lightning talk or deep dive

  1. The old criticisms and why they stuck (5 min)
    • Walk through real developer feedback collected from Reddit, HN, and Twitter
    • Acknowledge each point was valid at the time
  2. What changed (8 min)
    • buf CLI and BSR: schema development lifecycle
    • ConnectRPC: multi-protocol from one definition, no proxy
    • protovalidate: contracts that enforce themselves
    • Postman, VS Code, IntelliJ: mainstream tooling support
  3. Protobuf is a schema, not just a SerDe format (7 min)
    • Any object leaving the application boundary is a candidate
    • Schema as source of truth vs code as source of truth
    • Forward/backward compatibility vs custom versioning
    • Same .proto, any language, any transport
  4. Practical adoption path (5 min)
    • Start with DTOs and boundary objects
    • Generate alongside existing JSON APIs
    • gRPC-gateway / ConnectRPC for coexistence
    • One schema, multiple consumers

Target audience

Polyglot developers, API designers, and platform engineers who evaluated Protobuf or gRPC in the past and decided against it, or who have only ever worked with JSON APIs.

Takeaways


References

Schema-driven development and the case for Protobuf

Protobuf compatibility and schema evolution

Bridging REST and gRPC

Tooling and ecosystem

Developer sentiment and community discourse

Protobuf/gRPC momentum