Skip navigation to content

Case Study: Neil Wells

Personal details
Degree:Computer Science Profile picture
School(s): School of Computer Science
Year of Graduation:Jun-2015
National of: United Kingdom
Employment details
Organisation: Google
Job title: Software Engineer/Site Reliability Engineer
Occupational Sector: IT/Computer Programming
What has been your route to getting your current position?
I attended a Google recruiting event during 2nd year where I got to know a recruiter. This led to an internship the following year. After the internship they felt that I didn't have enough experience to continue so I spent the next summer at Skyscanner. After that I followed up with the recruiter and re-applied, interviewed and was offered a place.
What does your job involve ?
I currently sit between two disciplines - software engineering and site reliability engineering. As a software engineer I work on the full Google My Business stack (from client-side Android and web apps to the databases and pipelines and all of the processing in-between) to introduce new features, general maintenance (there's always something to be improved!) and improving the efficiency of the team. As a site reliability engineer I work on My Business (and, soon, Google Maps) to improve reliability. This involves both responding to issues in real-time and taking a step back to see the whole system and investigate where issues arise and how we can detect, prevent and mitigate them.
What are the best bits of your job ?
Every day I'm faced with interesting challenges. Some are purely technical - like understanding the complexities of our distributed systems - and some are organisational - like working out how we can collaborate with other teams to improve our release velocity. Some of these don't seem interesting at face-value, but become fascinating with Google's scale and the level of detail we can use. Most importantly, I get to work on the things that interest me most - I started as a pure software engineer and spent time updating internal libraries that interested me and trying to improve the software engineering process for my team. Then I got interested in site reliability engineering and started a project to improve the reliability of Google My Business. Through that I've learned so much about scalable systems (TLDR; it's hard!), had some (very) near misses and enjoyed every moment of it.
Why were you successful?
I had a number of interesting side-projects on my CV as well as a lot of experience from internships every summer. I also built up a network of friends during my internship at Google. I'd also spent a lot of time learning about the interview process and how to perform well in them.
What skills/ knowledge from your degree have you found particularly helpful in this role?
The most important thing I learned was how to learn quickly. My existing knowledge can only take me so far - many things I do at Google require learning some new framework, idea or tool, and the skill to pick these up quickly is invaluable. My degree's team projects also taught me how *not* to work as a team! (which is a valuable lesson in itself)
What advice would you give to students wishing to follow the same path?
Never give up on a job at Google. The hiring process is notoriously strict and often turns away people who would work well at Google. This can be very demoralising (especially if you application takes a long time). Look for any way to be noticed by recruiters (doing well at CodeJam is a good start). When you practice for interviews, spend time not just on the core coding, but also on making a good impression. Hours are flexible and opportunities are endless - whatever you're interested in, there's a team at Google doing it. You'd also be surprised at how interesting the small problems are when you have to do it at Google scale. Internships in particular are very social, and you should take the opportunity to build a network of friends across Google.