5 Challenges Developers Face Finding Jobs

I've been on both the hiring end, and the job-seeking end for technical positions. A lot of attention gets paid to how hard it is for companies to find good developers, but not as much on the challenges that developers face in finding a job. Here are some aspects of the developer job search that are difficult:

1. Finding Your First Job

While there are way more developer job openings than there are developers, it's still hard to get a job when you have no professional experience. Most companies are simply incapable of taking on junior developers. Some companies that could do so choose not to. I find it the most frustrating when companies spend months trying unsuccessfully trying to hire a senior person on a junior person's salary when they could have just hired the less experienced person and trained him or her. There is a huge waste of human potential of smart and capable new developers aimlessly hunting for jobs. I've talked before about having mass apprenticeships for coding bootcamp grads, and every day become more convinced that this issue needs to be addressed.

2. Dealing With Recruiters

As a developer I get bombarded with recruiters on LinkedIn all the time. It's definitely a great problem to have, but it still leaves me with a bad taste in my mouth. I actually got my current job this way, and even though it all worked out, I was still was a bit uneasy about the whole situation. I think this comes down to feeling like you are being sold, and being sold to. Lots of companies just need warm bodies, so in that sense I feel like a commodity being sold to the highest bidder. Also, recruiters are basically salesman, selling you on whatever company they are recruiting for. I don't like being sold to, even if what they are saying is accurate. Cold contacts should be opt-in, made directly from either the company CEO if they are small, or one of their senior developers if they are big, and contain all the upfront information about what they are hiring for.

3. Networking is Hard

I've never got a job through an application - all of my professional jobs have come through networking. I wouldn't consider myself excellent at networking, but I do enough to get what I want. While it's obviously important to network, networking skills and the ability to do a job aren't the same thing. For a lot of developers who aren't good at networking, or just don't even try to network, they are missing out on a lot of opportunities (and companies are missing out on them). I go to tech meetups quite often, and do try and strike up conversations with the other attendees. For a lot of developers though, it's difficult to make this small talk, let alone figure out how to leverage the contact you just made into a job opportunity 6 months or a year down the line. Networking needs to be made easier, more structured, and taught to all developers.

4. No Structured Job Opportunity Data

LinkedIn should be THE place that I find a job. They have everything that's needed to build the perfect two-sided marketplace for both job seekers and companies that are hiring. Unfortunately LinkedIn is a virus, and it's pretty useless as a job search tool. While there are a ton of generic job boards, and even some very cool companies like Hired that could be pretty disruptive, I still feel at an information disadvantage when conducting a job search. I'd love an API where I could query every single available job based on location, tech stack, team size, team practices such as TDD, start date, remote working ability, visa requirements, salary, equity (including valuation), vacation policy, and benefits.

5. No Long Term Matchmaking

Investors like to invest in lines, not dots. Each meeting between an investor and a company is a dot, and over time when you connect those dots you form a line. If the line is slopped upwards, with each meeting confirming that the company is solid, and they are constantly improving, then the investor is likely to invest. This makes complete sense since investors don't want to make a big decision with only limited information. As a developer, if I were to consider working at a company I'd also want to choose a company based on a series of interactions over time, with each one confirming that the company is a place I want to work at, rather than just base my decision on the formal interview process. This really isn't happening, but it absolutely should, and on a mass scale.