Clean code challenge
05 May 2023 - Estimated reading time: 4 min
How do you assess a candidate’s software development skills? You could invite them in for a face-to-face interview and simply ask them questions about their experience. You could work through problems together on a white board. You could ask them to complete a programming task.
At Hymans Robertson, we have various approaches to assessing a technologist’s skills, depending on the role they are applying for and their level of experience. The Clean Code Challenge is one such approach.
The Clean Code Challenge is a programming challenge in which we attempt to give the candidate the best possible opportunity for demonstrating their skills. We ask that the candidate completes the challenge in their own time. This allows the candidate some latitude regarding the time taken to complete the challenge, it also means they can complete the challenge in surroundings that are, for most, a bit less stressful than in the meeting room of a prospective employer. However, the challenge normally requires a few hours of coding and we don’t take lightly this time commitment we’re asking for from candidates. Before sending out the challenge to a candidate, we offer an opportunity for them to have an informal chat with members of the team into which they could be hired. This gives the candidate a chance to find out more about the role and the team, before committing to the time necessary to complete the challenge.
As the name implies, the Clean Code Challenge is about taking imperfect code, improving it, and adding some new features, while conforming to clean code principles. We think this is a realistic exercise that reflects the brown-field nature of the vast majority of software development. It also gives the candidate the chance to show off refactoring and design skills in a way that more algorithmic tasks (searching and sorting, for instance) don’t. The candidate is free to use Stack Overflow, ReSharper, and any other tools, just as you would in day-to-day development work.
It's a cliché to say there’s no single correct answer, but that is emphatically true of the Clean Code Challenge. Real software development is too varied and subtle to be assessed in a binary correct/incorrect manner.
The candidate’s submission is a springboard for a conversation about their thought processes. And it’s in these conversations that we get a chance to gain a deeper sense of the candidate’s skills, with a particular focus on the writing of clean code.
Ultimately, we’re keen to ensure we have a fair (perhaps even fun?) but rigorous interview process that places a premium on writing quality code. Hiring developers who care about their craft and the application of clean code principles helps us ensure we continue to create robust, high-quality applications that we can continue to evolve to meet the ever-changing requirements of the markets in which we operate.
To find out more about a digital career with us click here. To see our latest vacancies click here.
0 comments on this post