My biggest enemy against estimates is debugging, it is really easy to forget how simple bugs in a program can be the biggest time sinks.
--edit--
I guess this is something good programmers excel at doing, plus every-time get stuck with a time wasting bug, reminds me I have so much more to learn.