Khan Academy Engineering Career Development

Feedback is a gift. We aim to use this document to give ourselves and our teammates consistent and honest feedback and to help us all improve.

We’re part of a unique team filled with smart individuals working hard to change the world. This living document describes how we think about a career development trajectory that is fair, easily understood, transparent, and competitive[1].

fair adj \ˈfer\:

  1. Compensation is based on a repeatable, well-understood system. It is not based on your negotiation skills.
  2. There is no forced stack ranking. If everybody on the team succeeds, then everybody on the team succeeds. You are not competing against your teammates.

understood adj \ˌən-dər-ˈstd\:

  1. Employees can self-evaluate and evaluate their peers, using this system to understand how to improve and advance their career.
  2. Two different managers using this document to figure out employees’ salaries will achieve consistent results.

transparent adj \tran(t)s-ˈper-ənt\:

  1. There are no secret decisions made outside the influence of this document. Being open extends beyond our product.
  2. We believe in employees’ right to privacy, so we don’t reveal what a given individual earns to anyone but them and their manager. However, transparency means that you understand the overall structure and salary ranges of the organization. 

competitive adj \kəm-ˈpe-tə-tiv\:

  1. Our salaries are at least as high (top 25%) at Khan Academy as they would be elsewhere for a team of our size. Compensating competitively is critical for growing and maintaining the high-talent team we’ve managed to put together so far.

We’ve broken career development down into Skills, Scope, and Experience[2].


FAQ

How do Skill / Scope levels work?

There are five levels of Skill and Scope. We are all assessed at a single level with two possible modifiers: approaching or exceeding for those who are just stepping into a particular level or completely mastering it, respectively. See “Putting it all together.”

How are levels determined?

The examples listed for each level are meant to be examples of evidence you’re at that level; it’s not an exhaustive list -- there are many other ways to demonstrate a particular level beyond the ones included here.

It’s also expected that you totally and consistently embody the characteristics of a particular level over a significant period of time. For example, accurately estimating a few projects doesn’t necessarily mean you’re seen as “a person who accurately estimates projects” yet.

They’re also intended to be cumulative. If something is mentioned in “Skillful”, it’s expected that you will still have that (or have improved upon it) when you reach “More Skillful.”

What is a reasonable timeframe for achieving these levels?

  1. Beginning skillful / Beginning contributor - typically achieved at the start of one’s career, such as during a fellowship or internship.
  2. Skillful / Contributor - typically achieved within the first year of KA or equivalent full-time experience.
  3. More skillful / Owner - typically requires 2 to 4 years of experience.
  4. Super skillful / Architect - Reaching this level with less than 5 years of experience would be extremely unusual. Never completely reaching this level in its entirety is not necessarily cause for concern.
  5. Ludicrously skillful / Chief architect - Reaching this level with less than 7 years of experience would be almost impossible. Very few people are expected to ever reach this level.

Skills

We hire incredible people with high expectations, then we set our expectations higher. These specific skills reflect those expectations and are tightly aligned with our development principles:

Maximize impact

Be open

Empathize and respect

Have conviction

Seek engineering maturity

Beginning Skillful

Writes some production-ready code and some code that isn’t quite ready. Learning the ropes of our tech stack as well as our development practices. Starting to transfer the skills they’ve learned independently or in school to a larger, shared environment. Becoming comfortable with communicating project statuses, making estimates, breaking tasks into smaller chunks, and owning small tasks or projects. Fellows and interns will typically start at this level, with the goal of working towards Skillful during their fellowship / internship.

Technical

  • Writes code that is sometimes production-ready, but usually requires iteration before shipping.
  • Is building proficiency with our tech stack and becoming comfortable with learning new technologies and skills.
  • Receives and integrates feedback from code reviews to ship high-quality code.
  • Is becoming comfortable working with one or two areas of code.

Communication

  • Proactively asks questions and reaches out for help when stuck.
  • Clearly and openly communicates the status of their work.

