Let's be realistic.. let's say you are a c++ programmer and want to learn some modern JS framework. I bet you it will literally take less than a week of concentrated study work for you to become better than 80-90% of people working with it. You can get a book on the subject, there's great tutorials, heck, just reading the reference will get you far.
This is true for a lot of stuff on youtube, coursera etc. I believe. It's for people who don't want to get to the destination faster, by reading a few books and doing the exercises in them.
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.
> 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.
Could you clarify this statement? Are you saying you work with hundreds of backend engineers:
- who all believe infra is always available and can handle infinite throughput (???)
or
- who can't wrap their head around an environment where infra is so scalable / high availability that it might as well be "infinite" and so they are always looking designing for tradeoffs that don't exist in your environment?
If the former, where do these people work? If the latter, where do these people work?
I know there are plenty of engineers with those gaps, and they learn from experience, as one does.
My issue was with the statement that all backend engineers you work with (hundreds of them!) have this weakness. Does not match my experience, so I was wondering where you work.
The barrier to entry is not the availability of materials, it's the jargon and working knowledge of the ecosystem required to find those materials and decide which are worth your time.
I've been the C++ programmer with a week to learn a modern JS framework. I'll never do that again, and will always hire an expert to bring myself and a project up to speed. It's a massive waste of time and money.
You also won't be "better" than anyone else at it, since expert-level C++ knowledge is not very translatable to other domains (but that's a C++ problem more than anything, working in it is like playing a piano and not riding a bike).
Why on earth would you think that? C++ programmers are not “better” than web developers. They work in very different domains, and skills built up in one don’t necessarily transfer to the other.
C++ has a high barrier because it exposes the inherent complexity of computing. If you've managed to fight through that you can probably pick up the simplified concepts in Javascript, Python, Ruby, etc.
This is true for a lot of stuff on youtube, coursera etc. I believe. It's for people who don't want to get to the destination faster, by reading a few books and doing the exercises in them.