Coding is Simple
Coding is the easiest part of the entire job description. Planning, research, learning on the fly, these are the hard things.
Because they are harder the inherently take more time. I have never found myself at a lack of speed in laying down code. Only then my planning or research is done poorly do I find myself backtracking because it's incorrect.
Given a time frame I tend to spend half researching and planning an half coding.
If you know what you are doing coding is simple. Say I'm writing a blog controller (for example) and I know it has to do two things, (1) list all posts and (2) list on individual post. I have an appropriate Post model that will do these and understand the system completely. Coding here is simple.
If I have an application dropped on my lap with the expectation to "fix it" it is going to be much harder. If I'm unfamiliar with the libraries or language itself I will have to learn on the fly by looking stuff up constantly. How do I fetch the all posts? How do I fetch one post? How do I ensure a post exists? What checks have to be made? Due to inadequate planning coding here is hard.
Assume an application that is supposed to do X, Y, and Z. I jump right in and make it do X. Then I work Y into it. By the time I get to Z the lack of planning is severely slowing down the development process. Parts of X and Y will be inefficient or need to be rewritten to accommodate Z, again depending on what X, Y, and Z are exactly. If they interact very little then it might be fine, on a closely linked system it will be a disaster.
Just thought I'd add: SO counts as research!