Whenever I talk to companies or recruiters at local meetups, there is usually a common theme. They are looking for tech people, but good talent is really hard to find. Conversations like this are usually followed up with a description of some sort of very senior job for not so senior pay or a very hard to come by skill set.
Forbes online did a piece on why more people don’t go into programming. I’m not sure I agree with all or even most of the reasons mentioned, but when reading the laundry list it would be easy to come away with the impression that software jobs, particularly programming, is something no one really wants. High barriers to entry, high levels of ambiguity, and constant high pressure make the job sound really undesirable.
The premise of this problem is probably questionable, lets take a look at why.
The question of ‘Why are so few programmers/testers/admins applying to this job opening’ is uttered at some companies pretty often. One possibility is that there really is a shortage of technical people. This can be especially true in smaller cities in the US outside of traditional tech areas like Palo Alto, or the North East. Another possibility is that there actually is a good amount of tech people, but they are in high demand. These people get the jobs they want and employers are smart enough to keep them happy.
And yet one more option is that employers are looking for a person that simply does not exist. This is happening more and more in software testing because companies are seeking a sort of ubermensch tester that has mastered software testing, programming, sys administration, and software usability.
Too few programmers?
Part of this assertion was based on the fact that the number of Computer Science graduates has been steadily dropping for 10 or 20 years depending on who you ask. That argument is a little weird though. At every tech job I’ve had, there have been a number of people that got there without a Computer Science degree. People with backgrounds in physics and maths, the humanities, all the way to people with no formal education past high school can all end up in programming jobs with a little self-study. Programmers and tech people in general come from varied backgrounds, that is a good thing.
Or not enough places people want to work
Maybe, there is also a shortage of places that real talent are excited about working for. In certain parts of the US, there are many programming and testing job that stay open for long periods of time. A positive public reputation in the tech community can make job hunting much easier for the person that is looking, it is equally important for the company looking for that person. People can smell organizational problems a mile away and if they can’t, they have been told about them by their friends. Things like large numbers of people leaving a company, employees not having the power to make decisions relevant to their work, and days upon days of meetings all ripple through the community and affect a companies ability to hire the people they want.
There might very well be a shortage of people ready and willing to work in software jobs, but the reasons are complicated. They usually are.
The solution for the talent (you) takes some time but is definitely doable. Develop yourself into a person people want to hire, that usually means be good at in-demand technologies and be capable of working with other people. For the company; become a place people actually want to work at. Valuing the people (and showing that) is a good place to start.