Growing the Software Community
There is a saying that is growing in popularity in business: "every company is a software company". If salaries and job opportunities are a good gauge for the truth of this statement, then it is indeed true. Infact the 10 jobs with the greatest expected salary gains are all related to software development and computer science. As a result enrollment is also up significantly for Computer Science degrees, but this will not be enough to sate the industries demand. This means that growing the software field provides a huge opportunity to grow the middle class in our nation which is facing wage stagnation across most other industries.
To truly grow the software community and to unlock this amazing employment opportunities the industry must accomplish three main things:
- Demystify Software
- Improve Diversity
- Create More Entry-Level Positions
1. Demystify Software
Software is not magic. It is no different from accounting or being an auto-mechanic. There are certainly people who are predisposed to all of these jobs, but anyone can learn to program in the same way that anyone can learn accounting or how to work on cars. This mindshift is fundamental and there is huge resistance to the concept both inside and outside of the industry, so I will repeat myself: anyone can learn to program.
2. Improve Diversity
While there are certainly some very compelling moral reasons for improving diversity and there is evidence that diverse groups make better decisions than homogenous ones, my argument here is purely about the numbers. Our industry is most broadly made up of, and the most welcoming to white or asian males with college degrees between the ages of 29 to 39. Looking at the demography of the United States and the total population of around 300 million people, that's about 2.75% of the total population and roughly 23% of the employable work force:
Starting number: 8.5 million people
+50% correct gender gap
+60% allow non-college grads
+31% racial/ethnic inclusion
+29% age-based inclusion
36.5 million people
All in, that's a potential increase of more than 300% to the potential employment pool.
3. Create More Entry-Level Positions
Perhaps the most practical change to make, is the creation of more entry-level positions. The friendliest workplace to under represented people will not matter if there are no entry-level jobs. Based on our experience and my observations, it takes about between 3 to 5 years for someone to ramp up from zero (computer literacy) to staff-level programmer. That means we need to create an environment where people can ramp in, while still allowing employers to see a profit. I believe that any software company can provide 3 entry-level positions per year for every 5 developers they employ. For us as a 50 person company, we're providing 30 entries to the industry per year. I believe the key is to provide a foot in the door, and allow the industry at large to fill in the gaps.