How to Recruit Software Developers and Software Engineers

Software developers are a certain breed of person who don’t behave like normal human beings and have their own set of rules when looking for work. I write this as a software developer myself. You see, software developers in all programming languages are high in demand which puts software developers in a strong position when looking for work. As an employer, you need to know how to handle software developers as part of your recruitment process or you will end up annoying them and completely losing this potential candidate for your current and future job vacancies. You must treat software developers with care and attention if you want to attract and retain the best talent within your organisation.

 

Show them you care

In so many instances, employers simply expect the case to be “hey, we’ve got an awesome job, you must apply for it now”, when in reality, the software developer looks at this and thinks you are just another employer without a care in the world who has taken no time at all to understand what it is they do. Software developers have been spammed to death with recruitment emails over the years with ignorant recruitment agencies telling the job hunter to apply for a JavaScript job because they have Java on their CV. This is like asking someone to speak French because they have German on their CV if you are reading this as a non-technical person. The level of ignorance that is often prevalent when recruiting software developer and software engineer roles has led to a situation whereby if the job hunters see this lack of care and attention, this will lead them to judging you as a company. You must show software developers that you care and that you have taken the time to understand how they can add value to your company instead of simply looking at a specific keyword on their CV.

 

Show them your values

Software developers are often people with high principles. If you are a company that deals in questionable activities such as gambling, payment protection insurance or pay day loans to name just a few, then the reality is that the best software developers are likely always going to ignore you. There are so many software developer jobs available that the best and brightest have the picking from them all. This really isn’t something you can change if you are working in an industry with questionable morals. But for those companies who are working towards a positive goal or helping people, you are likely to attract the best software developers who want to get behind the cause you are working on. Make sure this is clear throughout your website and job listing on Tendo Jobs.

 

Stop asking for software developers with a specific skill

I see this so much on job listings when employers are looking for software developers with a specific skill set. If you are asking for a “Software Developer who has used Node.js in a distributed global environment for a leading financial services company”, then no surprise but you probably aren’t going to find someone.  In practice, software developers within companies will work across a range of technologies depending on the needs for the specific project. If you are recruiting for such a narrow role, if you do actually find someone, don’t be surprised when they aren’t actually any good at anything other than what you hired them for.

Great software developers often ignore highly specialised job listings like this. Not because they couldn’t do the role, but because it shows that the employer really has no idea what they are recruiting for which often results in a poor working environment when in the role. Great software developers have worked in a lot of high end places so know how to quickly spot the good from the bad companies. Instead, start with something more generic for your job listing, maybe you’re looking for a “Senior Software Developer who will be working on projects including the following technologies…” for which you are going to generate a much higher number of applicants based on these requirements as it shows the job hunter that you understand what you are looking for. See the previous comments about showing developers you care.

 

Seriously, stop with the technical tests

With many software developer jobs as part of the application process is a technical test. Seriously, just stop with these. Technical tests prove absolutely nothing about a person’s ability to code well and develop high quality software. I’ve personally seen technical test ranging from the downright ridiculous asking questions like “What port is SFTP on?” to the utterly pointless “Given this obscure scenario, write some code in your preferred language to achieve this result”.

Great software developers feel these tests are beneath them and will often not proceed with an application for this very reason. They will judge you for trying to fit them into a pre-prescribed box about what is supposed to be “Correct”. The reality is that great software developers often work with 100+ different types of technology, systems, processes and methodologies on a weekly basis, so they probably don’t know the answers to specific questions off the top of their head, they are great software developers, not machines. Secondly, task based programming tests simply prove that someone is capable of passing a specific task based on the obscure requirements. When in practice, a good software developer would change the requirements to work in the best way possible, rather than trying to achieve something ultimately technically pointless using a specific method. Great software developers think outside the box, they aren’t the type of person who can recite to you every function of a specific language.

Should you find it essential to run a technical test, please, please, please make sure that it is a useful test. If the test is determining the outcome based on a simple pass/fail or is full of pointless or silly questions, then it really isn’t going to do any good at all.

 

Assess software developers through their experience and problem solving abilities

As mentioned above, technical tests are a complete waste of time for everyone involved and they prove nothing. Instead, as part of the interview process, set the applicant a task to outline what they would do given a specific project. I’m not talking about the specific lines of code they would write, no, instead get them to talk you through how they would approach the various aspects of a project including how the various functionality would fit together, key security considerations, how users involved in the project would contribute and more. A good software developer will be able to talk you through the macro and micro aspects of a software development project, whereas you’ll find that more junior software developers will likely talk through how they would write the specific lines of code.

 

Stop judging based on minimal information

This is unfortunately quite common for software developers, employers judging and making decisions based on minimal understanding and often ignorance. Let me give you an example here.

Employer: “So it says on your application that you are a Java developer. How is this going to help with front end web development that we are looking for?”

i.e. the developer hears “So you have a PHD, how is it that you’re qualified to teach at nursery?” and thinks “Seriously? Do you have any idea what you are talking about?” and quickly decides that you are probably not the company they want to be working for while you feel great that your recruitment process has filtered out unqualified people. In reality, you’ve just lost an awesome developer without even realising it.

