| ▲ | Schema-Driven Development(schema-driven.dev) | |||||||||||||||||||||||||
| 5 points by dneighman 4 hours ago | 7 comments | ||||||||||||||||||||||||||
| ▲ | ziyadmir 2 hours ago | parent | next [-] | |||||||||||||||||||||||||
I can't help thinking the author would actually enjoy a fully protobuffed environment :) 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | abewheeler 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
This is neat! There's definitely a missing formal, human layer sitting above code. Two thoughts come to mind: 1. For applications with a database, the database schema for core models strikes me as the canonical definition, except it's missing descriptions. 2. It feels like this is only a partial solution. Why not go all the way? It seems to me that more aspects of code needs this level of governance than just data models. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | dneighman 4 hours ago | parent | prev [-] | |||||||||||||||||||||||||
[dead] | ||||||||||||||||||||||||||