Why is it hard to find software developers?

The Number One Problem with hiring software developers is competition. The bigger the city you’re in, the fiercer the fight to hire the best. You might think that a larger market could provide a more healthy stream of devs, but in reality it’s almost impossible to hire good developers in places such as London or Silicon Valley. Top talent gets sucked up by the major players in the blink of an eye, leaving you straining to find anyone to work on your project.

Hiring software engineers is especially tricky for companies without a well-established, prestigious brand. If you fall under this category, you may find that developers either don’t want to join you or will leave you the minute the project ceases to excite them.

The market is very much skewed towards the developers themselves, who can pick and choose the companies that will provide the best benefits and compensation.

All is not lost, however.

While the competition may be fierce and high-impact developers are ever harder to recruit, the task is not impossible. I know this because I recently sat down with Wojciech Lichota, Head of Service Delivery at the Gdańsk branch of STX Next. I asked him to share his process for finding developers you can be proud of.

Here’s what you need to know to start hiring great software engineers.

What are your options?

When you set out on the search for software developers, you have two main courses of attack.

Option One: Hire a headhunting agency

A potentially effective solution, albeit a costly one. If you decide to hire a headhunting agency to fulfill your recruitment needs, you’re looking at paying the equivalent of 1 or 2 monthly paychecks of the new hire as remuneration for the agency. This amounts to around 15,000 PLN in Poland.

In the UK or US, on the other hand, you may pay as much as 25% of the hire’s yearly salary. On average, that’s £30,651 in the UK and $69,083 in the US.

(Curious about how high Python developer salaries can go? Make sure to read our articles about European Python salaries and Python salaries in the US and Canada.)

Investing such amounts in new hires may pay off in the future, but the initial cost will delay the moment when you start seeing a return on your investment.

Option Two: Recruit by yourself

The alternative to headhunters is to take the recruitment effort upon yourself, which is a significant challenge. However, depending on the size of your company, this solution may prove more cost-effective.

One of the obstacles with “insourcing” your software engineer recruitment is that you may not have the right skillset onboard to find good hires. For example, your HR department may find it challenging to identify and entice quality candidates.

On the other hand, your project managers may try to tackle the task themselves; they may know their way around software development, but are they comfortable enough in the recruiter role to get the job done?

Such challenges were the inspiration for our series of articles. We’re here to share the best practices that, in our collective experience, lead to valuable software development hires.

Let’s see what you can do to give yourself a fighting chance in this competitive market.

Outbound recruiting methods

This article will focus on outbound methods of recruitment. Using the outbound approach, your strategy is to find viable candidates for your software engineering positions and entice them to apply for a job at your company. (This stands in contrast to developers finding you, which is the inbound approach. More on that in another post.)

A tall order to be sure, but there are proven tactics you can use to increase your odds of swaying developers to your side, ranging from classic LinkedIn messages to more creative methods such as workshops and hackathons.

Direct search via LinkedIn and other portals

The classic way of reaching potential software development hires is to send them a message through LinkedIn or a similar medium. This method is classic for a reason—it’s fundamental to your recruitment success. In our case, it’s still the number one channel for finding new developers.

The key difference between success and failure here is the way you compose your first message, or your “outreach.” A good first contact message reflects the best practices found in the best sales emails. It must be interesting and effective. Ask yourself: what can I include in the message to make it impossible to ignore?

Outreach tips:

                         
  • You must include the salary range in your message.
  •                      

This has become an industry standard by now.

                         
  • Include the location of your job posting.
  •                      

Keep in mind that most developers aren’t looking to relocate and you will have to make your deal even sweeter to get them to do it.

                         
  • Tell the candidate about the technologies they’ll be working with.
  •                      

Any bleeding edge technologies you may be using could entice the developer to choose you.

                         
  • The message should end with one, crystal-clear call to action.
  •                      

This could be either “email us,” or “visit our website,” or “schedule a call.” Again, the next step should be clear as day; don’t force the candidate to think.

If there are other aspects of your offer you’d like to highlight in the outreach, here’s one simple rule to follow: choose the benefits that separate you from the competition. Those are your key selling points and you should point them out first. If your company has great employee benefits, you can add a few words about them. If it’s a modern and exciting project, make sure the candidates know about that.

However, make sure that the content of your outreach is all killer and no filler. The purpose of this message is to impress the candidate, not inform them of all the details. That comes later.

Recruitment via knowledge sharing: conferences, workshops, and hackathons

A less straightforward but nonetheless effective recruitment method is sharing your organization’s tech knowledge at conferences, workshops, and hackathons. It’s a win-win situation: you give the event attendants a chance to educate themselves while at the same time gaining an opportunity to grow your network and expose new people to your organization.

The first issue to take into account here is location, location, location. Think small and local. You have a much higher chance of success if you address a more focused, more motivated group of candidates during a smaller event. Attending larger events may raise awareness and prestige, but the audience may be from all over the continent. There’s not a lot of hope that you will find someone that fits your location.

Second, keep in mind that this recruitment tactic requires technical knowledge. You may turn to your CTO to help you here. Their combination of technical and business savvy gives them the right skillset to ensure an interesting conference presentation or practical workshop content.

(And if you’re a CTO yourself, perhaps you’d like to take your skills to the next level with our list of must-read books for CTOs.)

Whenever you organize or participate in an event, you should think in terms of a recruitment funnel. You need enough people attending the event to sift out those that will be either uninterested or unqualified, and get the gems that you can hire.

Let’s dig a little deeper into how you can ensure success for each type of event.

