I do not make the cut of best developers in the world. I highly doubt I would make the top 10%. What I have is a portfolio. My portfolio consists of over 50 projects that are used by 400,000 plus people a month. Clearly this means the work I do, though not cutting edge or top notch, is valued by a number of people. By simply glancing at my 1 page resume and clicking the link to my portfolio you will learn so much about me. Now as I said, I am not the cream of the crop but my resume surely deserves a call from a human being. But instead I get a technical assignment to create a mock app similar to the product the company I applied to uses. To make matters worse, this assignment will take the better part of 20 hours to complete. That is THREE days’ worth of work!
Hold up, where is this rant coming from?
I recently updated my StackOverflow profile with “Not actively looking but open to new opportunities”. Within a few days I got hits that matched my resume and I applied. There responses stood out from me. All from smaller sized companies (less than 100 employees). Two had technical assignments and one had a quiz.
The Programmer Quiz
We will talk about the software developer quiz first. The email response stated that this is a standard screening test taken by all software developers. The test consists of 15 multiple choice questions, each with 4 answers to pick from. The questions themselves are nothing complex and if you have a reasonable amount of experience with software development, the questions are a breeze. So why am I complaining then? Because I applied for Mobile App Developer and the specified role required Kotlin, Java, Swift; the mobile stuff. Let’s take a look at the questions:
- Four were asking how computers store primitives,
- One was an algebra question,
- One asked about file I/O,
- Two were about networking and SQL,
- One asked about mathematical ratios,
- The rest are basic programming stuff.
Let me get this straight. A software developer with several years of experience is filtered for a role in your company by this quiz?
This is what a resume backed by a portfolio on Google Play earns a prospective job hunter? Does this screening process even work? All these questions I can easily Google if I do not know. So what exactly is this screening process meant to screen?
The technical assignments
The first technical assignment was rather straightforward so to speak. No algorithm questions, no manhole covers to fit inside the Taj Mahal windows or whatever they ask at Google nowadays. The technical ask was quite simple:
Create a file loader library that can load images and other data pulled from a JSON file using Glide or Picasso, then use your library in an example app and write tests for the project.A technical interview assignment
This is nothing complex and a competent mobile developer can complete these tasks in a couple of days. Wait, couple of days? You mean for a chance to work at your small company, I have to spend 2-3 days working on an assignment that you may end up using in your main product line? Why don’t you just come to my house and slap my kids in front of me. That’s an equally levelled insult.
The second technical interview was broken down into two parts. Part A was an algorithm to manipulate primitives. Great, a Google Interview process fanboy. Part B requested:
Recreate a UI, complete with animations and image loader library from the provided GIF. You are required to use Kotlin, RxJava and MvRx.A technical interview assignment
The mock data to use for the assignment was not provided so I assume you have to set it up yourself somehow. This one did not ask for tests but I bet candidates that do provide them will improve their chances at working for the company.
Is this what our passion driven industry has been reduced to?
Striking a balance
Earlier, I mentioned that interviewers are employees with their own workload being bothered to go through resumes packed with exaggerations. I empathise with them as I have been on the other side of the fence. Asking them to read through every resume, going through each detail and pouring over Github profiles is wasting their time. The job seekers on this side being asked to do multiple choice quizzes and spend 30 hours recreating apps is also a waste of their time. We need to strike a balance. And something just struck me while writing this article; Going through resumes is not enough to filter candidates, but going through several APKs and the accompanying Github code is justified in your hiring process? That doe not seem right.
The interviews that reject talent
There are common interviews that present whiteboard challenges, algorithm problems and trivia. These interviews are so god-awful they reject talented people. Max Howell created Homebrew, used by basically all of Google but they rejected him for failing a whiteboard interview problem. First off, why is the creator of a tool used by the entirety of your company participating in a standard interview? This would be like if the Zimbabwean government turned down Barack Obama if he offered to be a presidential advisor. Large companies have this ego-trip that they are doing you a favour by adding you to their awesome team that creates projects earning billions of dollars a year. This is a very bad way to treat interviewees.
Three important considerations
- Coding tests are needlessly challenging and do not represent the skills of an applicant or connect to the daily duties of the role.
- The interview process is intricate and needs to be balanced to avoid each side feeling like their time is being wasted.
- The ability for a candidate to be humble, co-operative, work well with a team, learn the internal process and contribute to it are more important than trivia and code challenges.
And that is what I will leave you with.