The role of the software developer has evolved in recent years, but the qualities of a great developer remain the same. They should have top-notch programming skills, relentless focus — and that dash of ingenuity that enables them to find elegant solutions to knotty problems.
But today’s software developer is also a team player. Moving on from the lone wolf coder personas of legend, the dev world has switched to methodologies like Agile and DevOps, which emphasize teamwork, communication and collaboration.
This is a tough position to hire for: Competition for top developers is ferocious, so you’ll need to be crafty if you want to attract the hottest talent. Here’s what you need to do:
Decide what kind of developer you need
Software developers come in many flavors, but most fall into one of three broad categories:
- Back-end developers — If the front end is the software’s chassis, the back end is the engine. Back-end developers typically work in a compiled language like Java, C++ or C#. In addition, these developers generally have a good understanding of database technologies, such as SQL.
- Full-stack developers — Full-stack developers do all of the above. In an enterprise setting, full-stack developers might help with application design, project coordination and more.
There are other kinds of software developers, including those who specialize in middleware, security and big data. To define the role you want to recruit for, think about the type of software you’re building and the additional skills you need on your development team.
Craft a winning job description
When advertising for a position, you need to give potential candidates a clear sense of what your ideal software developer looks like. Things to consider include:
- Essential technical skills — These are the main programming languages and software candidates need to know on day one. Working these into the job description title is a good way to catch the eye of developers who might skip over a more generic headline. If you know that your developer will be working mostly in Java, a posting titled “Java Developer” makes more sense than one labeled “Software Developer.”
- Nice-to-have skills — You may choose to list some additional skills that are useful but not essential: working with Docker or Amazon Web Services (AWS), for example. No candidate is all-knowing, however, so make sure the nice-to-have skills don’t come off as must-haves.
- Your team environment — Development is team-based these days, so you want candidates whose work style fits your environment (and vice versa). Is your team Agile? Planning to pivot to DevOps? Is everyone based in the office or do some people telecommute? Do you work nine-to-five, no exceptions, or do you sometimes go into crunch mode, with everyone putting in extra hours to meet a project deadline?
- Soft skills — These can be as important as programming skills, especially in a collaborative environment. Outline the soft skills that are essential in this position, especially those relating to communication, ethics and teamwork.
Make the most of interviews
Because software developers need to be well-rounded team players as well as coding wizards, it’s common to evaluate a diverse set of skills over two interviews:
- Technical interview — Ideally, this should be a face-to-face interview with an experienced developer. If that’s not possible, provide the candidate with written questions to test their programming chops.
- Personal interview — Personal interviews can be conducted by any manager or HR professional. If the interviewer has zero coding skills, you can test the developer’s ability to explain difficult concepts to a layperson. And like any other interview, you’ll look at personality, soft skills and employment history while sizing up the candidate for corporate culture fit.
Try not to leave much time between the first and second interviews. Remember, many tech candidates are used to being interviewed over Skype, FaceTime or even by IM. Use technology to complete the interview cycle as quickly as possible.
Offer a competitive salary
Candidates for software development roles expect to be offered an attractive salary. The Robert Half Technology 2020 Salary Guide states that the median starting salary for a software developer is $120,750. Factors that may add to or subtract from that figure include:
- Location, location, location — The midpoint salary for software developers in San Francisco, one of the world’s leading tech hubs, is $170,258 — significantly higher than the national figure. In Savannah, Ga., it’s $102,638. Use our Salary Calculator to find out what candidates should expect in your city.
- The negotiating table — In a Robert Half survey from 2019, 55% of workers said they’d tried to negotiate higher pay for their last job offer. That’s an increase of 16% from a similar survey taken in 2018. If you can’t match the cash on offer from your competitors, think about how you can leverage your company’s perks and benefits to land top talent. Professionals weigh extras like telecommuting, on-site child care and gym memberships heavily when making a decision.
Team up with a recruitment specialist
Software developer is one of the hardest positions to recruit for right now. Getting the right advice could save you from months of sifting through resumes that don’t quite hit the spot.
A specialized staffing agency like Robert Half Technology can not only find you highly skilled candidates fast, but can help with initial interviews, writing job descriptions, determining the right salary range and much more.
And whichever route you take to your next software developer, moving fast is essential. Top candidates tend to lose interest if they haven’t heard from a potential employer within a couple weeks. And companies are hiring these professionals on a daily basis, so you’re also racing the clock.