The team members were on board with the end goal: to measure their own performance and development. degree, and I’ve stopped asking algorithm-heavy interview questions. Promote people who are already functioning at the next level. Our current software engineer career ladder has six levels: The first half of the career matrix is designed for everyone in engineering to progress through each level. Engineering leaders manage managers. We don’t require deep domain expertise when recruiting engineers, but we expect them to acquire this expertise while on the job. Even if it helped, you may want to streamline it further. Then we categorized what we thought was essential to reflect in our software engineer career ladder. He has extensive knowledge about engineering management-related topics and has been doing interviews with accomplished tech leaders for years. Should this be called a “Software Engineer” or “Senior Software Engineer”? — Ray Weiss, The Technical Career Navigator (Prentice Hall, 1994). I’ve found the essential traits to be: That being said, these abilities are fairly “sliding scale” with no obvious step function where you can point at any one skill level and say “aha! Don’t think of the career ladder as a long-term life plan. 2. ... Senior Software Engineer, typically 3 to 6 years of experience. Every organization is different. A job ladder communicates which skills and traits are important. If your team doesn’t want or need much precision, you can define each career level by a few bullet points. How detailed should your job ladder be? What do you do with your super-senior folks? A simple career ladder for software teams. Here’s a few: Some areas you’ll see differences of opinion are: I’d say by the time you have 5–10 software engineers and are starting to think about asking someone to become a full-time manager, you should also start thinking about clarifying job roles and career paths. We aren’t building software for ourselves, so we need to make sure that we prioritize the users’ needs and build the best software for them. It’s perfectly normal to have solid level-3 engineers who are happy being individual contributors, and don’t want to move to management or general architecture. The ladder is a tool for setting expectations about the next few years. This happens often. First and foremost, we’re looking for a business mindset and a customer-centric way of approaching problems. Your assessment isn’t about their level, but whether they’ll finish a particular project. Management is the next logical and traditional step along the software developer career path. We created a culture document describing our values, principles, and the traits of our employees based on subjective assessments of each other. It’s not early in an engineering career, but it’s not an unrealistic expectation either. In fact, this may be a perverse source of pride; you may hear things like “we’re a flat organization” and “titles don’t matter.” While people may have very different salaries, there’s a general sense that it’s a meritocracy. They have experience in building quality software, and they can autonomously solve most problems. Level-2 engineers can take ownership over a body of significant software. Never create the expectation that promotions are a function of time at the company, or open the door to promoting someone above their ability. I’m on the fence, but lean towards using the same external title “Senior Software Engineer” for both level-2 or level-3 engineers on business cards and LinkedIn, while internally referring to them by level. I prefer to use the public title “Software Engineer” (dropping the “Junior”) because nobody wants to called “junior.” Internally, you can call this level-1 without insult. Avoid the ones you’re lukewarm on; the great students really stand out. Technical architects are often considered the highest position on the technical career ladder. The goal is to give a general direction to your team; keep this in mind. It may not be a problem, but you have to investigate and see if there’s something wrong. At this level, they typically have about seven years of experience in software development. The years of experience can translate to different levels of expertise at different organizations. You don’t want to copy and paste another company’s career framework. The team wanted clear directions on how they needed to develop to move their career forward. A master’s degree in IT may teach people great theoretical applications, but they still have a lot to learn on the job. This is how it works even with the most intelligent people, because they lack experience, so they benefit from clear directions about how to be successful. Engineering managers are the ones helping their team members progress through the career ladder. Of course, you should compare this job ladder with the many other excellent blog posts and ladders out there. Creating a process to check for possible updates annually is a better idea. Once you have about 20 engineers, you can’t take the hands-on approach with every one of them. Communication: effective emails … →, Our startup didn’t have formal titles. Manage salaries as if you had to post them outside your office door. There are different focuses and responsibilities for managers that include: Managing large-scale projects. They have deep empathy for their teams and can help guide them, eliminate blockers and understand the programming language they’re using. Let go of level-1 engineers who won’t be promoted to level-2 within 2 years. Employees often change jobs every few years. At some companies an engineer can learn in a year what they might only learn in five years at others. Technical competence, and communication were among them. You shouldn’t take a random career framework without context, because it won’t reflect your organization. Either they choose engineering management and do one-on-ones, feedback sessions, and everything that comes with it, or they pick technical leadership, and help people make the right technology decisions. Don’t let this interview make you think this has to be a deeply complicated process. In this post, I’ll discuss why having a job ladder helps everybody; what makes for a good job ladder; the way I think about software engineer job levels; and I’ll end with some related advice. 6?) Over drinks, Karen finds out how much Noreen is paid. Level-3 engineers take ownership over a whole product (e.g. At the senior software engineer 2 level, our engineers can build anything. — M. W. Mantle, Managing the Unmanageable (2013). They get to do one-on-ones, give feedback, and help their team members be successful, but they don’t get to make decisions about firing and hiring. What are the specific roles and responsibilities for a “tech lead”? We launched the career ladder at a company off-site, a team building activity we do at Zenput. We put a foundation in place that everybody stands behind. A common pattern at tech companies is to provide a dual-ladder approach, in which there is a technical ladder for individual contributors and a separate management ladder. We settled on four primary levels, and added two stages to two of them. All our team members supported it, because they felt they needed a framework like this. We just raised a Series-A round, and along with it we brought on new leadership. This is aimed at fresh graduates, or people coming from a coding bootcamp. This can be a career position. The career ladder affects a lot of things, so it’s a bad idea to mess with it frequently. If you build a career ladder for a 20-person team, you should probably update it when your company grows to 200. That’s the overall range, and the levels in between require experience between the two end points.