Planning

  • Is learning how to break down tasks and make accurate task estimates.

Execution

  • Collaborates with peers and mentors to complete projects as a team.
  • Is becoming comfortable working independently on tasks or small projects.

Maturity

  • Honors basic commitments to the team (e.g., shows up to meetings on time, responds to email/chat within a reasonable timeframe, etc.). May occasionally need to be reminded of things they committed to doing.
  • Seeks out and integrates feedback from teammates and mentors.
  • Treats others with respect.

Skillful

Often writes production-ready code. Code reviews are sometimes perfect, but sometimes require a bit of explaining and effort from reviewers. Is becoming proficient with our tech stack as well as our development practices. Has started getting into the mindset of continuously shipping.

Technical

  • Writes code that usually ships promptly by receiving and successfully integrating critical input from code reviews. Work rarely needs to be rewritten before shipping.
  • Follows style guides.
  • Ships maintainable code that works and is understandable by teammates.
  • Ships code that peers are not afraid to touch and modify.
  • Learns new areas of codebase and new tech very quickly.
  • Is building proficiency for all relevant technical skills.
  • Is becoming comfortable diving in and making changes to many areas of code, not just a single area of code.
  • Performs helpful code reviews, with a good balance of responsiveness and thoroughness.

Communication

  • Describes the current status and impact of a 2-5 week project clearly during stand-up or if asked.
  • Communicates needs to and requests help from teammates to avoid being blocked.
  • Uses our communication tools (chat, email, in-person meetings) responsibly and effectively to get/share context and ask questions.

Planning

  • Does not shy away from estimates.
  • Breaks down large complex tasks into smaller, clearer tasks.
  • Uses retrospectives to learn how to improve future planning.
  • Does not dwell too long on inconsequential decisions (bikeshedding).

Execution

  • Trusted to own execution of small projects.
  • Knows what they’re going to be delivering in the next few weeks on their current project.
  • Is learning how to cut scope when necessary to deliver core goals on time.

Maturity

  • Doesn’t shy away from estimates or objectively assessing whether or not they’ve succeeded in their goals.
  • Able to manage the distractions of helping others, team events, etc., such that they’re able to get their own work done too.
  • Improves our product or processes by identifying problems and proposing solutions to them.
  • Speaks up while bringing past experience to the team in a positive way.
  • Assumes good intent; trusts others.
  • Often exhibits a growth mindset by being responsive to feedback.

More skillful

Writes production-ready code every day. Is beginning to master parts of our tech stack while also teaching others. Seeks out and follows best practices and spreads our development culture. Naturally tends to ship, then iterate quickly without needing to be cajoled by others. Communicates well and debates product priorities with a good understanding of our company values. Can accurately estimate their own projects such that others in the organization can depend on them.

Technical

  • Most input from code reviewers is at a high level (already writes trustworthy code, trust has been earned over time).
  • Understands large swaths of the codebase with a deep knowledge and ability to “reach in and touch the right levers.” Able to move rapidly as a result.
  • Proficient in all relevant technical skills, and is starting to build mastery.
  • Trusted to come up with solid technical solutions to ambiguous or open-ended problems.
  • Often teaches others in their areas of strongest skill.
  • Code review feedback is sought after, respected, and often the source of others’ learning.

Communication

  • Able to describe the current status and impact of large, multi-person projects or initiatives.
  • Proactively reaches out to stakeholders and teammates with project updates so they know what’s going on without needing to ask.
  • Knows when their work affects others and proactively communicates the impact of status updates with those who most need to know.
  • Communicates bad news quickly and clearly, exposing problems honestly and widely; doesn’t cover anything up.
  • Developing ability to communicate complicated concepts simply and successfully w/ a non-technical audience.
  • Comfortable writing and sending out non-trivial project docs for feedback.

