It's going to take a generation for this to be the case because the basic everyday skills that we don't even think about are just not a part of the core daily activities for most people.<p>Consider the most basic skill you need to write code: Writing with the Keyboard. The majority of kids have never used a non-software keyboard. Technology isn't helping this either as autocomplete, swype, speech to text input etc... pushes new and basic users further away. My daughter has iPads in her school, not computers with keyboards. So although she's using computers, she's not using keyboards. Maybe IDE input schemes will adapt to this, or eliminate it completely but nothing so far has beaten writing with the keyboard.<p>The second most basic skill is also very rare today: OS navigation. Almost to a person, every developer I know including myself started playing around with computers at a young age literally just poking around to see what was inside. This means simple things like installing programs, configuring applictions, installing drivers, searching for folders, moving files, modifying text based program files and on and on. Now imagine not knowing how file structures work and trying to grok ls or mkdir in your bootcamp classes.<p>I think it's a solvable problem and I think we can get to where the entry level requirements for developers is low enough for the general population, but that means our tools (IDE, frameworks, installs) and structures need to adapt to support that.<p>As a community we don't particularly care to work on that, and we seem to like to gatekeep when it comes to our "special skills" and "special thinking." If we really care about communities and our economies it's up to us to help grow the developer base and transition the labor force because we're the ones building the tools and systems.