developer's learnings
- Simple is not given. It takes constant work!
- There is no pride in managing or understanding complexity.
- Typed languages are essential on teams with mixed experience levels.
- Java is a great language because it’s boring!
- Objects are extremely good at what they’re good at. Blind devotion to functional is dumb.
- Engineering is about communication.
- If I think something is easy, that’s a sure sign I don’t understand it.
- Very few abstractions exist in general application development. Just write the code you need.
- ORMs are devil in all languages and all implementations. Just write the SQL.
- DynamoDB is no good choice for general application development.
- It’s very hard to beat decades of RDBMS research and improvements.
- Monoliths remain pretty good.
- Micro-services require justification (they’ve increasingly just become assumed).
- Most projects don’t need to “scale” and are damaged by pretending so.
- Do reinvent the wheel!. This is how you learn, and is the first step to make new, better wheels.
- Don’t re-write things that work.
- Code comments are NOT useless.
- Simple things should be simple to accomplish, in any system.
#work
#development