[Protocol Buffers] sound like a dry, low level topic that perhaps only network engineers need to understand, but nothing could be further from the truth. In fact, the adoption of Protocol Buffers can provide a littany of high level benefits to a full stack engineering organization. Chief among these benefits is an increased ability for engineers to understand how the different layers of a system fit together, and by extension how to contribute at all layers.
The reason this happens is that once you know how to read .proto
files, you know the lingua franca of your system. With universal adoption throughout your stack, the frontend UI engineer can not only read the format they'll receive from server calls, they can also read the format your server is pulling from other services and the database. They can read what the IoT device is sending to the cloud.
Not only can they read the data format itself, generally speaking they can read any other code that works with it. Across programming languages, the code for working with Protocol Buffers is easily recognizable and semantically consistent because it's generated by protoc, the Protocol Buffers compiler.
For a look at the Protocol Buffer message definition format and the corresponding code, see [Defining Your First Protocol Buffer].