Planning

  • Consistently and accurately estimates the time a given task will take.
  • Sets realistic deadlines that drive urgency, but can be accurately met while working in a healthy and mature way (i.e., meets deadlines through wise planning, not all-nighters).
  • Uses estimates to set deadlines to hold themselves accountable.
  • Uses deadlines to cut lowest priority bits of work.
  • Rarely misses a deadline. When projects do slip, they slip early and once per project.

Execution

  • Is trusted to prioritize the most important work for the company/team.
  • Has mastered aggressively cutting scope when necessary to deliver core goals while honoring “shipping beats perfection.” Executes projects pragmatically.
  • Is trusted to own execution of large multi-person projects or well-defined initiatives.
  • Coaches and helps others on the team to know what’s highest priority and avoid feature creep.
  • When working on a series of related projects or an initiative, is constantly aware of the bigger picture and what they’re going to be delivering in the next few projects.

Maturity

  • Always does what they say they’re going to do or communicates promptly to set expectations appropriately. May occasionally, but very rarely, drop things when super busy, but quickly follows through when reminded.
  • Gives feedback, but knows when to leave it at that. Honors a teammate’s responsibility to make a final call on their own work.
  • Demonstrates self-awareness of their own strengths and weaknesses.
  • Is proactive about their own future, from upcoming projects to career goals.
  • Embraces big challenges as a path to growth, and treats them as opportunities.
  • Motivates others and spreads a positive attitude.


Super skillful

Is absolutely, totally dominating the skills and stack necessary to build our product. Teaches others on a daily basis either by direct instruction, blogging, speaking, or setting a strong cultural example. Learns new technologies and techniques for their own sake. Embodies shipping beats perfection by getting significant product improvements to users consistently and within a schedule that can be depended on by the rest of the team.

Technical

  • Provides mentorship and technical guidance to more junior devs.
  • Built mastery in some relevant technical skills; good understanding of full stack.
  • Uses mastery to ship quickly.
  • Constantly learning new technologies; has knowledge of full technical landscape.
  • Trusted to come up w/ solid technical solutions to ambiguous problems that involve complexity and affect multiple different products. Systematically thinks through effects.
  • Code review feedback is highly insightful, addressing high-level thoughts and is trusted as both authoritative and helpful/kind/coaching.

Communication

  • Never any doubt from anyone about project status, even for large projects with many stakeholders.
  • Notices communication failures within the organization and takes positive action.
  • Mastering the ability to communicate complicated concepts simply; communicates successfully with a non-technical audience.
  • Represents Khan Academy well when serving as a primary technical contact for an external partner.

Planning

  • Can successfully plan major projects or initiatives for large teams of devs.
  • Accurately estimates larger projects involving significant additional challenges, such as major external dependencies, intra-team collaboration, or exceptionally difficult technical requirements.
  • Able to handle dependencies and scheduling far into the future, and doesn’t shy away from the uncertainty of planning many months or years in advance.
  • Able to coordinate internal technical work with outside partnership/external deadlines.

Execution

  • Can smoothly and successfully execute an initiative, set milestones for a team, and proactively ensure all core goals are hit, even if plans need to be changed to do so.
  • Able to lead projects or initiatives outside their area of expertise, even when their team may be more knowledgeable in that area than they are.
  • When leading an initiative or larger series of projects, knows what they’re going to be delivering and how they’re going to get there.
  • Often “sees around corners” and addresses issues before they become critical.

Maturity

  • Is widely regarded as someone who does what they say they’re going to do, always.
  • Models what it means to be a mature KA developer by sharing/reflecting engineering maturity with others.
  • Proactively offers regular, constructive feedback to others.

Ludicrously skillful

Guru level of amazingness. Is a leader and contributor in our tech stack’s community. Does and teaches, always. The person who pops into your mind when you think of the most productive and impressive engineers you’ve ever worked with. Able to jump into any new area, no matter how unfamiliar or poorly defined, and quickly turn it into a maintainable and working product, while tackling any problems along the way. Will be rare, even on our amazing team.

