Engineering levels at Carta

Jerry Talton
Building Carta
Published in
15 min readMay 18, 2021

At Carta, we follow Jim Barksdale’s maxim: “take care of the people, the products, and the profits…in that order.” We believe people are the business: building an environment where our engineers want to come to work every day and know they can grow their careers is the best technical leverage we could hope for.

To that end, having a fair, equitable, and clear framework for leveling and career progression is one of our most important goals. Engineering leaders talk about levels and promotion processes a lot, but they focus more on the what and not the why. At Carta, we want everyone to understand how the company thinks about fairness and compensation, why our leveling processes exist, and what they’re trying to achieve.

What follows is our internal engineering leveling guide, lightly edited for public consumption. We hope that by sharing it here we can help demystify some common questions about engineering career ladders and communicate our values to candidates and prospects alike.

Our system

Carta has eight full-time engineering levels, plus a separate level for interns. These levels are similar to the ones that exist at other comparable tech companies, but they’re not identical. It’s worth understanding them — and the way we assess them — as you think about your career.

Writing down the precise requirements for what constitutes performance at a given level is tough. If the list is too general, it doesn’t give employees a clear picture of what they need to do to advance. If the list is too specific, it encourages employees to check boxes rather than focus on doing their job. The truth is, some boxes are important to check, but there is a degree of judgment that comes into leveling and promotion decisions. As the company matures, fine-tuning this balance — and fighting bias — only increases in importance.

Fortunately, it’s easy to articulate the single most important thing for leveling: your impact on the company. We can sum up the entire system by describing the (rough) impact we expect employees to have as they progress: on tasks (L2), on features (L3), on problems (L4), on teams (L5), on the organization (L6), on the company (L7), and on the industry (L8). You’ll note that this is not a linear progression, especially at the top of the range; moving the trajectory of the industry is exponentially harder than moving the trajectory of the company. This is why our levels aren’t linear, and neither is compensation.

This graph shows the expected impact (on the y axis) plotted against our engineering levels (on the x axis), from L2 to L8. The curve of impact is roughly linear until Senior II (our L5): then it begins to increase exponentially.

Fairness

Leveling decisions can sometimes seem unfair, and fairness is one of Carta’s most important values. One important thing to understand is that levels are conservative by default: Once we put someone in a level, the only practical way we can “take it back” is by managing the person out of the company, which is painful for both parties. So when we promote someone, we need to be sure that it’s the right decision; it’s better for everyone to have you perform solidly at L5 than to struggle at L6.

Because levels are conservative, you’ll often hear managers say that promotions are a lagging indicator of performance: You have to demonstrate that you’re performing at the next level, consistently, over a significant period of time. This can feel unfair — why am I delivering value at an L5 level and only getting paid like an L4? — until you remember that promoting you is a risk for the company, and since the company doesn’t want to make a mistake and lose you, they’re risk-averse. You might be certain that you have all the skills of a senior engineer, but you have to convince the company that this is the case, lest we fall victim to the Peter principle and promote people to their level of incompetence.

This situation — when you know you have the skill to operate at the next level, but the company doesn’t seem willing to recognize it — can be particularly frustrating. Sometimes this happens because you’re wrong, and you’ve misjudged your own abilities. But sometimes you’re right…and the company is, too. How? Because you don’t get promoted for your skill; you get promoted for your demonstrated impact on the organization and the business. This impact can come in many forms, but you have to deliver. Your manager won’t hold shifting business priorities against you, but she can’t exactly give you “credit” for bad luck, either. In some sense, it doesn’t matter how “good” you are if the company doesn’t see the benefit of your talent and hard work. We can only reward progress, not activity.

Another important thing to understand is that the way people are leveled in the organization won’t always feel “pairwise fair.” Sometimes you may think that you’re performing better than someone else in the organization who is a higher level. And sometimes you may be right. But it’s crucial to realize that making these kinds of comparisons will never help convince your manager to put you up for promotion. First, your assessment of your coworker is likely to be incomplete: You have full knowledge of your own work, but only a tiny window into that of your peers. But even if you’re right, someone else’s performance problem isn’t grounds for your promotion—imagine what would happen over time if we let the worst-performing employee in a level set the standard. Keep your focus on your accomplishments and the impact you’re driving for the company; don’t waste time and energy worrying about your coworkers.

