Here is a short list of things I believe about software engineering that I find I often disagree with others about, or at least find that they have not considered the idea very much.
- dynamic serialization isn’t worth it, use statically defined serialization
- untested code is virtually always somewhat wrong
- spreadsheets and SQL queries also have bugs
- doing things right pays off sooner than we usually imagine
- an ounce of design is worth a pound of implementation
- in data engineering, the data very often violates your beliefs about the shape
- thinking about, and minimizing edges in your code’s dependency graph is a win
- a good (i.e. programmable, fast, reliable, reproducible) build system solves a lot of practical software engineering problems