My first developer job application

My wife and I had planned a short holiday for soon after the Makers Academy course ended, and I'm led to believe this is common for graduates of the course who haven't been able to spend much time with their families during the course. Because of this I was advised by the Makers Academy careers team not to start applying for jobs with their hiring partners until after my holiday, because I probably wouldn't be available to sit tech tests or to attend interviews when required. However a pretty tempting job description was posted which had a very short window of availability, and with the interviews scheduled to take place days before my holiday I took the plunge and sent in a quick application.

The world of fin tech

In respect of Makers Academy's hiring partners and their practices I won't mention company names or specifics within this blog. However I will say that this company is a bit unusual for a Makers Academy hiring partner. To explain, consider that Makers Academy is a coding bootcamp, and although it teaches general coding concepts that could be applied within any industry, it uses web development as its medium of choice, because of its relatively low barrier to entry. Because of this all hiring partners that I'd seen until recently were companies that worked with web development technologies. However this new hiring partner, which had never previously hired a Makers Academy graduate actually works within the financial technology industry, and rather than web technologies uses a very Microsoft heavy combination of languages like C# and F#.

While the Microsoft languages (and compiled languages in general) are completely outside of my comfort zone, the job seemed interesting and the company decent to work for, so led by Makers Academy's advice that I should be able to pick up any new language quickly, I figured it was worth a shot. I had briefly spoken with the CEO of this company at the careers fair, and had already decided that while I consider myself quite front end and design oriented, I was interested enough to check them out.

Shortly after applying for the job through Makers Academy (as a hiring partner all business is done through the careers team) I was informed that there was too much interest in the job, and the company would select which applicants they wanted to interview. Luckily for me I was chosen, and my interview date was set for a couple of days later.

I'm led to believe that it's standard practice for hiring partners to issue tech tests to be completed at home, the results of which are then consulted when deciding which applicants to interview. This company however works differently, and the tech test was scheduled to be done on-site directly after the formal interview. I was however assured that the company understood exactly what is and isn't taught at Makers Academy, and while the test would be carried out in C#, they didn't expect any C# proficiency from us, it would be more about logical thinking than coding skills. However I did spend some time in the days leading up to the interview looking at some C# tutorials to prepare myself as best I could.

Interview day

The day of the interview came, and I made my way to the large office block in London that houses the company. As soon as I entered the building's reception area I knew for sure that I was in financial territory, I was surrounded by marble, more marble, and so much empty space that most start-ups would go bust trying to pay the rent for the reception area alone. I took the lift to the seventh floor where an employee greeted me, led me to the waiting area and offered me a drink. Shortly after another employee came to greet me, and led me on a guided tour of their expansive office space. It seemed like a great place to work, open plan, collaborative, welcoming, just the sort of place I could see myself working. I was struck by the employees too, they all seemed very friendly, relaxed, and dressed casually, they were a perfect juxtaposition with their financial district surroundings.

The cultural and behavioural interview

After the tour I was met by the HR manager who led me to a boardroom, where we made small talk and waited for the development team leader to arrive. This part of the process was called the cultural and behavioural interview, or as I'd call it a pretty standard job interview. I was asked several questions around my motives for wanting to work with them, my employment history, and any times when I'd solved difficult problems. Nothing gave me too much trouble, although a few technical questions were thrown in from the development team leader, which took some thought to answer well, not least because I was asked about some very specific details of how I structured a particular project's code weeks before, during the course, the small details of which I'd forgotten.

I felt that this part of the process went really well, it was handled in a relaxed manner, and as I'd been trained to do I treated the experience as a two way conversation, asking questions of my interviewers. The conversation felt like a genuinely interesting chat, and not like I was being pressed for answers too hard. In fact there was so much to talk about that after an hour the HR manager had to call an abrupt end to our chat so that there would be enough time for me to sit the tech test.

The tech test

I was led away from the boardroom by the development team leader, who brought me to the development area of the offices, and introduced me to the two developers who would be conducting my tech test. I felt like I was in their way because they were already busy pair coding at the time and clearly not thrilled at the timing of the interview, but were very polite about it and said they were happy to assist. I was really encouraged to see that people were actually pair coding in the real world, something that Makers Academy has taught us to do, but which I suspected might not happen much out in the wild.

The next thought that entered my head was that it would be quite imposing to have to sit my tech test in this large open office space, because the room was quiet, and the last thing I'd want would be a whole room full of experienced developers listening in to my every mistake. I was thankful when I was led to a quiet side room with nothing more than a couple of computers and a door that shut us off from the rest of the office.

It was explained to me that I had a brief to fulfil, which was hosted on Microsoft's Team Foundation Server, something that I'd never seen before, but which I could instantly liken to issues being posted within a GitHub repository. Seeing nothing but Dell machines running Windows was really strange at first, Makers Academy practically insists on working with Mac OS X or at a push Linux, but never Windows, and here they were sending me straight to the dark side. All joking aside I had been a Windows user for a long time before the course so I felt fine with the prospect of using Windows, just a little rusty.

The brief was written in the style of an Agile user story, something which was familiar to me from the course. Further to this were written instructions of what needed to be done, and a data file. The task was to read in data from the file, which was structured in a particular format, construct an object oriented representation of it and print specific information relating to it to the screen in a different format. Not being a C# user I wasn't expected to code myself, but to navigate one of the developers, while the other watched on and took notes. He was quite literally sitting a foot away from my face scribbling on to a pad and nodding calmly like a therapist. Slightly off putting, but I made it work.

The two developers were great guys, very friendly and supportive, but the situation wasn't my favourite to be in. I have a feeling that if I were to sit the same test at home (as many companies allow) then I'd have had the time to really consider my approach, and could have produced a much stronger solution. When asked to produce a solution on the spot with no time to prepare, and asked to instantly begin thinking aloud, constructing a good solution is a tricky thing to do. My solution progressed fairly well, but I did get stuck on a number of occasions. The developers were great about it and posed questions, the answers of which would guide me toward my next step. I was well aware however that for each question there was a very specific answer they were hoping for, and if I didn't give it I felt as though I'd instantly failed, notable by the silent scribbling of the notepad guy.

By the end of the process my solution wasn't complete, but I was assured that completing it wasn't necessary, they just wanted to see how I work to solve problems. After the tech test, and after two and a half hours in the building, the developers led me back to the lift, shook my hand and wished me good luck.

The result

It wasn't until exactly a week later, moments after getting back from my holiday that I received a response. The HR manager called to inform me that my application was unsuccessful, and offered some useful feedback on the interview process. I was told that the cultural/behavioural part went really well, and based upon that I'd be a great fit for the company. However during the tech test, the developers felt that perhaps I was a little too concerned with my lack of C# knowledge, when I should have just used my logic skills to tackle the problem. I think that is a totally fair appraisal, it's pretty much how I felt the tech test went too.

So that's one interview down, it's a swing and a miss. However it's provided me with a great opportunity to practice my interview technique, and pointed me toward the things which I need to improve to increase my chances of getting a job as a developer, so it was a useful experience all around.