Programmers tend to underestimate tasks.
Software estimation is an extremely complicated topic, this post barely scratches the surface.