It may or may not surprise you to know that a lot of roles within the software development industry don’t have universally agreed on definitions. Here, I will try my best to define the roles within a technical organization as I see them. This document can also act as a guide when discussing career progression with your team members.

Junior Software Engineer

You are fresh to this line of work. Whether you’ve just graduated, made a career change, or demonstrated technical aptitude by some other means, you’ve got a job as a developer. This is your time to show you can learn quickly. You have a special value to the team as your perspective is often fresh and untainted by habit. Voice your ideas as often as you can, and eagerly embrace criticism and feedback, as that’s the only way we can improve. Know that asking for help is not a weakness. With technical work, pride can be costly. Humility makes for incredible engineers.

Software Engineer

Congratulations! You’ve managed to drop the “Junior” label, and have proven yourself to be a valuable contributor. You can independently deliver on assigned work, and you are able to give and take constructive feedback as needed. You provide value in code reviews, and your code quality improves every day.

Senior Software Engineer

Whether painful lessons learned from mistakes, or an open minded acceptance of taught principles, you’ve learned the less obvious pitfalls of software development and can provide your teammates with extra guidance during your collaborative efforts. You have learned to accept that nobody will ever know all there is to know about this type of work, and you continue to soak up knowledge at every opportunity.

Principal Software Engineer

You are able to get into the mind of the customer, without worrying about the technical aspects of solving their problems. You will be responsible for designing products and features that address opportunities discovered when interacting with customers. You will need to collaborate with other engineers to ensure the software is deliverable and meets the customers’ needs.

Scrum Lead

You own the Agile process for the team. You lead daily standups, sprint planning, sprint reviews, sprint kickoffs, and any other Scrum ceremonies your team adopts. This means you adhere to the relevant agenda and scope for those calls, moderating the conversation and ensuring everyone stays on topic. You even own coordinating the timing of those meetings.

Aside from meetings, you also own the commitment of the team. This means you analyze past sprint velocity to determine the capacity of the upcoming sprints.

Tech Lead

You are the owner of technical quality and efficiency. You lead collaborative discussions about solutions to technical problems, using your expertise to guide the conversation to the simplest solution. A good Tech Lad has enough knowledge and experience to solve problems themselves, but enough humility to accept that other team members, no matter their experience level, may come up with more efficient solutions, or adjustments that lead to a better outcome. There are several talented people on a team, and a good tech lead takes advantage of everyone’s knowledge.

Engineering Manager

You lead and managing a team of engineers to ensure high quality and performance of software systems. You will need to ensure the team is meeting their goals and collaborating effectively with other teams. You also bring a higher level perspective to the work, accounting for things outside the scope of the team itself.

Director, Engineering

Having proven yourself to be technically talented and a capable leader, you are responsible for setting the engineering strategy for the teams you lead, overseeing the engineering process, and leading an engineering team to ensure high quality and performance of software systems.

VP, Engineering

You are now taking on CTO-type responsibilities, helping the CTO divide and conquer when it comes to the engineering effort. You will be responsible for setting the engineering strategy for the domain you lead, overseeing the engineering process, and leading your engineering teams to ensure high quality and performance of software systems. You will need to collaborate with other VPs and their teams to ensure the work continues to meet customer needs and business objectives. Part of your responsibilities may include interacting with high value customers, or dealing with assorted product vendors.

Product Manager

Acting as the voice of the customer, the Product Manager guides the customer-facing goals of the team. You collaborate with the team to determine what deliverables they will bring to the customer. Being customer-driven means you should also be interacting with customers as directly as they can, identifying opportunities to solve the challenges the customers face.

Lead Product Manager

As a people manager for product managers, you are responsible for defining and managing the product development process for the product managers you oversee, including researching customer needs, and defining product requirements.

VP, Product

You are responsible for setting the product strategy, overseeing the product development process, and leading the product team to ensure the product meets customer needs and business objectives.

Chief Architect

You’re an expert at software architecture, whether it be within code, like DDD or Hexagonal Architecture, or in a platform engineering context, like microservices or CI pipelines. You are responsible for designing, developing, and maintaining these architectures. Your contributions, while arguably more distant from the end user, still must keep the customer needs in mind. Some would even say the customer from your perspective is the engineering organization itself.

Chief Technology Officer

As head of the engineering organization as a whole, you will be responsible for setting the technical strategy and overseeing the overall engineering process. You are the voice of engineering to the rest of the organization’s C-suite. You own the budget for engineering, and vendor relationships.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.