Technical

  • Incredibly knowledgable in their area of expertise, often to a degree that is recognized far beyond our walls.
  • Amazing competency over the full stack, beyond their area of expertise.
  • Seen as a leader and contributor in the broader technical community who advances the state of the art.
  • Can dive into a tremendous pile of spaghetti code, make sense of it, get it working (and shipped) quickly, and devise a pragmatic plan to make it maintainable.
  • Capable of building an entire product from scratch that starts out ill-defined and requires significant R&D effort.

Communication

  • Coordinates communication with a whole team and across teams.
  • Communicates company-level objectives clearly and how they relate to initiatives and projects.
  • Proactively identifies and addresses systemic communication gaps or problems.

Planning

  • Can successfully plan (and adjust/update plans for) large 6-9 month efforts that start out with unclear or competing goals.
  • Able to drive vision for a large product area even if there’s no PM currently assigned.
  • Creates plans that define the direction of the whole team moving forward.

Execution

  • Can be trusted with any project or initiative that is critical to the future of the company.

Maturity

  • Actively helps others develop maturity quickly.
  • Trusted to de-escalate conflicts and build consensus between team members to drive the best technical or architectural decisions.
  • Able to move on quickly when company priorities shift away from a large project they’ve been leading and are heavily invested in.

These are summaries, as there are a lot of specific skills that will contribute to each employee’s level. It’s not a checklist meant to be exhaustively completed step-by-step by each of us. We don’t grade each skill individually, but we clearly care about all of them as well as any other unlisted forms of being awesome.

Scope

Anybody can fix anything" means you'll have strong influence over the areas and amount of code you own. Unlike Skill, which focuses on the specific strengths and abilities you’ve developed throughout your career, Scope reflects the ways in which you’ve used those skills to improve Khan Academy. It rewards those who have taken large amounts of responsibility for significant portions of our codebase and managed to deliver high quality. We value responsible owners' ability to abstract difficult problems away from the rest of the team.

It is possible for a developer or designer to make it all the way up the Scope charts without ever becoming an official manager. Developers are explicitly not required to become managers in order to increase their Scope.

Skills and scope are tightly interdependent. Taking on a larger scope will generally require improving your skills. But it also requires putting yourself in a position to apply those skills to larger-impact projects. If you’re interested in increasing your scope (and feel ready to do so), work with your manager to help identify opportunities to take on larger responsibilities.

Beginning Contributor

Is beginning to ship fixes and small features, though often needs guidance from experienced teammates and mentors. Becoming comfortable with communicating project statuses, making estimates, breaking tasks into smaller chunks, and owning small tasks or projects. Fellows and interns will typically start at this level, with the goal of working towards Contributor during their fellowship / internship.

Communication:

  • Is becoming comfortable with communicating their project statuses at team meetings and standup.
  • Reaches out to team leads and mentors when stuck.

Prioritization

  • Leans on others to help prioritize tasks.
  • Learning how to break down tasks into smaller chunks and set estimates.

Autonomy

  • Is becoming comfortable owning small tasks or features independently, but typically relies on more experienced teammates when tackling larger features.

Ownership

  • Typically relies on teammates and mentors for setting project goals and breaking down larger projects into discrete tasks.

Contributor

Independently ships fixes and features that require days of focus on their own, but often relies on direction from experienced teammates for larger projects and features. Consistently communicates their project statuses and is becoming comfortable with setting estimates and owning larger projects.

Communication:

  • Communicates clearly and openly during routine events, e.g., at standup, in 1:1s or when requested.
  • Is becoming comfortable with communicating more broadly through demos / retrospectives / email updates / intra-team collaborations
  • When things don’t go to plan, they use 1:1s or team meetings to flag issues promptly and rely on others to help problem-solve and communicate to other stakeholders.

Prioritization

  • Beginning to reliably break down projects into tasks and prioritize within them.
  • Seeks help when projects aren’t going to plan for assistance in deciding how to cut scope or whether to slip a project schedule.

