Being a principal engineer at Skyscanner
In this follow-up to her influential post, Finding the steps on the individual contributor ladder, Nicky Wrightson discusses her experiences as a principal engineer at Skyscanner, and assesses the company’s support for individual contributors — does it run deep, or is it skin-deep? Read on for her take…
Skyscanner is growing and our Engineers don’t just love working here — they love telling people about it. Over the next few months some of our most passionate engineers will be writing to showcase our London hotbed of software engineering talent, and how we’re impacting millions of travellers, all over the world.
In my recent blog post, Finding the steps on the individual contributor ladder, I wrote about the problems that exist in the industry around defining and finding senior individual contributor (IC) roles like that of principal engineer (my own role). As I observed in my blog post, you can tell if a company is committed to helping their individual contributors grow by asking if they have job specs prepared for IC roles — if they can provide you with a spec it is a good indicator that they can and will support individual contributors.
So when I was approached about working for Skyscanner and was provided with a principal engineer job spec it really piqued my interest and ultimately led to me interviewing. During the interview process I was told about the career structure and competency framework at Skyscanner, which further cemented my opinion that Skyscanner was heavily investing in the growth of its individual contributor track. During the interview process I was able to talk to other principal engineers at Skyscanner, which gave me the opportunity to quiz them about their day-to-day activities and, crucially, about their views of this role across the company.
During my search for the ideal principal engineer role I spoke to a number of companies with open positions — and several of these companies required me to take coding tests in order to demonstrate my technical ability. This requirement made sense if I would be spending my days cutting code, but at the principal level that is often not the case. Skyscanner gave me the benefit of the doubt, and as I was working as a principal already they didn’t see the need to test my code-writing ability. Instead the interview was very much more focussed on technical skills that are more relevant to principal engineers — such as system design, understanding scale, architecture, operational concerns and the compromises inherent in the technical approaches I have made. Exploring these skills took place over three sessions — one which focussed on depth of experience and two ‘whiteboarding’ sessions which covered difficult problems. Skyscanner recognises that there is a lot more to being an engineer than technical brilliance — after all, software is delivered by teams, not individuals. This has implications for every single hire — and so Skyscanner also dedicates an interview to discussing critical ‘soft skills’.
How we structure the IC role
As a tech company, Skyscanner is driven by its engineering talent. We have a large number of engineers operating in many squads and tribes across the globe. This means that we are often solving tough problems across a significant area. To support our engineering squads we need a mature structure for our IC path — a couple of principals dotted around just wouldn’t be able to handle the load. So Skyscanner has four levels after senior engineer — principal engineer, senior principal engineer, distinguished engineer and technical fellow.
I am a principal so can really only talk in depth about this part of the individual contributor hierarchy. Skyscanner takes an appealing, highly flexible approach to defining the role of an individual contributor. We do not have a checklist for these roles and there is an appreciation that they can be viewed from several angles — all of which have value. For example, you might work with a single squad in a deeply technical capacity, focussing on solving a very hard problem, perhaps. Alternatively, you may work with several squads in an overarching capacity, providing guidance rather than being directly in the delivery path. At Skyscanner, principals are valued whether they have deep expertise in a particular area or specialise in influencing the direction of wider groups within the company, and our role definitions allow for this. Of course the exact nature of roles will change from tribe to tribe, but ICs always have the ability to shape their own roles.
Here at Skyscanner we are lucky enough to be growing fast, which opens up clear promotion paths for IC roles. Most companies that are expanding slowly (or are contracting) are just not able to promote people into IC roles without affecting delivery, so they tend to interview for these roles as and when they become available.
Individual contributors at Skyscanner also have the potential to augment their skillsets and develop their careers in a flexible manner. For example, if they have ambitions to become a CTO at some point they will need to develop exceptional line/team management skills. At Skyscanner they can develop those skills by jumping onto the parallel engineering management track — if and when they want to. You are not forced to handle management and technical leadership at the same time, which would be to the detriment of a lot of ICs, but you can switch between them — you are not forced to stay on the track you started out on.
My first six months as a principal here
I am now nearing the end of my first six months at Skyscanner; it’s gone by in such a whirl of activity and change that it barely feels like six weeks! Skyscanner has a slick, well-oiled onboarding process, which definitely helped me find my place — fast. Even on your first day, all the new joiners start at the same time for a half-day’s induction. During that induction I received my passes, my kit, a tour of the building, and verified my SSO and VPN access. All these things sound fairly obvious, but I have rarely turned up to a new job to find that my computer was ready for me to use. After the induction I had the rest of the week to settle in with my tribe. I had been given a few options as regards which tribe I could join — I took the bold decision to start out working with Data Platform — mainly because I knew nothing about data! This was an important thing I learnt about being a principal — prior knowledge in a domain or a language should be irrelevant — when you become a principal you will have a rich toolkit of best practices, patterns, prior paradigms that you will be able to extrapolate from. However, I soon found out that the Data Platform tribe here worked at mind-blowing scale — circa 2 million messages per second arrive at our platform. My past implementations were not nearly at this scale. This caused a massive initial wobble in my self-confidence, but I realised that I needed to be humble (and in some cases return to basics) and absorb as much as I possibly could and ultimately do what I love to do — learn.
There were a couple of things that helped me get up to speed at the beginning of my time at Skyscanner — and continue to help me today:
- During my second week at the company I went on Skyscanner’s ‘engineering bootcamp’ — this is for all engineers, regardless of rank, along with engineering managers. The bootcamp combined learning about business domains with hands-on workshops, and there was even an AMA with our CTO, George Goodyer. Skyscanner has developed a lot of in-house enablement tooling and the hands-on workshops had all of us deploying microservices out to our Kubernetes cluster rapidly, often in languages we weren’t familiar with. One of the reasons I paused before joining Skyscanner was that I loved writing in Go and I had heard that the 3 ‘blessed’ languages at Skyscanner were Java, Node and Python (in no particular order) — I was loath to give up my Go. However, I realised that at principal level problem-solving needed to be fairly language-agnostic (and anyway, once I joined I found out that there was plenty of Go around for me to meddle with — for example, we have just taken ownership of Bosun from Stack Overflow). Anyway, there we were: a rusty principal, several mobile and front-end engineers and a few back-end engineers all pushing code out in languages we had varying degrees of familiarity with. This bootcamp gave me a turbo-charged start to understanding the lay of the land for development here.
- The support of my tribe lead and the other principals in the tribe — they gave guidance but more importantly the space to work out where I could fit and provide value to the tribe. Also timely, ongoing feedback from my peers is helpful to re-orientate my direction if needed.
- Psychological safety — I didn’t feel like I had anything to prove and could ask any question to anyone and they would stop and spend time explaining things
- Community — we strive to promote community and I certainly feel that amongst the principals. We have formal meetings where we all try to get together and we try to arrange regular lunches for the London-based principals. This gives me an opportunity to see how other tribes work but also the opportunity to solicit advice. It also gives me access to a huge hive-mind — we have over 50 principal engineers globally — equivalent to a staggering amount of smarts in all dimensions
While I wouldn’t say that I’ve got things nailed after just six months, I definitely think that I’m on the right trajectory.
It is a relief to me to know that I have the support to continue honing my technical skills within an environment with such a mature and clearly signposted career ladder for individual contributors.
- “Finding the steps on the individual contributor ladder” By Me
- “On being a principal engineer” by Silvia Botros
- “Finding the next level tech job” by Anna Shipman
- “Managers path” by Camille Fournier
- “It’s People, Stupid (People Are Stupid?)” by Andy Walker
Our engineers move people
At Skyscanner our global presence offers scale, while still feeling small enough for everyone to have impact. Impact that ripples out to millions of travellers across the planet each day.
Just as our customers trust our service, so we trust our Engineers. If you build it, you run it. And right now, we’re creating the next generation of apps, products, systems and services that will define the future of travel.
Together and cross-functionally, our Engineering teams strive to deliver an unmatched traveller experience. Want to discover more? Check out our jobs site.
About the author: Nicky Wrightson
Nicky has extensive experience delivering large scale cloud native architectures. She passionately promotes operability as a first class concern in developing these large distributed systems. She currently works on the data platform at Skyscanner, where the huge scale means she has a whole different set of problems to solve while still striving to keep things operable, cost-effective and maintainable.