I recently found myself doing a lot of stupid things, in rapid succession, so I thought I’d jot down a few “do not” style commandments. The context here is software development 🙂
Do not develop a subsequent feature, until the previous feature is in production use.
Do not code a feature that seems odd to you, until you’ve clarified it thoroughly with the business.
Do not discuss more with the business, beyond what you can develop between now and your next meeting.
Do not both manipulate and migrate data at the same time. Either manipulate the data first, then migrate it. Or migrate the data as-is, and then manipulate it afterwards.
A process that somebody has to wait for will inevitably generate questions like: how much is there to do, how much has it done, how much longer will it take, which step is it in, etc. Do not build a process that people have to wait for, without also building some modicum of observability in, so that they can answer these sorts of questions for themselves.
Do not plan based on people’s principles. People do not have principles, they only have preferences. As soon as the situation changes, and their old “principles” are no longer useful, then their new preferences will be re-ordered, and their old “principles” will be updated.
Do not ignore warnings or errors that you don’t understand. Figure them out, and then get rid of them.