Autonomy

  • Regularly leads smaller projects or features, but relies on experienced teammates when working on major project investments.
  • Often leans on others to help problem-solve project ambiguity.
  • Often relies on others to help cut scope when necessary.

Ownership

  • Consistently delivers on reasonably well-defined projects.
  • Is starting to define project goals for more ambiguous projects.


Owner

Even though we often work together, Owners can handle significant, multiple-months-long features all by themselves. They tackle hairy technical or design problems without blinking while keeping issues abstracted away from the rest of the team. If the patch they just submitted is causing a problem, they’re quick to fix it, add a new unit test, and communicate exactly what went wrong. Others on the team know to go to Owners for help with multiple specific parts of the product.

Communication

  • Proactively communicates issues as they arise with anyone who might be affected.
  • Others don’t need to ask for project updates because the status has already been clearly communicated, even when it’s negative.
  • Others don’t need to ask for updates because of a strong track record of promptly communicating any changes or updates without being asked.

Prioritization

  • Able to prioritize tasks within major product investments in a way that ensures the highest priority (in terms of value to KA) tasks are completed first.
  • Relentlessly focused on shipping value to users.

Autonomy

  • Regularly leads 3+ person multiple-week-long projects or initiatives.
  • Relied on to remove project ambiguity in a way that honors stakeholder’s opinions but is biased towards action.

Ownership

  • Trusted to handle significant major product features from definition through execution with the successful outcome never seriously in doubt.
  • Ensures that others are protected from any side-effects of their project.

Architect

Architects are the go-to person for at least one major product investment and a significant chunk of the codebase — at other companies their area of focus may be seen as an entire separate product. They are consistently setting vision, leading other developers, training newcomers, managing contributions, and regularly fixing bugs, no matter how trivial or messy. They are able to take an ambiguous idea, full of tangled dependencies and uncertainties, and turn it into a multiple-months-long product investment, seeing it through from start to finish.

Communication

  • Maintains strong relationships with product managers, designers, and leadership.
  • When in charge of a large, ambiguous, and complicated multi-person project or initiative, communication is proactive and driven entirely by this individual — little need for stakeholders to check in due to complete trust in the communication stream.

Prioritization

  • Sets milestones for a team and proactively ensures that all core goals are hit, even if plans need to be changed to do so.

Leadership

  • Regularly leads large teams of developers.
  • Sets vision for larger, multiple-month or even year-long, project investments.
  • Comfortable with ambiguity; relied on to remove it when necessary.

Ownership

  • Trusted to own months-long initiatives (or series of projects) from definition through execution with the successful outcome never seriously in doubt.

Chief Architect

Chief architects completely and repeatedly own the design and execution of entire products or systems that may take months or years to build. They lead several other developers, either as a manager or peer. They are the type of person that can be set free with a poorly defined problem, go into a cave with their team, and show up on the other side with a shippable solution. The expectations for becoming a Chief Architect are incredibly high.

Communication:

  • Often meeting with senior leadership to discuss justifications, tradeoffs, and costs of critical company-level issues.
  • Relied upon as one of the best communicators of complicated technical subjects, tradeoffs, and decisions.

Prioritization

  • Deep understanding of the company’s priorities and how they relate to current projects.
  • Makes trade-offs between different long-term priorities based on all the available information (technical and organizational).

Leadership

  • Can assemble and guide the team needed to deliver on critical company-level goals.
  • Spends a nontrivial amount of time teaching, guiding, motivating and supporting others.
  • Embraces the fact that leadership necessitates an important non-technical aspect of their role.

Ownership

  • Can be set free with a poorly defined problem, go into a cave with their team, and show up on the other side with a shippable solution.
  • Would be trusted to run the technology side of an entire separate company of nontrivial size.

Experience

Why

Developers acquire skills at radically different rates. We've all known extremely young programmers who can run circles around 20-year veterans, and 20-year veterans who are able to completely sidestep problems that would send young programmers scrambling for weeks. That said, there are bands of experience inside of which the market does tend to compensate differently. For example, companies our size almost always have a single, fixed starting level for new CS graduates, regardless of skill (probably because they can't really identify "skill" until the dev has been working for a while). After someone has been at Khan Academy for over a year, skill matters much more than experience in determining your level.

