I've been around a long time. I don't think it's any more difficult than it used to be. On the contrary, I think it's considerably easier -- everything comes with source code and all these new fangled frameworks are practically the same anyway.
Back in the day we had client server architectures and it was exactly the same thing. Even more tiers would sometimes be added and there were frameworks for all of them. We didn't get source code. The frameworks were full of bugs. There was no stack overflow. Documentation usually consisted of a few trivial examples. You just had to hack, hack, hack and figure out how it worked. I remember when Swing came out and being very excited about being able to work on something that wasn't completely insane for client stuff (that's how bad it was ;-) ).
This is just the life of the computer programmer. If you like learning new things, it's never a dull moment!
Back in the day we had client server architectures and it was exactly the same thing. Even more tiers would sometimes be added and there were frameworks for all of them. We didn't get source code. The frameworks were full of bugs. There was no stack overflow. Documentation usually consisted of a few trivial examples. You just had to hack, hack, hack and figure out how it worked. I remember when Swing came out and being very excited about being able to work on something that wasn't completely insane for client stuff (that's how bad it was ;-) ).
This is just the life of the computer programmer. If you like learning new things, it's never a dull moment!