We examine the power of procrastination in today’s post, and why you should never underestimate the impact on your future. If you missed the early habits, they’re linked here:
Seven Habits of Highly Dysfunctional Enterprise Developers:
- Blame Everyone But Yourself
- Confuse Motion With Action
- Use Complexity To Demonstrate Intelligence
- Keep Important Information Secret And Safe
- Fix It Later
- Reuse Is Overrated
- Principles Are More Important Than Results
How many times have you said to yourself,
“Bah…I don’t have time to do that now. I’ll fix it later…“
Yeah, I thought so. I do it too. But a disciplined developer will stop right then and there, think about the future cost of that mistake and then correct it on the spot. It’s the difference between knowledge and wisdom.
Comp Sci majors are taught from basic coursework (usually in their ONE software engineering capstone course, sadly) that the cost of fixing errors goes up non-linearly as you move forward in a project to later phases–fixing a bug in the requirements during say, design, is cheaper than fixing the same bug in production. A practiced engineer will apply that knowledge to fix problems BEFORE they get into the next phase by proactively understanding the consequences now and altering the course of history.
The temptation (and sometimes the stick that is whacking you on the backside) is to say you don’t have time because of The Schedule. The Schedule will always be there. You’ll almost never work on an open-ended project with infinite time to “get things right.” You will have to ship, eventually. That comes with compromises. We defer changes out of fear. Fear of impacting others. Fear of being wrong. Fear of having more work to do. What’s that you say? “I’m the exception! I can’t just go changing that class because it’s already in production and I don’t know what it will break.” Thank you, that’s the point. THAT bug made it to production because someone said, “I’ll fix it later.” So fix it now.