How it works

Experience bands measure (full time software development experience) or (internships with Khan Academy). Coops and internships at other companies don't count. See “Putting it all together.”

Intern / Engineering Fellow

0-1 years

1-5 years

5-10 years

10-15 years

15+ years

Emphasis: Curriculum and content

Why

Most technical career ladders don’t value educational content like we do.

The Khan Academy exists because Sal dedicated years to producing some of the best educational content available, in any form. We are not just a tech company focused on hiring the best developers -- we are an educational tech company focused on creating incredible experiences for the learner. We highly value contributions from team members with a strong intuitive grasp of our content and how it should be taught, regardless of their professional development experience.

We love when anybody on the team pushes the envelope of our educational content. This can come in the form of creating videos, novel new ways of interacting with exercises, or even taking ownership of our content's alignment with the needs of our teachers.

How it works

When assessing Skill and Scope, extra emphasis will be placed on contributions to Khan Academy’s curriculum and content.

Examples

  • Designing and implementing an innovative exercise to increase intuition of derivatives
  • Recording Sal-like videos about any concept you've mastered in order to share with the team or, eventually, the entire KA community
  • Breaking new ground in the world of computer science education by recording our first full wave of CS tutorials
  • Taking a soup-to-nuts leadership role in the structure of a major content area, like Calculus
  • Single-handedly creating 2700 educational videos with hundreds of millions of views

Emphasis: Evangelism and public artifacts

Why

Most technical career ladders don’t reward developers for taking the time to evangelize and share their work.

Being open and sharing our work is at the heart of our development philosophy. We work on exciting stuff -- the type of stuff that energizes passionate, smart people and makes them want to help in any way possible. The more you blog about our work, share our progress, and connect with the development community, the more likely we are to attract top talent and become an exemplary dev team.

This type of stuff increases your market value, thus justifying our paying you more money, and when you do them as a representative of Khan Academy, they reflect well on us, establishing our reputation as being the kind of place where the elite celebrity developers work, which, in turn, attracts more great developers.

How it works

When assessing Skill and Scope, extra emphasis will be placed on evangelism and the creation of public artifacts.

Examples

  • Blogging about your work at KA and building a community on your personal blog
  • Blogging on the official company blog
  • Contributing to / creating open source frameworks and communities
  • Public speaking / giving Friday tech talks
  • Bringing all your smartest developer friends around for game night and recruiting them
  • Attending hackathons and meetups and such

Senior Engineers and Staff Engineers

To help you relate your Skill and Scope to your career in the broader industry, we have mapped standard job titles to Skill and Scope to help you and others understand where you are in your career.

The title Senior Engineer can be used by anyone who has reached both the “More Skillful” and “Owner” levels. It’s up to you whether you choose to publicly use this title (e.g., blogs, Linkedin, team page, etc.) or not. The primary purpose of the title is to help you understand where you are in your career. Because of where the Senior Engineer title is mapped to Skill and Scope, it’s meant to represent a significant milestone. While we tell people that it's reasonable for this to take 4-5 years to reach to help set expectations, our skills and scope are determined by ability and not experience, and it may take much longer. Above we suggest that “More skillful” and “Owner” each typically require 2 to 4 years of experience to reach. We’re suggesting 4 to 5 years here as not everyone wants to aggressively pursue increasing both skills and scope simultaneously and that’s okay. We're a little different than other companies in that we don't hand out the "senior" title based solely on years of experience; it's mapped directly to skills and scope, and improving those are the way to achieve this title.

A Staff Engineer is anyone who is “exceeding Super Skillful” and “exceeding Area Owner” or an equivalent combination of skill and scope. For example, if your scope were slightly lower (e.g., “Area Owner”) but skill were slightly higher (e.g., “approaching Ludicrously Skillful”) you would still be considered a Staff Engineer.