Compensation

Carta designs our compensation to align your impact and our goals as a company. The way we think about comp is that, with increasing seniority, salary increases about linearly, but equity compensation increases superlinearly (after the senior levels). At the early levels, your salary represents most of your overall compensation; at the highest levels, most of your comp comes from equity. Your salary might grow 3x over the course of your career, but your target equity compensation can grow 10x (or more, as the company grows).

Because we base equity compensation on the value of the stock at the time it’s granted, in a high-growth world, longer-tenured junior people can end up with (much) larger equity grants than shorter-tenured senior ones. In a zero-sum world, this might rankle, but the more important point is that the value of your stock today might be one-tenth what it’s worth in five years, if we all do our jobs well.

To set compensation at Carta, we use Carta Total Comp to benchmark against public and private companies we compete with for talent. We design our salary bands so that when you join Carta, you’ll be making less in total compensation than you’d get if you joined a larger, later-stage, slower-growing company. But we expect you to make more money than you would at a FAANG over time if Carta continues to execute well and grow.

Career progression

As you think about your career progression at Carta, one of the first things to know is that there’s a big discontinuity at L5, which Carta considers its first terminal level. Prior to L5, we expect engineers at Carta to make “reasonable progress” along our bands; if you aren’t continuously learning, developing your skills, scaling your impact, and getting promoted every few years, your lack of progress will eventually become a performance issue. Once you get to L5, the situation changes. After L5, further promotion is no longer “expected,” and no longer comes with a timeline. Being promoted beyond this level is extremely difficult: most engineers won’t ever get there, and that’s perfectly okay.

It’s also important to remember that, as you get more senior, it becomes more and more your responsibility to own your career. Your manager is there to support you, give you guidance and advice, and help you capitalize on opportunities along the way, but you are responsible for your trajectory.

“Every promotion I’ve ever gotten has been me saying: I am operating at this level, I have done all of these things, I think I am ready for the next level, and here is why. Your contributions should never be ambiguous — document them! Make a list for yourself outside of work — about what you do, and how it impacts the company. Advocating for yourself isn’t arrogance: You are giving your manager details about things you are working on.”

Arquay Harris, VP of Engineering at Webflow

This advice is particularly important at fast-growing startups like Carta, where your manager may change a couple of times between one level and the next. Talk to your manager regularly about your career so that you understand the portfolio of work they’d need to see to support your promotion, and keep a record of your contributions (with documentation) so that it’s easy to explain what you’ve accomplished to people who don’t interact with you every day. When you get constructive feedback, document the feedback and what you do to address it over time. Think about the difference between going to your manager and saying “I want a promotion,” versus showing them a comprehensive written summary of your accomplishments and asking, “what else do I need to do to demonstrate that I’m performing at the next level?”

Manager vs. individual contributor

At Carta, engineering management and individual contributor are parallel tracks. Management is never a promotion from being an engineer, it’s a lateral move. The salary bands for managers and ICs are identical. You can make just as much money being a senior staff software engineer as you can being a director. Management can be an intensely rewarding career path, but it also comes with little glamour and much responsibility: choose it wisely!

Since you can’t manage engineers if you don’t deeply understand the work they do, we expect everyone who makes the transition to management to reach at least senior engineer I (L4) — and more often senior engineer II (L5) — before they do it. Many people who decide to become engineering managers stick with it once they’ve made the transition, but some managers eventually decide they’d be happier and more productive as ICs. Both of these transitions are perfectly okay.

If you do decide to transition between tracks, your compensation won’t go down, but we may drop you a level in the new track, depending on your recent experience (for example, an L6 engineer becoming a manager for the first time might start at M5 instead of M6 if they’ve never led a team before). This isn’t an insult: it’s a reflection of the fact that management and software engineering are different jobs that require different skills. Being good at one doesn’t automatically make you good at the other. If this happens to you, your manager will keep a close eye on your progress toward your next promotion, but expect a smaller compensation increase when it lands.

