By Marta Kosarchyn
Our engineering team has grown a lot over the past couple of years, and we’re delivering more product than ever before. It’s exhilarating. It’s also tricky. Because scaling is hard. This is the first of a set of posts in which we’ll talk about how we’re managing it at Khan Academy.
Like many engineering organizations experiencing rapid growth, we’ve used some standard strategies for scaling over the past two years:
- Technology and architecture—leaner and cleaner
- Decision-making and communication—be open, keep it simple, repeat often
- People and organization—make sure the right person is in the right seat
- Process and tools—standard and common across the team
These are effective levers, and they’ve been helpful as we’ve grown from a small engineering team to a not-so-small engineering team, moving ever faster and delivering more and more. Stay tuned for more on how we’ve used them.
But today’s post is about what I believe may be the most critical aspect of scaling, the one that really determines how fast and smooth a growth journey will be—evolving your engineering principles so they support hyperscaling while keeping your culture intact and your team vitally engaged.
Getting principles right has an accelerating effect on all other levers of change as well as positive impact on growth and professional development opportunities for engineers. It also results in a sustainable codebase, faster velocity, and—most importantly—happy and productive engineers.
Khan Academy’s initial engineering principles were key to the success of our early years as an organization. They reflected the nimbleness necessary in a team bootstrapping a foundation for reaching the vast global community of learners whose lives could be changed with free access to a world-class education. Those initial principles were aimed at removing any barriers to speed. They encouraged, for example, anyone to work on any of the code, anytime. They were effective, and we grew in both impact and team size. We grew a lot. We grew to a size that meant alignment with our original principles was slowing us down. We became more likely to break things and to leave behind clutter in the code. Architectural decisions were made implicitly and on the fly and were not logged. Ultimately our pace of delivery slowed. That’s when we identified the need to correct course and embarked on a journey of turning things around: it was time to reexamine our engineering principles.
Getting principles right has an accelerating effect on all other levers of change
We had to refocus on what it takes to build high quality and sustainable code when there are 10 times as many engineers working on the product, when the product has expanded to include test prep (we have over 50% of the market for SAT prep) and enabling teachers and students in the classroom. And continue to publish more and more world-class content – now in more than 40 languages and across more than 370 courses.
Here are our updated Khan Academy Engineering Principles. A very thoughtful working group of Khan engineers, architects, and managers focused on what would guide us best in this next phase of our journey. The principles represent how we work together as a community focused on growing a world-class engineering team that delivers on a mission to provide a free world-class education to anyone, anywhere. We champion quality (sometimes we go slow to go fast), we nurture every engineer (everyone learns and everyone grows), and we collaborate compassionately (we work as an efficient team and we treat each other with utmost respect). The principles remind us that the impact we make on our community and on the world should be no less than spectacular.
I’m excited to share our new engineering principles with you. Please read. We’ll continue to unpack them in coming posts. And, we’ll talk more about how the new principles are guiding us through a re-architecture journey and other key foundation strengthening initiatives.
If you find our engineering principles are the kind that you want to hold yourself to, come join us—we’re hiring!