Mark Oliver's World

Posted: 01/04/2021

Job Search 2021 _ Technical Tests

I'm not a huge fan of taking or administering technical coding tests. Don't get me wrong, over the course of my career, I have done many of them, and have given many of them too.

They do have there place, especially if you are unsure of the skills. But most development jobs are way more than coding, I spend more time thinking than hammering at a keyboard outputting code.
The more time you spend thinking and designing than actually coding, the better chance that you end up with a well thought out system with as few lines of code as possible.

In steps a recruiter

So in this round of my Job Search, a Recruiter told me I needed to do a full coding challenge before I would be considered for interview.

Now this was not just a quick test, it was building a solution from a simple specification, and they expected the code to be written to satisfy the requirements.

The challenge was this kata from the Coding Dojo.

"I Object!"

Now at first I objected to doing this challenge, primarily as it takes time away from my family, but in the back of my mind I was also thinking: I have been coding competently for 20+ years, this is evident on my CV!

Most jobs you go to, would never ask you to do some work BEFORE you get to speak to them. Does a cleaner need to clean your house before you will interview them?
After all I have an existing portfolio on GitHub, and 20+ years of experience on my CV.

This made me think again, as I have worked with people of all ages and experiences, and neither of those things explicitly mean they can do the job.

Probably you have met many people in your career who have been doing it a long time, and are not very good at it.
You have probably also met lots of new people to the family, who have blown you away with there skills.

But with a thorough interview, you can identify these people. If not sure, you can then administer a test of some kind (or if unsure, pass on them and find someone else).

In the end I did the task!

But "why?" you ask

Well I decided to take it as a learning opportunity myself.

  • I wanted to flex my TDD skills to check they have not become rusty.
  • I wanted to solidify my Blazor Web Assembly skills.
  • I wanted to spend a bit more time with GitHub Actions and Azure Static Web Apps.

The thing is the kata did not require a website, all the recruiter wanted was to see was how I solved the problem. I could have done that with a Console App, or even just writing some tests on a single class.

However taking the time to build a full system gave me some benefit, and therefore allowed me to satisfy the request of the recruiter as well as continue my learning journey.

The finished app is running here and the code is available here.

What did I learn from it?

The biggest thing I learnt was not to dismiss the technical test before interview. But to take it as an opportunity to learn something else.
If I am asked to do another one of these, I can now either show them this existing one, OR I can take it as a learning experience and perhaps next time I'll learn some React?

As an industry the way we are approaching recruitment is certainly changing, but Im not sure for the better, for now I need to just keep learning.


Thanks for reading this post.

If you want to reach out, catch me on Twitter!

I am always open to mentoring people, so get in touch.