One important difference between the individual contributor and management tracks is that business need features much more prominently in a managerial career than it does for an IC software engineer. Carta doesn’t have quotas for IC levels, so if you deliver a ton of disproportionate value in a very short period of time, the company can respond to recognize that value quickly. To move up as a manager, on the other hand, you have to have both a demonstrated track record of achievement and there must exist a clear business need for a manager at that level in the organization. This dependency on the business can be frustrating when it feels like it’s gating your career advancement, but it’s a wind that blows both ways. People need managers, so if you’re the best person to step into an opening, you might get a shot at more responsibility quickly.

A last point on management career trajectory is that headcount is a vanity metric. If you’re optimizing for the number of people you manage, or trying to build and define the bounds of your personal empire, you’re optimizing for the wrong things. Give away your Legos as fast as possible and focus on scaling up the impact your team has. Delivering $10 million of value with a team of four people is much more impressive than doing it with a team of thirty.

The individual contributor levels

Associate software engineer (L1) is Carta’s entry-level for engineers. This is where we level recent coding bootcamp graduates, and where we transfer employees who want to give engineering a try without any formal job experience. Some of our competitors don’t have a level analogous to our L1 because they don’t hire software engineers who don’t have a four-year degree in computer science (or equivalent work experience)—but much of Carta was built by people with nontraditional backgrounds, so we think it’s important to be a place that supports smart, determined people who want to transition into engineering.

L1 is a learning level, which means the primary focus is not on producing value for Carta—it’s learning all the things you need to know to be able to produce value in the future. The goal for an L1 engineer is to be able to write small, tightly scoped pieces of code; understand how Carta’s codebase and systems work; and deepen your understanding of fundamental computer science concepts like programming languages, algorithmic complexity, and abstract data structures. If you’re hired at Carta at L1, we expect you to progress out of the level in a year or two.

Software engineer I (L2) is Carta’s new-grad level. This is where almost all recent graduates of traditional four-year computer science degree programs will start. At L2, we expect you to know the basics of software engineering cold, be able to independently solve tightly scoped tasks with some supervision from more senior engineers, and understand your part of our business well. At L2, you’re learning rapidly, but also driving business impact. We expect you to progress out of the L2 level in about a year or two.

Software engineer II (L3) is Carta’s last non-Senior level, and a typical starting level for college grads who are a few years out of school, as well as for some new-grad MS/PhDs and a very small number of truly exceptional fresh grads (from highly-competitive programs who’ve already shipped meaningful features to production at several previous internships). Here, you should demonstrate mastery over the fundamentals of computer science, be comfortable implementing and shipping end-to-end features, and start to understand the deeper problems in your part of the business. We expect you to progress out of the L3 level within two years.

Senior software engineer I (L4) is the first of Carta’s two senior levels. This is the first inflection point where leadership starts to feature as a defining requirement: Your job is no longer just to get things done, it’s to guide others to help them deliver value, too. At this level, your total mastery of foundational computer and software engineering concepts is taken as a given, and we expect you to start mentoring more junior engineers and pitching in on interviewing. This is also the first level where you’re expected to do more than merely complete the work that’s been assigned to you: At L4, you should start to create your own work by understanding the problems your team faces and proposing, implementing, and delivering solutions to them. If you want to make the jump to manager, we expect you to reach at least L4 before you do it. Carta expects you to progress out of the L4 level in a few years.

Senior software engineer II (L5) is the second of Carta’s two senior levels, our first terminal level, and by far the hardest promotion to achieve up to this point in the career ladder. At L5, we expect you to know everything you need to know to be a professional software engineer: You should have acquired all the technical and leadership skills you need to land a job at any other top-tier tech company. L5 engineers must have demonstrated technical breadth and depth. You should be an expert in your part of the business, a strong communicator, a trusted mentor, a role-model for more junior engineers, a driver of best practices for hiring and interviewing, and have delivered multiple projects that move the needle for your team. At L5, your job starts to become just as much about exercising technical judgment as it does about implementation. Once you hit L5, there’s no longer a default expectation that you’ll eventually be promoted, so you can stay at this level indefinitely.

