I've worked in both of these kinds of domains and different kinds of people thrive at doing each. The kind of problems you face are different.
Most of the backend C++ types I've worked with aren't so great at "design for failure" types of environments whereas on the web development side of things I've found people are much more receptive.
I'm working with a few hundred backend engineers who all have a hard time with thinking infrastructure is always available and can handle infinite throughput. They absolutely stink at reasoning about the network. And these aren't dummies -- they're all MIT/Waterloo/etc grads.