DEV Community

kibblewhite
kibblewhite

Posted on

Explaining WHY to other team members

After a discussion with my other co-founder (approx: 2021-11-30)

We agreed that it would be good to have clear goals in the following format:

  1. What is the system currently doing?
  2. What we are trying to do?
  3. Why?
  4. The possible how's and what’s for each department (This is the only part that each department can add to, however, it should be succinct and pertain to the "why" as made in point number 3.)

This way we should be able to maintain the importance of a task from the top levels all the way to the people who are more “hands-on” with the task. I believe this sentence will create many thoughts at this point, but let's continue...

As mentioned, this also doubles up as an explanation to why protobuf doesn't have a native GUID/UUID support.

Something I came across that is a bad example of this is the integration of GUID/UUID into the protobuf lib:

You can see that the community is presenting many ideas and solutions, a lot of them very complex and not suitable as a solution, however, the amount of attention and the number of other threads with the same request for this feature is certainly a reason for concern. However, the main response to this is coming directly from a contributor of the project, was this single sentence statement:

quote perezd - "We have no plans at this time to integrate this."
https://github.com/protocolbuffers/protobuf/issues/2224#issuecomment-889268897

I'm still left wondering why not. I can accept that we’ll never know why and it is anyone’s prerogative to make the decision to not explain why for anything, but I can't help to think that others would be feeling the same as me.

A possible alternative is to try “bytes” as suggested in this older article from 2016:
https://developers.google.com/protocol-buffers/docs/reference/csharp/interface/google/protobuf/i-custom-diagnostic-message?hl=en

Anyway, let’s move on with life, and with development, for now, all references to GUID/UUID have been made as “strings” with the variable name suffixed with "_guid" so that we know it's a GUID/UUID that we are dealing with.

Top comments (0)