I work in the technology function of a major bank and I would like a new job. However, the process of getting one is taking up all my free time.
Interviewing for technology jobs in finance has become an anxiety-inducing time sink. There is no consistency in process – even between teams at the same bank or fund. For the first stage I’ve seen written tests where you have to sit in the office, I've seen traditional technical phone screens, timed HackerRank tests, live coding algorithm interviews via a platform like CoderPad, a simple discussion with the hiring manager, and - what is becoming more common in finance, the take home test.
It's the take home tests that are killing me.
Popular in Silicon Valley, take home tests emerged in part as a response to the backlash against “whiteboarding” – the practice of writing code on a whiteboard during an interview situation. They make perfect sense from a company's perspective as all the time is spent on the candidate's side. The company has no need to do anything except to review the results, which doesn’t take long. The take home coding test is essentially a free filter.
This isnt what I've been used to. In an interview a waste of time is at least shared between the two parties. In coding tests, you're all alone. Worse, I've heard of friends being given very specific problems and requirements for their take home tests - raising the suspicion that the tests are a cheap way of solving an actual business problem.
In the past few months I've wasted a lot of life on these programming homework questions. Each time, a company has said, “spend a couple of hours on this”, and in the same set of instructions specified that they want to see “production quality code”. I’m sorry, but production quality code does not happen in one or two hours. All of the problems I’ve tackled have been a minimum of two days’ work. The problems are contrived and require a degree of research on the best way to tackle them. For example, when I was in process for a boutique investment bank I had to implement a read-biased in-memory temporal data store that could be interacted with via a command line interface. That’s a whole application, and it took me four days to complete. Fortunately, all of my homework submissions have been successful, but I’ve heard of many developers who've submitted and heard nothing at all.
Personally I think these at-home coding tests and homework questions are a huge burden. Fresh graduates and early career professionals can probably spare a weekend to work on imaginary problems that may or may not land them an interview. For programmers with young children it’s a much bigger sacrifice. That’s two days of not being able to interact and engage with family at home. And the two days of homework come after working long hours during the week. For mothers with young children or those with other caring responsibilities it must be especially difficult.
Take home tests are not all bad though, under certain conditions. When a homework question leads straight to an onsite interview I’m ok with doing it – particularly if it avoids algorithm whiteboard hazing (but many companies still do it anyway). I’m less happy to do a take-home coding test when it leads to just a phone interview – it’s a lot of time sunk before even talking to anyone at the company.
We technologists have brought this upon ourselves. We have made our lives unnecessarily difficult. Do accountants have to balance a fictitious companies books or find the most efficient way of structuring a company’s taxes in multiple jurisdictions before being allowed to speak to the hiring manager? Not that I've seen.