Endjin - Home

My journey from university student to apprentice software endjineer.

by Jonathan Donaldson

My journey from university student to apprentice software endjineer.

I’m Jonathan and I’ve just joined endjin as an Apprentice Software Engineer, I have been hacking together Java since I was 15 and recently completed my degree in Computer Science from the University of Lincoln. I’m using this blog to introduce myself and to allow others to see what it was like to join endjin, I know that reading the blogs when I was being recruited allowed me to learn more about endjin and made the recruitment process much easier as I felt I already knew the people I was talking to. I hope for this blog to be the first of many I create throughout my apprenticeship and for them to be a way for me to document my transition from university student to professional engineer.

Why did I want to join endjin?

After having a first-hand experience of working at a large organisation, in the form a summer internship at the end of my second year of university, I knew that I would prefer to work at a small company where I would have greater responsibility and be thrown into the deep end. During my quest to find a place to work (and after some failed interviews) I came across endjin, luckily whilst I was applying I made some notes on why I wanted to work for endjin:

  • They are a consultancy, so they get lots of different types of work and different problems to solve, from data science to cloud adoption.
  • Small company means I will have an impact, not just another cog in the machine
  • They create open source projects which give back to community
  • Reading the blog about the apprenticeships made me more interested, as the culture allows for learning: “One crucial thing I’ve learned during my time working at endjin, is not to be afraid of asking colleagues for help/guidance on particular problems/worries”

The recruitment process

Since I am one of the first people that endjin has hired since going full remote and I knew nothing about endjin before seeing a job posting on hacker news, I feel I am in a good position to show what the recruitment process was like.

The recruitment process at endjin was different from what I had previously experienced when I was looking for a graduate job. I was used to the typical process of having to fill in an application form (why can’t I just upload my C.V?), doing an online test and then if I was lucky getting through to the next stage of a phone and in-person interview.

The experience I had at endjin was so much better than this. They were quick to respond to my application, looking back at the emails, I had a reply from Howard 9 hours after I applied and had set up a phone interview within 3 days. For me this was great, it felt like the process was moving forward and even if I didn’t get the job I was going to fail fast.

Phone Interview

The interview with James and Ed consisted of them asking fairly standard questions about why I wanted to work at endjin and me spending a lot of the time trying to explain my dissertation (classifying encrypted network traffic using a neural network). Overall it I think it was a positive interview and I especially liked that Ed was on the call as he was able to give a first-hand account of what it was like joining endjin as an apprentice. They were honest from the start that they were still working on their recruitment process since going full remote and after the call, they emailed to tell me that the next step in the process was some pair programming sessions.

Pair Programming

I must admit I was a bit apprehensive when I was told that they wanted to do 4 pair programming sessions with me. I had done a bit of pair programming as a part of my university course, but nothing formal and not with people had I never meet before. The pair programming sessions were done at my own pace, as I was keen to get them over and done with I did them over the course of 2 days.

There were none of the typical interview questions like Fizz Buzz or reversing a binary tree. The pair programming sessions were based on work that they were actually doing, all the sessions were very different, it ranged from doing machine learning with Ed to debugging a PowerShell script with James. I feel this was a much better way to gauge my skills as the sessions varied so much even if I was weak in one area, I could show my strengths in others. The pair programming also allowed me to learn more about endjin and meet more team members.

The final hurdle

The final hurdle at getting the job was the in-person interview. This was the make or break point, I would either come out on the other side of it having made myself look a fool or impressing them with my brilliance and got the job (I’ll let you figure out what happened).

During my job search I had managed to gain an interview at another company, and in a moment of ignorance, decided it would be a great idea to do the two interviews in the same day in two different parts of London. Endjin’s interview was my second interview of the day and my other interview was very much a typical interview as well as some whiteboard exercises. The endjin interview was not what I expected, doing an interview with multiple people is typical and allows for an interview to continue while another person is thinking, for the endjin interview I walked into a room with the whole team. Luckily this was not a typical interview, there were no hard to answer questions, no whiteboards (thankfully) and it seemed like they did most of the talking.

Overall, I would say that the recruitment process at endjin was one of the better processes I had been through. Even though it does take a time commitment with the pair programming sessions, to me it shows that they really care about their recruitment process and are willing to spend their time and effort to recruit the right people.

The fun begins

Even though I work remotely, I wanted to relocate so I could be closer to everyone else which would make it easier to meetup and better integrate into the company. Everyone has been helping me before I moved to Reading, from helping me decide where to move to, to Howard and Matthew helping pay for my moving costs. The support from everyone made the transition from university student to “professional” software engineer remarkably smooth.

My Home office

One of the things that can make working from home much more productive is having the right setup to work from. Once I was moved into my new flat Howard delivered all the things I would need to start working from home.The laptop from which I will be doing all my developing is a top of the range Surface Book 2 15”. It came complete with all its accessories: ergonomic keyboard, surface mouse, dock and everything else you could think of. I can, without doubt, say the kit that I have been provided (unfortunately) gives me no excuse to not be productive

One disadvantage of working from home is having to rely on a home broadband connection, which can be pretty awful sometimes. When I knew I would be moving to Reading and that Hyperoptic served some buildings in Reading I had to have it. Which resulted in me paying more than I would have liked for rent and £65 per month for my internet but the cost has been worth it, even for just showing everyone how much faster my internet is than theirs.

My first week

My first week has consisted of my getting up to speed with my how endjin works and overcoming my imposter syndrome. The expectation from the start has been that I am here to learn a lot and that is what I have been doing. On my first day, I was given a training backlog consisting of 47 items (yes I counted), these range in topics from c#/.net to tooling and Architecture. Each item in my training backlog has 4 different levels beginner, intermediate, advanced and brain melting.

I was tempted to try the brain melting stuff, but I thought it would be best to start with something marked with beginner and started reading Programming C# 5.0 by Ian Griffiths. I have also been using Pluralsight courses to reinforce what I have been reading, mainly Accelerated C# Fundamentals by Scott Allen. The training I have been doing this week has been markedly different from what I was learning at university, where the focus was on giving me a breadth of knowledge and turning me into a Jack of all trades, the aim of all the items on my training backlog is for me to specialise and become a software engineer.

I have also had various chats throughout the week with all the team members, one of them was with Matthew and Jonathan. They explained to me the importance of my personal profile and give me tips on what I should write on my LinkedIn profile. As endjin is a small company it is important that we project ourselves out there and LinkedIn is one of platforms that we can use to do this. This was helpful as my LinkedIn profile was barebones and really did need updating.

The process of joining endjin and completing my first week has been great. I feel that my original reasons for wanting to join endjin are holding true. I have had the opportunity to learn about very different projects and seen how important everyone is. The process of getting answers to any questions has been great as they have not only been telling me what the answer is but the reasons behind it as well. I feel incredibly lucky to have joined endjin and will be taking advantage of the opportunity I have been given to grow as a software engineer.

About the author

Jonathan is a 1st year Apprentice Software Engineer, having recently gained a Computer Science degree from the University of Lincoln, he is just starting his journey in solving technology problems for clients. You can follow Jonathan on Twitter.