The saying goes that A bad worker always blames his tools. And nothing can be more true. Many times, when an idea fails, we all look around to find what to blame. We search for a scape goat, or some other person silent enough to blame. However, people have the nasty habit of defending themselves, and try to get out of that mess. That is the good thing about the working environment, you can blame it as much as you want, it will never respond.
Many times at work you see colleagues shouting out "Damned IDE, how stupid of it!". Or you see enormous forums bashing some silent OS. How many times did we point fingers at our tools, and felt a sudden rush of desperation, feeling powerless over its idiosyncrasies. Later on however, after calming down and looking deeper into it, we blush when we realise that it was all our bug, our mistake, our fault!
Therefore it has become my rule of thumb to never ever blame my tools. No matter how obvious it is, how much I am sure that it is not my fault, I always assume it is my fault, and try to prove it. Too much self esteem can be damaging while working. Being too sure of your work, and never taking the blame, is the first pitfall that captures way too many people.
Many statements that I hear way too much, are "It is the fault of my predecessor", "Management screwed up", "The tools are lacking in this area." Whenever I assume upfront that the fault is simply my fault, and try a bottom up approach to find the fault, rarely am I proved wrong. In fact I would throw out a number as low as 1%, even though this is based on no real studies done, just a gut feeling.
The problem with blaming your tools, is not that something innocent is taking the blame, but more the fact that a fault is being allowed to survive, when in reality that bug should be squashed. Also people tend to look for newer updates, which is also a problem, since any update, solves old bugs, but also creates new ones. Other prefer to look for different technologies, which is also a problem, since this leads to time wasted in research and training.
Now I have to leave you, since I have some more debugging to do.
So in conclusion, the lesson of the day is, Never blame your tools.