I'd rather look at this from a different angle - years of refinement and the development of new frameworks and tooling has led to many tasks being much simpler than they previously were.
The first time I had to set up a highly available service I had to do everything from the ground up - replicated block devices for generated configuration, a master-master MySQL setup, a floating IP address, and monitoring to know when to fail over. If I had to, I probably still could.
Now I just click a few buttons in the AWS console and I've got an S3 bucket, a replicated database server in two different data centres, a load balancer which can do health checks, and a small cluster of EC2 instances running my application. I could do it in a few hours, leaving me the rest of the week to work on the application itself.
The same is true for other parts of the stack, I've got application frameworks dealing with all the boilerplate I used to write, front-end frameworks helping me build responsive UIs, and CSS frameworks to make it all look nice. I could do all of those things from scratch if there was some reason to do so, but why would I want to waste my time reinventing the wheel?
The end result of all this is that yes, I now do a job in which I do many things, some of which have previously been the entirety of jobs I've had, and I find it fantastic fun.
Although if you would like to hire someone who knows JavaScript, understands the CSS box model and data modeling, has written several application frameworks from scratch, and can build a local Linux server from a blank hard disk and a distro image, my email address is in my profile ;)