The ability to program computer software is one of the most sought-after skills in demand today. While software and development is an immensely popular career choice it can seem the supply can’t quite keep up with the demand. This means you’ll need to be tactical when hiring developers and building your team…
If you could code that awe-inspiring application for your start-up yourself, hiring a developer would be of no concern and you wouldn’t be here reading this. So before diving headfirst into the hiring process it’s important to have a solid understanding of what the role entails so you can make the best hiring decisions possible and position your SaaS start-up for success.
So, what exactly is a software engineer?
Developers and engineers are often interchangeable terms within the SaaS industry. A common arrangement in SaaS organisations is for the software design to be masterminded by the engineer before being handed off to a dedicated programmer. Expect your engineer to process a computer science degree – however, qualifications are not the be-all and end-all of a perfect hire. In this day and age, it’s not uncommon for many software professionals to be self-thought. Whatever the candidate’s background, expect your expert engineers to have a solid understanding of the following;
- Code writing and database creation
- Software design & architecture
- Data structures & algorithms
- The ability to debug, test, and analyse software.
With a solid understanding of the role and what’s required you are now in a position to begin your hiring processes….
Sourcing Candidates & Shortening Your Time To Hire
Recruitment in general, regardless of the role, relies upon an excellent pool of high-quality candidates. Obviously, the quality of your eventual hire will directly relate to the quality of your candidate pool. So how do you cultivate a candidate pool of the very best talent available?
You’ll likely be aware of the traditional channels such as a job portal implementation on your company’s website, postings on the myriad of job sites from indeed to LinkedIn, personal referrals from other high-quality colleges, or technical blogs/open-source portals where budding engineers often display personal projects or portfolio works such as GitHub.
Outsourcing talent acquisition is a popular choice for many organisations from start-up to enterprise level. There are many benefits to outsourcing talent acquisition, but most relevant to you is the unique and direct access to a high-quality candidate pool to which you otherwise might not have had access too.
Whether you hire internally or outsource, you will want to give serious consideration to shortening your time to hire. We have mentioned just how fierce the competition can be, so the longer your hiring & evaluation process takes, the more likely the competition is to swoop in and hire your candidates. How many obstacles or tests have you included in the hiring process – can this be streamlined any further? With your hiring processes firmly in order, you can begin to focus on the “meat & potatoes” of a software developer hire….
The Technical Assessment For Hiring A Developer
Candidates should be evaluated on their technical expertise, creative thinking, and problem-solving abilities as a whole. Hiring a developer with full-stack expertise is the most desirable. Full-stack developers know every aspect of a software product, from design to implementation, networks to databases to hardware. An experienced software developer should be able to figure out solutions to problems at any stage of the process.
When determining a developer’s technical proficiency, you must look beyond the particulars of any programming language or technology. A proficient technical assessment should NOT be held within the constraints of a single programming language for the simple reason that the very best of the best adapt to new languages, technologies, or design patterns at ease. In fact, due to the rapid acceleration of technology today, easy adaption to new technologies and frameworks has become an essential skill.
Here are some techniques for conducting a quality technical assessment;
Programming Challenge/Code Assessments
Construct a problem and task a candidate with coding a thorough and effective solution, addressing and resolving any potential errors. To reiterate, the language should be undefined and left to the candidate to decide – This test will evaluate a candidate’s analytical skills, computer science knowledge, and coding style.
There are numerous online resources, both free and paid, which provide these programming challenges & code assessments for organisations. However, it is important to judge the results of your target outcome and expectations and not of the online resources internal grading system for the most accurate and satisfactory results. As with the use of any external software used in hiring process, the potential for ‘false positives’ or deception is a possibility and must be duly noted.
Assess Portfolio Work
It can be expected that most reputable developers and engineers will have cultivated a body of work – most likely hosted on GitHub or SourceForge.
Have the candidate provide a list of projects to which they have either personally authored or contributed. Then, you can review their code and be prepared to discuss design decisions, coding styles, patterns, etc., during the interview. This will be significantly more valuable to an interview than a generic quiz on technical details.
Assessing Non-Technical Traits
With an excellent technical assessment out of the way the process of hiring a developer starts to look very familiar as we begin to assess skills common to every top hire regardless of role. Check out this list of 10 questions to ask before hiring your software developer…
Interpersonal Skills: The stereotype of software developers and other similar IT professionals as introverts is a baseless myth. A critical skill of top-in-class developers is their ability to work as part of a team towards an end product.
Time Management: Time is constantly fleeting, and particularly in SaaS. The industry develops rapidly and expert time management is required to keep your finger on the pulse. It is a developer’s responsibility to plan their work time, communicate it clearly, and keep you informed of any delays or issues.
Communication: Communication is an ability that transcends an individual’s particular role within an organisation. You are not an engineer, after all, a developer should be able to communicate problems in a simple, easy-to-understand fashion without all that technical know-how. During the recruiting process, you can test your potential hire’s interpersonal skills by setting up a scrum meeting. A good way to gauge their communication skills is to ask them to solve a problem or carry out a task.
If you are hiring a developer or engineer in 2021/22 you’ll want to register for our upcoming development & engineering salary guide – In our guide we will detail EXACTLY how much you should be paying your new hires, expected benefits, and much more – Sign up for your copy below!
Written by James Coffey