This is absolutely true. I've claimed for years that programming is easy and it's not hard to teach to children, but I started when I was six. For older people, the field is hard to break into due to a cognitive barrier I've seen. "I don't know how to program and computers are mysterious-- therefore I don't know how to learn how to program."
The biggest impediment to much larger participation in the top tiers of software engineering is imposter syndrome and the elitism of the industry when faced with a trainable candidate. Every startup aims to hire someone who can "hit the ground running" and who doesn't need an assist from anyone.
Also, the largest tech companies have chosen to use LeetCode-like problems almost solely to assess candidates, which are unlike most tasks done on the job most days. These tend to select for people who trained specifically for the interview and for coding competitions, such as ACM.
It's not just old people. When I was a kid, the Commodore 64 was the absolute state of the art in consumer computer hardware. What I was able to produce in C64 Basic after a few months of trying was, at least to a first order of approximation, comparable to the sorts of things that were considered professional software back then: the machine just couldn't do that much, so writing a simple game with an amorphous blob that was controlled by the joystick and shot at other amorphous blobs was not _that_ far off from the sorts of games you could buy; I felt like I was doing "real" programming. Compare that to the situation today. Modern games have gigabytes of 3D rendered playfields. Even iphone games like jungle run are in 3D. But what a beginner can produce after a few months of practice still probably looks like something that might have been state-of-the-art on a C64 back in 1986 (in fact, may be harder, because the development tools are so fragmented these days). What felt like a real accomplishment to me when I was 12 feels like failure to my kids - once they realize what a hurdle they have to climb, they wonder if their efforts might be better spent elsewhere.
Have you tried creating a game in a modern engine such as Unity3d? If you try going through a few tutorials, and browse through the asset store, you might be surprised.
While the gameplay in your first game may still be simple, it can look great because the engine does most of the work. It absolutely won't look like something from a C64 (unless you want it to).
This absolutely. As someone who started later (in college) I was unbelievably dismayed at the amount of effort it took to output something that was nowhere near comparable to the software I used daily and took for granted.
I think we're kindred spirits in a way. I don't find programming terribly vexing, either (I started when I was 12), but trying to teach others has given me more appreciation for how difficult it is to grok something so rigidly logical.
That said, I have no patience for the "smartest boy" syndrome or the, as you say, "LeetCode-like problems" given in interviews.
I suspect that these interviews do "work" in the sense that they successfully filter those who know what they're doing (albeit rejecting numerous ones who do as well), but they run the risk of encouraging elitism, rockstars and "smartest boy" cultures. (I also think programmers are uniquely bad a hiring because when we can't reduce a problem to something solvable by an algorithm, we tend to try to find the cheapest heuristic.)
When I taught AP CS, I got around that rigidly logical issue by performing a very simple exercise on the first day of class to build an appreciation for algorithms.
The students were asked to write out instructions to build a paper airplane. One by one, I would follow their directions as loosely as possible and build lopsided airplanes. The lesson did a reasonably good job of explaining how computers handled algorithms and code.
Part of that might be because you started so early, but part of it might just be some innate properties of how you think. Is your brain good at programming because you started so young, or did you start so young because your brain is good at programming?
The biggest impediment to much larger participation in the top tiers of software engineering is imposter syndrome and the elitism of the industry when faced with a trainable candidate. Every startup aims to hire someone who can "hit the ground running" and who doesn't need an assist from anyone.
Also, the largest tech companies have chosen to use LeetCode-like problems almost solely to assess candidates, which are unlike most tasks done on the job most days. These tend to select for people who trained specifically for the interview and for coding competitions, such as ACM.