|Don't ask to ask, just ask|
Rather than reply with a specific example, I think it may be more interesting to get at the root of many of my errors all at once.
So, my greatest struggle in programming (and things in general) was dealing with the "Master of Oversimplification" which exits in me. No matter the task, difficult of simple, I would always work it out in my mind and somehow grossly underestimate the work at hand. I evetually came to the conclusion that this was due to excess hubris created by quick and early sucesses in the beginning of my software development career. Unfortuntely it took a few tough years (read: nightmare projects from hell) before I was enlightened.
In short, living through projects with seemingly endless develop/test cycles and playing fireman all day really takes the wind out of your sails. This then leads to either professional death (burnout) or some serious introspection. What was hard to accept was that I often helped create the environment that led to careless mistakes and overlooked erroneous assumptions; largely by unintentionally creating unrealistic expectations in others... and then trying to live up to them.
Once I learned to not overestimate my own abilities and speed, I became a much better developer. The seeming irony is that as I learned some humility I actually became more competent... which then leads to greater confifence... argg watch out for that vicious cycle.
I hope this makes sense... I feel like I started rambling :-)
In reply to Re: Greatest programming mistakes and what to learn from