[email protected] Refactor 2021: How We Work
Engineering @ Pluralsight is a document that outlines how we do engineering at Pluralsight — how we work. It establishes best practices that enable us to deliver the most customer value, create and maintain healthy processes, and perhaps most importantly it shapes a system where engineers and Pluralsighters feel fulfilled and happy at work.
Since the first version was created in 2018, Pluralsight has gone through many changes. We recently took the opportunity to reflect on how our practices are serving us and where we could make meaningful adjustments. We are excited to share an update — a refactor if you will — to Engineering @ Pluralsight with the world.
Why refactor now?
Change is an important part of Engineering. We must learn from our failures and even from our successes. We must respond to changing markets and business conditions.
“Responding to change over following a plan.” -Agile Manifesto
Our Engineering @ Pluralsight document has been serving us well since it was created in 2018 by a delegation of Pluralsight engineers. In the three years since, Pluralsight has gone through many changes. There have been a number of acquisitions, we have become a multi-product company, we have gone through two re-organizations, we have added many people with diverse experiences to the team, and do I need to mention 2020? As we emerge from these experiences, we are still Pluralsight Engineering; but the fact is, we have changed.
Engineering @ Pluralsight has not evolved with these changes - until now.
With that, I present the latest version of Engineering @ Pluralsight. While the full document is linked, I highlight some key points below.
Engineering at Pluralsight key statements
How we think about engineering can be summarized in the following 5 key statements:
- We are empowered and responsible.
- We are committed to healthy teams.
- We build and sustain healthy systems.
- We optimize for value delivery.
- We are driven by data.
What has changed
While I’m not providing a side-by-side diff of all the changes to Engineering @ Pluralsight, I want to point out some key changes that have been made.
- We refocused on principles while broadening stated practices. An example of this is that in addition to listing pair and mob programming, we now also list PR workflows as a supported way teams can choose to work. Note that we still optimize for flow efficiency.
- We made some widely-adopted and accepted practices explicit, such as “We avoid unnecessary release trains” and “We prioritize resolving production outages over all other work.”
- We noticed how statements in the previous document were interpreted differently depending on the person reading it, and we actively sought to make statements clearer to reduce ambiguity. For example, “We do not create big designs up-front” was interpreted by some to mean we do not have any planning discussions at all, so we added “We do not do detailed planning for long-range work.”
- We brought in more explicit focus on the products we ship. “We co-create and measure outcomes with our leaders” and “We create quality products that we are proud of.”
There’s more not mentioned here; take a look for yourself and see what stands out to you.
What hasn’t changed
While some things have changed, many things haven’t.
- We remain passionate about our craft.
- We remain dedicated to delivering a product that customers love, and helping Pluralsight thrive.
- We still focus on team health. We are dedicated learners who make each other better through our work and interactions.
- We still own our work. We work collaboratively and cross-functionally every day. We test our code. We ship to production daily. We monitor our systems and take responsibility for their scalability and performance.
If you haven’t heard, Pluralsight recently acquired A Cloud Guru and these two incredible teams (and products!) are joining forces. A Cloud Guru was not part of this most recent refactor, so there may be more changes to come as we learn from each other and continue to iterate on our practices.
Engineering @ Pluralsight is not meant to be a one-and-done documentation effort. The intention has always been to update this valuable document as Pluralsight grows and changes, and as our industry evolves. Reflecting, learning, and improving is a core tenet of our Engineering culture; one way that manifests is through updating our principles and practices in Engineering @ Pluralsight.
Check it out
I encourage you to check out the full document here. If you are excited by what you read and want to work with us, check out our open positions!