I like this. Back in the day, you needed people like hotshot assembly coders, for example. Now it's the opposite. The bar hasn't gone down or up, it changed from horizontal to vertical.
If you asked someone what defined a ‘good’ car 30 years ago, what would that person say? Size of the engine displacement? Horsepower? Number of cylinders?
Now ask someone today. Some aspects of the answer might remain the same, but only the most diehard fanatics would say that a V8 engine is superior to a twin-turbo 6-cylinder. The latter would trump it both in terms of performance and efficiency. Many consumers would say it’s fuel economy. Or crash test rating. Or reliability.
You get the point.
So has the bar gone up? No, it’s changed. Drastically. it has shifted from depth to breadth. 20 years ago, ability was measured by a significantly different rubric than we do today. A good example is how irrelevant the “coding interview” as an inductive barometer for success. That’s not to say that deep subject-matter expertise about compiler optimizations, OS memory management, or AVL trees isn’t important. But the industry demand has shifted to breadth. We now need developers that can adapt to a multitude of languages and platforms, from web and moblie client UX frameworks to back-end server, cloud, and storage technologies.
By the way, that doesn’t even include the fact that developers today need to be able to think about all the unit and functional tests as they build, as well as the development and scalability model. Writing a microservice that will deploy at scale to millions of users? Better think about the TPS rate hitting your S3 or Azure storage buckets.
The game has changed. The set of horizontal concerns a developer has to think about is now at a much higher level of abstraction. And rightfully so. Don’t get me wrong, I will give infinite props to someone who can at write a compiler (we still have to implement those in upper year engineering classes in college), but that doesn’t mean anything about how ‘good’ that person will be in real-world industrial applications.
Plus I liked the car analogy.