I interviewed for a Backend Engineer position at Kraken Technologies (part of Octopus Energy).
I met the hiring manager at the London Django Meetup (btw, it's a great Meetup that runs monthly if you are in London and haven't been, and Kraken has been a long time sponsor of the event!). I initially approached the hiring manager to recommend a friend who's looking for a product manager role, but we had a great conversation and I got interested in the backend engineer role on the team as well.
After a visit at the Kraken office for another Django Meetup, chatting with some people who work there, and a subsequent catchup with the hiring manager to know more about the team, the work they do, and the way they work together, I was convinced to start the interview process.
The whole process was definitely one of the best experiences I've had in my career in tech! Friendly and helpful people at each stage, and quick follow-ups. It involves 5 steps:
1. 45 minutes screening call with internal recruiter to chat about my past experiences, overview of my technical skills, my motivation for switching roles, and for me to ask questions about the company culture, tech teams etc. Overall a really pleasant chat and I got to understand the company better from the chat.
2. 45 minutes technical/cultural interview with 2 engineers from tech teams. It was relatively informal, we (the interviewers and me) took turns to ask each other questions. We chatted about my past experiences and projects I worked on in more details, tradeoffs of technical decisions, what got us excited about work, the projects they’ve worked on at Kraken, technical challenges they have, their approaches to problems both from technical and non-technical perspectives. Overall it was like chatting with coworkers and I learned a lot from the discussions!
3. A take home test that takes about 3-5 hours, building a Django application using GraphQL API. A reasonably sized task and was interesting to work on.
4. 45 minutes final interview with 2 engineers on the team that I’d be joining to discuss the technical decisions of the take home test, and what I’d have done if I have more time. It was really thorough and no gotcha questions. It felt like just a code review chat with coworkers during my day job, which is the part that I love the most about my job being an engineer. We chatted about why I modelled the data the way I did, why I chose certain design patterns, my approach to testing, how I’d refactor certain part of the code if I had more time. We also discussed the technical challenges the team face and the expectations of the role and where my skillsets can fit in on the team, the learning and growth opportunities on the team.
5. Offer :)