If you like programming, you're among the lucky few. If you like the kind of problems on leetcode, you're among luckier few of the lucky few.
Sadly, the latter is the most prevalent.
I have a hunch that the clear syntax and relative simplicity of web programming is what drives a certain kind of developer to long for complexity and turn something simple into this: `user.public? && (current_user.try(:test) ? user.test? : !user.test?)`
Moreover, when it becomes tedious, it's almost always a result of poor tools, bad decisions or developers doing manually what should have been automated.
I'm also pretty sure if there were no intellectual challenge involved I wouldn't see so many unnormalized databases.
There are two factors that influence the supply. The article discusses that a job that everybody loves is going to have a higher supply of people seeking that job. But it also matters how many people can actually perform the job. Programming is one of those examples where it takes a certain amount of skill and dedication that some people just don't have.