Engineering Managers

As one’s scope increases it may make sense to transition into an Engineering Manager role.

At KA, the transition into management is not a promotion. This role represents a different and parallel career path. Both management and engineering provide growth and leadership opportunities, but management is a distinct discipline — different than the rest of engineering. Fun, exhausting, rewarding. Managers have their own Skills and Scope doc, and required reading list.

We have great respect for the importance of engineering management but also work hard to not require pursuing management as a career path. There is ample need for skills and scope outside the realm of management — folks should never feel they must become managers to advance.

Putting it all together

Skills, Scope, and Experience are combined to find a level which will correspond to our salary structure.

Manager’s review

A manager (or perhaps multiple managers, depending on the employee) will use this document to estimate Skill and Scope. For new hires, this can be particularly tricky; this will be based on our best guess of their Skill and Scope as judged by their previous work (see “Slotting New Employees” below).

Reviews are based on performance since the employee’s last assessment. See “When do reviews happen?” below.

Peer reviews

Employees being reviewed can request specific or anonymous peer reviews from any fellow teammates. For now, this will be done on a bit of an ad-hoc basis, and it is up to the employee to request peer reviews when their evaluation time rolls around. As time goes on and our team grows, we will most likely be increasing the frequency of peer reviews and refining their process.

Managers can also request peer reviews for anybody they’re assessing. This is highly encouraged, and reviewers can always be kept anonymous from reviewee. Managers will take all peer reviews into account before assessing level.

Self reviews

Employees are also encouraged to review themselves in preparation for one of their frequent 1:1 meetings. By sharing your self review with your manager, you can balance out any major discrepancies early instead of waiting for a (possibly surprising) review in October.

When do reviews happen?

Reviews automatically happen once per year (for us, this means October). Reviews may also happen once in the middle of the year (April) for exceptional circumstances or for those who joined at a time that doesn’t jibe with an October review (example: somebody who started late in the summer, didn’t have an October review, and would otherwise be forced to wait well over a year since their start date for next October to roll around).

Slotting new employees

We don’t have the information necessary to properly review somebody when they first join. This means that new employees are “slotted” into their first Skills and Scope assessments based on our best guess, which will take into account their work at previous jobs and projects. This slotting may be done cautiously, because (like Google and Facebook and others when bringing in new hires), we want to value what employees do at KA and let them prove themselves instead of basing compensation on what they’ve done in the past. Once new employees are slotted and have been a part of the team for a few months, experience in past jobs will matter very little, if at all, during reviews — and we’ll use upcoming reviews to adjust any changes that need to be made in slotting.

Will things always work this way?

Note from the future: when we’ve grown a bit larger and have at least 4 or 5 official managers, we will likely not entirely rely on managers to assess their team members’ levels. We may follow Google’s promotion model, as described by Craig here:

It's not likely to be a problem now, but for larger companies, having the manager assess levels can lead to problems, especially for people whose work is across teams. Their manager may not value their work outside the main project, as much as the company as a whole does. I don't know if that's something we want to protect against now, or not. What we did at Google was have a promotion committee (later, many promotion committees) that would evaluate promotion packets. The packets had a self-evaluation, a manager evaluation, and peer evaluations, and the committee would decide whether promotion was warranted. The process could be used for any kind of leveling; it doesn't have to be promotion.”

Your final level

Your level is defined by a combination of your skills and scope. We also make adjustments for years of experience and industry benchmarks. The exact algorithm may be adjusted in the future, however the evaluation process is applied uniformly across all members of a team.


[1] Proper attribution: we’re following the spirit and in some places the letter of Stack Exchange’s developer model, Google’s system for employee reviews, McKinsey’s evaluation culture, and Fog Creek’s system...but chock full of Khan Academy-specific goodness.

[2] Are you an engineering manager? Know this doc well, but there’s also a forked Skills and Scope section just for you!