If software engineering is in demand, why is it so hard to get a software engineering job?

The title of this post was a trending Quora question, with popular responses boiling down to “it’s not, the unemployment rate is 3.6%,” “there are too many developers and not enough engineers,” and “it’s a natural consequence of microeconomic theory.” It might be useful to elaborate on the last one, but I thought it would be a lot more fun to take a look at the absolute most popular answer:
“I was unemployed for many months. Waited hoping one day someone will hire me without requiring me to white-boarding. Yep it is worse than water-boarding.
After 7 months I realized — no other choice. Now I can white board in my sleep. Companies are in line to talk to me. They are ready to send flowers and even ready to send drivers to pick me up.
Nothing changed”
Possible reasons one may find it difficult to find a software engineering job:
  • At most companies it takes at least three interviews to get a job. This is elaborated on pretty well, in an article by the BBC
  • Technical coding interviews are, for lack of a better description, “their own game.” You typically get between 30 minutes to an hour to solve a coding question that assesses your understanding of data structures and algorithms. Regardless of whether you think this is a good test, supporters and critics alike would agree that this is not what you actually do in the field — it’s just a test
  • Software is BROAD. You can be a frontend developer turning wireframes into a web application. You can be a backend engineer who works very closely with hardware. You can work at a company that cures cancer. You can work at a company that causes cancer. There is an incredible number of fields and roles you may have, and so we face the same scenario we face when dating: Companies will look for a very, very specific candidate with an exact set of skills, and sometimes things just don’t work out
  • I may be the first person in history with the gall to complain about this, but in coding interviews you usually get a choice of language. One drawback to this is that the engineer interviewing you, if he/she is human, will not be familiar with all of them. If you interview in a language they are unfamiliar with and have any issues, they may not be able to help you.
What to Expect in the Job Interview Process?
There are numerous "opening tactics" available. Perhaps a company's HR contacts you first on LinkedIn, or you decide to work with a third-party recruiter. There is, to put it frankly, a reason why third-party recruiters (sometimes known as "head hunters") have a poor image. Some of them are truly terrible. The bad ones will attempt to place you with a company that is not a good fit, will "shotgun blast" requests to everyone, and will not have your best interests in mind. They seek financial gain from the arrangement.
...Although, to be fair, you probably also desire this.
Perhaps you opt to contact a friend instead. Perhaps you contact out to HR departments directly, or you opt to follow the lead of a million others and use indeed-easy-apply to your advantage.
The initial call with HR
Currently, there are numerous IT companies attempting to succeed, and some of them are quite strange. One company delivered medical supplies using miniature drones. One startup attempted to disrupt the healthcare industry by charging customers hundreds of dollars each month to see additional physicians. They will ask if “now is still a good time.” If it were not a good time, then you probably should not have picked up. I missed one initial interview when I had to unclog a toilet
  • They will ask you to talk about yourself
  • They may ask what you are looking for in your next role. A good answer to this is probably some variation of “your company, basically.” I once answered this by saying all I really wanted to do was not work in a specific industry (let’s say, for the sake of example, that it was the auto industry). They said that they recently acquired a contract with the auto industry. It was one of the most awkward interviews I have had
  • They will really try to pitch their company
  • They may ask some really interesting questions, like what your favorite project was or what your values are, but I find this to be pretty rare
The initial HR call may appear to be a mere formality, but it can actually be the first obstacle. An HR representative can enquire about your skill set, take notes, and then determine if you are a suitable fit.
The Automated Coding Test
I dislike this portion of interviews the most. Some companies require you to pass an automated coding test in order to proceed. I believe it would make a great deal more sense if employers required this right after the application process, then forwarded successful candidates to HR. They may have HR review your résumé, email you a link if they believe you are qualified, and then conduct a 30-minute interview if you pass.
The final interview(s)
This is the part where things get a little bit…hardcore.
You might have four interviews in the same day. Maybe one is behavioral, maybe two are technical but harder than what you’ve seen before…and maybe one is system design.
A Positive Attitude
A wise, mature person would treat the software engineer interview process as a pure learning experience. He, or she, would enjoy learning about companies out there for the sake of research, interacting with key players, and mastering the art of whiteboarding. It would just be like a fun game.
I don’t think of it like that, but a mature person would. Do what I say, not what I do.