2 tips for effective conference presentations

When it comes to making an impact during a conference presentation, Wojciech shared with me two key nuggets of knowledge.

His first piece of advice is simple: don’t be selfish! When preparing your content, you should ask yourself: how will my audience benefit from attending my presentation?

Keep in mind that this is very different from looking into how you will benefit from making the presentation. That goal should not be your main focus; the attendants will catch on to it.

Wojciech’s second tip is much more specific and relates to live coding at conferences. Again, his answer is blunt: just don’t do it. Live demos during a presentation create a lot of problems for little to no benefit. Even if it’s smooth, it takes up way too much of your precious time. The audience is just watching you type!

Additionally, it’s incredibly easy to make a mistake in your code and then waste even more time on debugging, hunting for that one mistyped line as your authority falters.

For those reasons, it’s much better to show ready-made code snippets and keep the show going smoothly.

Depending on the target audience you choose, you should also choose appropriate content. Juniors seek basic knowledge. They don’t want lectures or speeches; they’re mostly looking for knowledge akin to a programming course. Advanced attendants will be more interested in case studies of interesting projects. Make sure to present something concrete and focused.

The matter of junior vs. advanced attendants also comes into play when you’re looking to organize a workshop.

Workshops: junior or advanced?

Organizing a practical workshop yourself can be even more effective than attending a conference with your presentation. The downside, of course, is that it requires much more work and preparation involving many people in your organization. You are the host here, after all.

The most pivotal decision to make here is whether to gear your event towards juniors or more advanced developers.

It’s easier to conduct workshops for junior attendees—but do you want to recruit junior developers? Ask yourself this question in advance before you end up with an unproductive event.

On the other hand, you can conduct advanced workshops. Keep in mind, however, that those are much more time-consuming to organize. You could spend many hours of work—even a whole month—preparing to pull off just one short event. Moreover, you’ll need to bring in experienced speakers and the audience will be harder to convince—both to attend and to take interest in your job offers.

Filtering: when your workshop is a little too successful

Another issue to tackle with junior workshops is how you filter potential attendants. Usually your workshops will require at least a minimum of starting knowledge, even if they’re geared towards relative beginners.

To process the influx of submissions and get worthwhile attendants, you need to establish an automatic skills test. Anything else will create too much work to process the event smoothly.

As an example, our Has Power workshops include a short, 4-question quiz. Attendants are invited based on their quiz answers and their LinkedIn profile. The need for careful selection is very real for us, since we usually have 2-3 people for each spot at workshops such as Python Has Power.

Hackathons: managing expectations

Another idea that has been gaining prominence among software houses and tech companies is organizing hackathons to attract programming talent.

The idea of a hackathon is quite simple. You book a venue. You order food and beverages for your attendants (beer is absolutely fine!). You invite potential candidates to participate in a fun coding project. Finally, you try to hire the ones who stand out the most.

Hackathons work especially great if you’re a startup. You can even establish a theme for your hackathon, such as VR, IoT, Big Data, AI—anything that’s exciting and fits your startup profile. Invite developers to come, code something, show off their idea and get prizes for the best projects. This way you can pre-select devs who have useful skills for your purposes.

You should keep in mind, however, that while hackathons can be easier to organize than workshops, they are also more expensive. Without an appropriate budget for food, drinks and prizes, you might fail to meet expectations.

Remember: your hackathon must be fun! This type of event is all about creativity, so leave a lot of room for the attendants to run with their ideas. Don’t impose stiff limitations.

Oh, and one last thing. Don’t expect that people will come and create amazing software you can sell. The event shouldn’t support your product; it should bolster your recruitment. We’ve seen hackathons that were all about “cheap coding labor,” and sure enough, they are the very opposite of fun.

Summary

One thing I can say for sure after my meeting with Wojciech is that recruiting developers is a deep subject. So deep, in fact, that it couldn’t possibly fit into one post. Which is why you can look forward to more in the near future!

And just because I know how busy you might be today, here’s a short recap of what we’ve covered so far:

LinkedIn:

                         
  • Your best bet to find good developers is probably still via direct LinkedIn outreach.
  •                      
  • A good outreach should be impressive and interesting. Put emphasis on your key advantages over the competition.
  •                      
  • Information such as salary, location, tech stack and the next action to take are a must.
  •                    

Conference presentations:

                         
  • Prepare basic, course-like knowledge for junior attendants and case studies for advanced guests.
  •                      
  • Think first about how the audience will benefit from seeing your presentation, not how you will benefit.
  •                      
  • Don’t do live coding—the risk of wasting your audience’s time is too great.
  •                    

Workshops:

                         
  • Keep in mind that a good workshop can take up to a month to organize properly.
  •                      
  • You should organize junior workshops only if you want junior developers.
  •                      
  • Make sure to pre-filter your attendants using an automatic skills test.
  •                    

Hackathons:

                         
  • Make sure you have a budget that can support food, drinks and prizes for the attendants.
  •                      
  • Feel free to give your hackathon a theme fitting your profile to attract the right programmers.
  •                      
  • Don’t treat the hackathon as a source of free labor to build your product!
  •                    

Wow, even the recap got pretty long. All the more reason to revisit the subject very soon.

To make sure you’re the first to learn about inbound methods of recruitment (where the candidate comes to you by themselves), follow our social channels and subscribe to our newsletter using the fancy box on the right, or just a few scrolls down on mobile.

Update: Part Two is live!

(And if you're looking to hire developers in-house, read this guide to find out how much they could cost you when you consider the hidden costs.)

See you in the next one!