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.
<i>Don’t mention this in the software industry especially startups, the situation is almost the complete opposite with demand for qualified engineers more than twice the supply.</i><p>At the price startups are willing to pay, naturally. I imagine demand exceeds supply for doctors willing to work for $30k + equity + copious free beer, too.<p>I know a lot of people feel that $80k or $120k for developers is quite generous. It may well be generous, but if you can't hire someone for it, it is <i>by definition</i> below market. You know all those articles we've read about structural change? Here's another structural change: the market clearing price for engineers may soon durably transition to that of e.g. management consultants or lawyers rather than that of e.g. HR clerks or marketing directors.
In Germany there is the word "Schweinezyklus". Pig cycle. It's mostly prevalent in engineering. It works like this:
1. Companies complain about not having enough qualified engineers<p>2. Everybody gets told to get into engineering in college<p>3. Boom crashes. Companies lay off engineers. The new engineering graduates don't get hired and are unemployed<p>4. Everybody flees engineering<p>5. Back to step 1.<p>I think we are at the end of step 1 and 2.
-
It's pretty region and skill specific.<p>If you live somewhere outside of about 4 or 5 locations in the USA, getting a programming job can be hard. Also, skills that are hot in a place like NYC or Silicon Valley are often next to useless in other areas. (learning this the hard way)
I'm observing some people trying to break into technology. Yes, there are online tools available. Yes, many of them are free. One of the complaints I hear is that the target platform you choose moves so fast.<p>Generalized, it means software -- the technology and the economy -- runs at a higher tempo. In order to step into the stream, you have to first match the new tempo.<p>I suspect that the rest of the economy stays in a slump because they are out-of-phase tempo-wise with software technology ... or that the tools that drive up the tempo of innovation in software has not made it out to the mainstream yet. (And even if it did, it will leave people behind simply because there are people who will refuse to impedance match).