24 engineers on Hacker News describe using Protocol Buffers first-hand: 8 endorse it, 6 regret it, 0 are mixed.
“For client facing protocol Protobufs is a nightmare to use... When I was at Spotify we ditched it for client side apis... No one liked working with it.”
regret · production · ardit33 · 2025-09-06 · source ↗ · wrong label?“I find that the best way to set up test cases, regardless of language, is usually to use string constants in the proto text format”
endorse · production · GeneralMayhem · 2024-12-16 · source ↗ · wrong label?“They are very good for defining API boundaries, in vince we only use them for configuration and admin structure.”
endorse · production · gernest · 2024-11-29 · source ↗ · wrong label?“it left a sour taste. First memory allocations are awful and slow.”
regret · production · jbluepolarbear · 2023-07-18 · source ↗ · wrong label?“We migrated many of our critical protocols from JSON to protobuf, and the experience has been very positive.”
endorse · production · zeroxfe · 2022-08-05 · source ↗ · wrong label?“there are a few issues that I've run across that makes protobuf a greater challenge in production”
regret · production · memling · 2021-12-26 · source ↗ · wrong label?“mostly flinging protobufs back and forth because that's easy.”
endorse · production · qdot76367 · 2020-12-29 · source ↗ · wrong label?“Bazel because it makes working with Protobuf so much cleaner (at least in theory)”
endorse · production · codesuki · 2018-05-29 · source ↗ · wrong label?“I am using Protocol Buffers (and evaluating Cap'n Proto) for network serialization and Kafka for buffering/queuing, and overall the library support is quite good.”
endorse · production · olauzon · 2016-12-21 · source ↗ · wrong label?“I don't find the utility to outweigh the PITA. I've been on both sides of the fence, and maintained large projects with heavy protobuf use.”
regret · production · heavenlyhash · 2016-08-28 · source ↗ · wrong label?“After trying Protobuf on a project between C# and Javascript, we moved to MsgPack”
regret · production · lux · 2015-06-05 · source ↗ · wrong label?“We use protocol buffers between the client drivers and the server. We picked that because there were libraries... they were really easy to use, and very efficient.”
endorse · production · coffeemug · 2012-11-09 · source ↗ · wrong label?“I feel that protobuf is more mature and has better performance for the most part”
endorse · production · edan · 2011-10-27 · source ↗ · wrong label?“performance we got on Java server and PHP/iOS client was pretty poor and PHP libraries do not support whole specification.”
regret · production · tadruj · 2011-05-06 · source ↗ · wrong label?“We use this for the Protobuf PyPI package. A single artifact like protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl can be used with any Python version >= 3.7.”
neutral · production · haberman · 2023-12-17 · source ↗ · wrong label?“each team would have a column that stores their proto (or empty)... these protos would be bundled as `oneof`”
neutral · production · malkia · 2023-07-20 · source ↗ · wrong label?“the lesson that Google (and @kentonv with Cap'n Proto) took from Google's specific challenges with required fields in proto2.”
neutral · personal · mwcampbell · 2022-09-12 · source ↗ · wrong label?“We have a mixture of python, java, go, protobuf, and node.”
neutral · production · jvolkman · 2021-12-13 · source ↗ · wrong label?“No, we use Kubernetes, grpc and protobuf as base”
neutral · production · ivyabc · 2020-12-03 · source ↗ · wrong label?“we switched to protobuffs over byte[] arrays for complex data later.”
neutral · production · izacus · 2019-11-08 · source ↗ · wrong label?“It's mainly protobufs right now [1] over HTTP”
neutral · production · gouthamve · 2018-12-13 · source ↗ · wrong label?“The schema is defined as a Protocol Buffer package. This lets us construct values protobuf-based APIs without having to manually copy over the schema.”
neutral · production · jmillikin · 2018-12-03 · source ↗ · wrong label?“the one that broke the back of it for us was protobuf, in which it complains on every access to any one of the generated classes”
neutral · production · pebers · 2017-07-12 · source ↗ · wrong label?“File formats are streams of protobuf messages - efficient serialization, easy to parse from a bunch of programming languages.”
neutral · production · fasterthanlime · 2016-12-09 · source ↗ · wrong label?