Writers can just sit down and write whatever pops into their heads. Programming doesn't work that way. You have to think things through, look at them from different altitudes, all the way from a bird's eye view of the entire project, down to what's going on in this particular function. You might also have to spend a ton of time debugging. These things are too nebulous to measure quantitatively, so you have to measure them qualitatively.