3 minute read

In 2013 I worked at a small tech company in Brighton, England, my first job after graduation.

The company, which consisted of the owner, myself and a senior engineer; hosted an auction platform for customers, also providing customisations, design and support.

I enjoyed this job as it gave me a lot of 1-on-1 time with a talented senior developer who frankly had the patience of a saint. Back then I was very green to the ways that software is architectured and most of the code I wrote was downright awful.

The customer’s always right

My new job search was prompted by one of the most difficult days I’ve had in my career. Our senior developer was away on vacation leave when we had a cold call from a potential client. The client wanted to use our software post haste.

Now unlike what you would expect from a software company today, the process to onboard a new customer was manual and archaic. We’d start by making a copy of a project template, which consisted of an uncustomised and unstyled version of the software. This copy was then checked into a Git repository and deployed from our machines as an isolated application to our servers.

The problem for me on this summer afternoon is I had no clue how all of this worked as I had never onboarded a new customer before and documentation didn’t exist.

Reporting this fact to my boss resulted in a verbal tirade that I wouldn’t tolerate in my personal life never mind work.

After the berating had ended, we both sat in silence. My boss was convinced I had been taught how to do this. I certain otherwise. But it didn’t matter. The damage was done.

To London

I updated my resume and uploaded it to the jobs board, Monster UK. This led to a few recruiters reaching out and setting up phone screens with companies in London.

After a screen with a CIO, I was invited to interview for a junior developer position with a digital cinema software company based in Hammersmith, West London.

I got the train from Brighton, arriving early at their office just a short walk from Hammersmith Tube station. The weather was atrocious and my suit was drenched.

As I waited in the lobby a huge row erupted. A manager was chastising an employee for selling a license to their old software. This should have been a huge red flag but at the time I brushed it off.

I met Matt the CIO, who I would later find out was a Xoogler, and Max a developer at the company. I was ushered to St Paul’s church across the road as there wasn’t a room available at the office to conduct the interview.

The interview

We had a short chat about my experience working in Brighton and then Matt inquired if I had any experience scaling MySQL databases using sharding. Which I didn’t. Matt and Max then left me with a multiple choice quiz which I filled out over around 15 mins.

Then came the whiteboarding, or paper boarding as there wasn’t a whiteboard we could use in the church.

The first question.

Write a function to reverse a string

I should break here to explain that I am a rather nervous interviewee

The code I wrote looked something like this:

def reverse_string(input_string):
  output = ''
  for i in input_string:
    output += i
  return output

Max laughed.

“Surely you know this”

Max — Expert string reverser

Any composure I had left completely evaporated. I froze. The question was trivial and I was unable to write a solution.

I felt like a complete imposter. I must have fluked my first interview. I started to become very anxious that I wouldn’t get another job and I would be stuck where I was.

Matt pushed the interview along by introducing another question which I vaguely recall involved finding the factors of an integer. At that point, we were all running out the clock.

I returned to Brighton humbled by the experience. One of two interviews I’ve bombed during my career. The other you’ll have to find on Glassdoor…

Updated: