I work in Ruby on Rails, and have a developer on my team who started way back in the punch card days.
His take is that it's harder now. We have better tools, but the things we're building are more complex. We're programming at higher levels of abstraction for broader code re-use.
We're also making lots of code libraries work together, coordinating application code and cacheing layers and multiple kinds of databases. We're writing client-side code that talks to our server-side APIs. And we've got a whole system of tests and a system of version control which, though they make our lives overall easier, are also part of the learning curve.
I agree with this. Even though I started writing code in the 90's, 15 years has changed the landscape tremendously. I think there is a disparity between the fundamentals of programming and the fundamentals of being a modern programmer in the work place. Fundamentals are often not needed everyday, because the scope is much larger.
Still, it is a craft, and like any craft you should strive to always be a better craftsman.
Like a story a friend of mine once told me. When he was in culinary school he was asked "If a cook and a chef can produce the same meal, what is the difference?". The answer: a chef knows why he does what he does (or she).