Coding is easy. Once you learn the syntax of your language of choice, hammering out code is easy. The hard part is the design onto which you apply your code. The better the design, the easier the code.
With a nod to Kathy Sierra and her wonderful graphs...
I don't mean to infer that there is a sweet spot there where design goodness and complexity of code meet, just bare with me.
My point is simple, the better the underlying design, the easier it is to code against. Naturally I see this as a database thing as that's where my level of "expertise" lies, but it applies to all software development. Java, Ruby, .Net, whatever. In the OO world it would probably be class design. In my world, it's all about the data model.
If it were so easy, why the heck do they pay us so much? I ask myself that every day. Since I wasn't talented enough to play professional baseball and make oodles of money, I consider myself extremely fortunate to make the money I do at something I so thoroughly enjoy. I sometimes feel guilty about it too.
But why is it easy? I don't really know how to answer that. It's just been my experience. I would also imagine there is alway an exception; as I don't write programs for the Space Shuttle, I can't attest to that, but the point is the same. If you have a good model (design), coding is easy.