Slamming your fingers in the car door of life
Over the years I’ve been collecting examples of what I can only describe as non-transferable knowledge. These are all definitely huge mistakes, but no amount of counseling or thought leadership is sufficient to wave people away from them. You have to touch these stoves before you’ll believe that they’re hot.
- This code is too bad. We have to rewrite it from scratch.
- This software is too unmanageable. Adding operational complexity will help.
- This problem has never been seen before. We have to use the bleeding edge to solve it.
- Adding network hops to the system will make it faster somehow.
- Running systems and open source projects are the same and should be built the same way.
- I can add value to this command line tool by writing my own wrapper for it.
- The programming tasks represent the majority of the effort.
- Functional tests!!
- We can just deploy the code with our version control tool.
- I want logical decoupling, therefore I must have physical separation.
- Bureaucracy solves everything.
- Bureaucracy solves nothing.
- These two teams use the same noun, so they should use the same code.
- I’m the first person to make all of mistakes 1 through 13, and therefore @mcfunley is talking about me, specifically.
Hey, maybe you would like beat the odds and avoid at least a few of these. My startup, Skyliner, is like a straight jacket that you can wear to stop hitting yourself.