To become a software developer (especially the kind with a CS related degree), you need:<p>-A highly analytical mindset<p>-The ability to handle tough math<p>-The ability to read dense material and process it quickly<p>-The mindset to persevere, test, investigate, and find obscure problems in complex systems<p>-The ability to see a project through to its finish<p>-The ability to explain complex logic and design, verbally and in writing<p>It also helps immensely to have<p>- The ability to work well in a team, and good general social skills (the notion that this isn't important in software development is a silly myth, it's incredibly important)<p>- The ability to complete lengthy and difficult academic programs, without veering off into less demanding majors that give you more time to party.<p>- A family or other benefactor that can fund and support you through these academic programs (I knew a dude who tried to major in CS while working 25hrs a week in retail. Extraordinary people can do this, but it's very difficult to carry physics, math, cs, and a humanities elective under these circumstances. Many smart people fail even when school is their only "job").<p>It makes absolutely no sense to compare a person like this to the national average. The general unemployment rate has nothing to do with the unemployment rate for people like this.<p>So is the unemployment rate actually low for software developers, or is it simply low for all people with the traits listed above, regardless of field? You could reasonably argue that jobs go begging in software largely because the field is not competitive with the other professions/trades that people with these traits have available to them.