This happens an awful lot when the person responsible for recruiting pre-interview, who is often non-technical, or the interviewer who may also not be as technical as the person they are interviewing. The reality is that great software developers are adaptable. To put this into perspective, I mentioned earlier that I am a software developer and have worked with a large range of technologies over the years. Here is just a tiny selection of the technologies/methodologies I have personally worked with and can use on a professional basis;

Java EE 7/8, Java Servlets, Java Server Pages (JSP), Java Standard Tag Library (JSTL), Java Mail, MySQL, HTML5, CSS3, Responsive Web Design, Bootstrap, JavaScript, jQuery, Model View Controller (MVC), Java web application filters,  JSON, RESTful Services Orientated Architecture (SOA) and microservices, Java Database Connectivity (JDBC), Linux server management, WordPress development (PHP, Core, Plugins, Themes, hooks, actions & filters, WooCommerce, Payment Integrations), CRON, Apache, Apache Tomcat, Agile, Scrum, Kanban, pair programming, Slack, Test Driven Development (TDD), Microsoft Exchange Administrator Management, APIs, Object Orientated Programming (OO/OOP), OWASP Top 10 web application security, Linux server security including ConfigServer Security & Firewall, CPHulk, Fail2Ban and cloud based Web Application Firewalls (WAF) for DDoS prevention, New Relic, Munin, Git and more.

You see? Now the reality is that when you are looking for a new employee, tell them about the type of work you need their help with. Are there specific projects that you are working on that need completing, or projects in the pipeline that need to be planned accordingly? Explain your situation and you will get a far better response from the software developer about how they could help based on their knowledge, skills and experience. They have likely worked with a range of technologies that could solve your problem that you have never even heard of. Remember, show them you care and value their skills, knowledge and expertise.

 

Understand that software developers aren’t code monkeys

Great software developers don’t sit around all day bashing a keyboard and outputting the works of Shakespeare. Great software developers get involved with project planning, defining requirements, discussing options, planning system and code architecture, all before they even start writing a single line of code. Great software developers aren’t the type of people who can type the fastest with the lowest amount errors, they are the type of people who can communicate effectively with others, work well in a team of other awesome engineers and foresee challenges that you don’t even know exist.

Sure, it is a given that a great software developer can write great code. But in reality, will the best software developer be able to write the most optimised code, be able to write the fastest, be able to complete everything error free first time with zero bugs? No, of course not. Great software developers are much more than code monkeys, they are an extremely valuable part of the team who contribute in more ways that you can imagine. Great software developers can transform your business and organisation.

 

Have flexible working patterns

Great software developers want to work at forward thinking companies. Virtually all software development work can be completely anywhere in the world these days with no impact on the end result. Everything is cloud based, communication is all online and there is absolutely no reason at all not to allow flexible or remote working patterns when you are hiring great software developers.

It is traditional within many organisations that the thought process of being present is being productive, when in reality, there are so many distractions in the office that often being out of the office is actually far more productive than being sat next to a team of people all talking about their weekend and the latest reality TV show or series that is another ‘must watch’. Great software developers will not look favourably on organisations that have a strict 9-5 policy in place with zero flexibility as they understand how ludacris this approach actually is in the modern day world we live in.

 

Don’t expect high end qualifications

For certain software developer roles you often see in job listings the need to be certified in a specific language. A certification which often costs thousands of pounds per year to keep the certification valid. The reality is that the only types of candidates who have these certifications are the types of candidates who have been working in the corporate world for a long time and they are few and far between. If your organisation really needs these certifications, which in many cases are simply not needed at all, then explain within your job listing that you are prepared to set aside budget for the right candidate to put them through the required training. This will go a long way to proving that you are a great employer to work for.

 

Remunerate accordingly

So many job listings want the moon on a stick for 50p and a Mars bar. The reality is that you just aren’t going to get great software developers without paying the going rate as a bare minimum. To give you an idea of salary levels, great software developers won’t get out of bed for less than £50,000 – £70,000 per annum as they fully understand the value they bring to an organisation. The more skilled you want someone to be, the higher the salary will be as a result. Asking for every technology possible on a job listing is not the right approach, instead be specific about the type of work you expect the person to be getting involved with so they are able to judge their self if the salary on offer is indeed competitive in the market.

 

Recruit directly

It goes without saying, but we’ll mention it anyway. As software developer roles are highly paid, when you use a recruitment agency you can be spending in the region of £10,000 – £15,000 to recruit a great developer in recruitment agency fees alone. To attract the best candidates, aim to encourage them to apply directly to your company through the Tendo Jobs platform. We don’t charge silly “Finder’s fees” so you can pass this huge saving onto the employee in the form of a higher salary. Developer are often like magpies, they are drawn to shiny things and a great salary package is often the shiny thing the developer is looking for in the first instance. Sure, you need to have awesome employee benefits too but the starting point for discussions for many software developers is the salary.

 

Summary to Recruiting Awesome Software Developers

Many of the points above may come across that software developers are a difficult bunch of people to work with. They aren’t. Software developers are used to creating the world around them, creating services that are used by thousands and millions of people and they understand the bigger picture of how things work. Treat software developers like code monkeys and you will soon earn a reputation as a bad employer. Treat software developers with respect and you will have a line of them at your front door waiting to work for you.