1) Sorry in advance; I spent too long at Google and am tainted by that. Maybe the proto/thrift/avro style of typed schemas + generated client libraries is overkill, but it made some of this automatic. You probably don’t need the binary wire format everywhere, but schema annotations (e.g., field-level PII tags, etc.) and a centralized automatic registry for these objects did help.
2) I’m mostly curious why I don’t feel this pain heavily anymore. Maybe I’ve aligned on (or am just OK with) the other side — of engineers paying the tax and dealing with it? I still code often, but heavily optimize for speed of delivery which seems to be one metric that helps career wise. Not sure yet how to square those thoughts yet.
I think this is refreshing and I like it when people push for cleanup and improvements to how we develop. I'll suggest engineers at work try and see what the feedback is.
This reminds me of the data-driven programming and state modeling they taught us at Waterloo: https://news.ycombinator.com/item?id=35758587
A few thoughts:
1) Sorry in advance; I spent too long at Google and am tainted by that. Maybe the proto/thrift/avro style of typed schemas + generated client libraries is overkill, but it made some of this automatic. You probably don’t need the binary wire format everywhere, but schema annotations (e.g., field-level PII tags, etc.) and a centralized automatic registry for these objects did help.
2) I’m mostly curious why I don’t feel this pain heavily anymore. Maybe I’ve aligned on (or am just OK with) the other side — of engineers paying the tax and dealing with it? I still code often, but heavily optimize for speed of delivery which seems to be one metric that helps career wise. Not sure yet how to square those thoughts yet.
I think this is refreshing and I like it when people push for cleanup and improvements to how we develop. I'll suggest engineers at work try and see what the feedback is.