Staff software engineer (L6) is the next inflection point in our levels, and an even harder promotion to achieve than L5. At L6, you’re expected to solve problems and deliver solutions that impact the engineering organization as a whole. Your manager might occasionally point you in the general direction of a project, but everything after that is you: identifying and formalizing the problem, devising a solution, leading its implementation, and training the rest of the organization to leverage it. At this level, you’re expected to have the knowledge, judgment, and understanding to work cross-functionally with your business and product partners to make decisions about your business unit’s roadmap. You are capable of mentoring anyone, including your more senior counterparts, in your particular areas of expertise. Staff engineers are expected to be a force multiplier for any project upon which they are deployed, and to make the entire engineering organization better.

Senior staff software engineer (L7) is the highest level even most “great” software engineers will ever achieve in their career. At L7, you are expected to deliver value that materially changes outcomes for the company, and your job is not just about your superior technical judgment but your ability to influence others to deliver results. You are an authority on more than one technical area, and you’re comfortable inventing novel technologies that do not exist yet to solve problems. Senior staff engineers, in particular, must be unimpeachable role models at Carta.

Principal software engineer (L8) is the final engineering level at Carta (for now). At this level, you have a demonstrated ability to deliver software that changes the trajectory of the industry. You are recognized as a thought leader outside the company. There are not many principal engineers in the industry.

The manager levels

Tech lead manager (M4) is Carta’s first manager level: the equivalent of an L4 engineer on the management track. At M4, we expect you to split your time between hands-on technical work and people management for a small team of engineers. The predominant focus at this level is mentorship, technical planning, resource allocation, and project delivery. The difference between M4 and being an IC technical lead on a team is small by design; this level is a low-risk way for an engineer to decide whether people management is the right path for them. TLM is the only non-terminal manager level at Carta. We expect you to progress out of M4 in a year or two.

Engineering manager (M5) is the first manager level where we expect people management to be the majority of your focus, although at M4 it’s likely that you’re still writing and reviewing code a substantive minority of the time. Engineering managers generally lead a single, larger team that is responsible for multiple projects, drive all the hiring and interviewing for it, mentor and guide the career development of their direct reports, work closely with their product partners to prioritize and scope work, and are responsible for clearly defining (and communicating) the charter of the team. Like its IC equivalent, senior engineer II (L5), M5 is the first terminal manager level: Once you reach it, there’s no longer an expected timeline for any subsequent promotions.

Senior engineering manager (M6) is an inflection point in your management career, where you generally start to manage other engineering managers or TLMs, and you likely relinquish personal ownership of code (although it’s expected that you stay embroiled in the details of your team’s projects, and still do some technical work yourself). Like L6 on the IC track, at M6 you’re self-directed, working cross-functionally with stakeholders across the business, delivering work that impacts the engineering organization as a whole, and driving your part of your BU’s roadmap.

Director (M7) is the management equivalent of a senior staff (L7) engineer. At the director level, your teams are expected to deliver a portfolio of work that moves the needle on the trajectory of the company. You are a deep technical expert in multiple parts of our business, driving continuous improvements to our hiring and recruiting processes, proactively looking for opportunities to create inordinate value that are not obvious to other stakeholders, and capable of resourcing, planning and strategizing with your teams to solve business and technical problems at scale for which solutions are not already known. M7 managers must be role models for the entire organization.

Senior director (M8) is an executive role and the managerial equivalent of a principal (L8) engineer. A senior director’s primary focus is on strategic thinking and execution. They are able to identify new, material opportunities for the company, plan and resource to tackle them, execute against that plan, and deliver value to both internal and external stakeholders. M8 managers are experts at managing to results and organizational alignment.

VP (M9) is an executive role, usually leading an entire scaled business unit or a mission-critical cross-functional organization. Your primary stakeholders are C-suite executives. You’re actively involved in setting the strategic direction of the company and held directly accountable for the performance of your entire org.

This guide, like our company, is a living, breathing thing. As our business evolves and grows, so too will our career paths and our compensation practices. Ideas are strengthened when they’re subjected to scrutiny, so if you have a question or a comment to help make Carta better — or if we sound like the kind of place you might like to work — get in touch. We’re hiring!

--

--

Jerry Talton
Building Carta

Previously CTO @ Carta; Search, Learning, & Intelligence @ Slack; founder & CEO @ Apropose; CS @ Stanford & UIUC.