5 lies developers tell themselves
Over the years I have found myself and other developers say the following things and really believe it for various reasons even if it was not true. Identifying when I am lying to myself or understanding why, has been key to executing projects better.
1. This will only take an minute
The ability to estimate accurately is a universal developer problem. Sometimes when I am asked for an estimate I find myself going for the best case scenario, telling the client or manager the time it will take if I coded it and pushed the code without ever testing, fixing bugs or getting side tracked. When I catch myself giving some overly optimistic time, I double it.
2. I will come back and fix this
This is usually out out of laziness, bad planning or you honestly do not have enough time to execute some kind of code the right way. The problem is that no one ever goes back to fix it. Considering code is never done, you have a life where you enjoy spending time doing other things and that this particular code is now working (although in an inefficient way) you probably are not coming back to fix this. Who goes back to fix code that is already working when you have other things on your mind?
3. My code is self-documenting
This is another lie I see a lot of developers telling because they hate writing comments in their code. I used to hate writing comments in my code, I used to hate writing Git commits, I use to hate writing user stories, till I had a problem and had to trace my steprs backwards. I think we developers live so much in our own head, it feels tedious passing the information we have stored in it to another human. Your code is NOT self-documenting. In my life I have never seen someone complain that their predecessor over explained the code that he/she left behind.
4. I have tested all the use cases that matter
Eh...No!
5. I will get back to work after I finish organizing my iTunes playlist
Or whatever item of procrastination you choose. One of my favorite XKCD's is the one where the developer is playing in the office with the excuse that his code is compiling. Whenever I catch myself procrastinating on getting a particular task done but decide that’s when I need to floss or do laundry. I always sit back to find out what I am worried about or afraid of and face it head on. But I still fall prey to this when I am not vigilant.