Like most industries, tech doesn’t have a standard for roles and titles, even in the area of engineering leadership. However, some patterns can be found replicated in most software companies. I’ve discussed the technical side of this equation in Software Engineering Job Titles Explained and 19 Types of Developers Explained.
In this post, I am focusing on engineering leadership roles and what they are accepted to mean. Depending on the company, some of these roles are also job titles; others might correspond to one or more job titles, might not exist at all or might be implicit functions.
A technical lead is a software engineer who guides the technical vision and execution of a software project, initiative or technology. Typically, technical leads do not have direct reports or management responsibilities. Their area of influence includes technical direction, implementation choices, coding styles, the establishment of best practices, and technical standards.
A technical lead is typically an engineer who is more experienced than his or her peers and displays leadership skills or potential. For example, someone who is vocal, a quick thinker, or an influencer. Technical leads become leads through the respect, recognition, and admiration of others.
A team leader is a technical lead for all projects that a particular team takes on.
An engineering lead is typically a technical lead with a small number of direct reports (e.g., 2 or 3). He or she might spend 80% of the time as an individual contributor on software projects (i.e., coding), and 20% of their time on people management and leadership activities.
Like most software engineers, engineering leads usually prefer to be focused on one project at the time. They also typically work on a team with their direct reports.
In some organizations, becoming a “lead” is a rite of passage for software engineers who want to explore becoming managers but are not ready to fully commit to it; sort of a training ground for new management.
An engineering manager is a software engineer who has chosen a management career track over a technical one. He or she has up to ten direct reports, but preferably no more than six or seven. Moreover, he or she spends a significant part of their time coding (e.g., 60%) and the remaining on people management and leadership activities.
Engineering managers have broader responsibilities than engineering leads. They influence a more significant number of people and might be involved with multiple projects and teams. They might or might not be involved directly in projects with their reports. As a result, they need to be able to context switch easily to follow what’s going on in their organization.
In some companies, becoming an engineering manager is sort of a career commitment one makes to a full-time management role. It is also a step toward executive positions, which I am going to describe next.
Director of Engineering
The director level is traditionally the first of a series of executive roles, but the meaning of the term “executive” varies from company to company. In some organizations, especially startups, a director can be a very technical hands-on engineer with little executive function. More traditionally, a director is a manager of both managers and individual contributors.
Someone with the title of “Director of Engineering” is often in charge of both the development and Quality Assurance functions. Directors of engineering have broad responsibilities ranging from setting the direction for an engineering department, to being in charge of the entire engineering organization. He or she typically reports to the VP of Engineering.
A director of an engineering department (i.e., Director of Quality Assurance, Director of Core Technology, etc.) is a manager of managers and individual contributors in charge of an area or function of the engineering organization. He or she typically reports to the Director or VP of Engineering.
It is common for a director of engineering to provide technical guidance, write code and participate in low-level discussions about the architecture and implementation of systems. Directors are also responsible for setting or approving policies, establishing department guidelines and managing a budget.
VP of Engineering (Vice President of Engineering)
The Vice President of Engineering is a senior executive role with a broad range of responsibilities. Typically a VP is a manager of managers and directors; sometimes he or she is a manager of VPs.
In smaller organizations, a VP of Engineering might perform hands-on coding activities. In larger organizations, VPs are usually focused at a higher-level and more distant from the code.
Responsibilities include high-level direction, technology choices, long-term technical and product strategy, interfacing with legal counsel on technical matters, setting policies, defining processes, establish partnerships with vendors, etc.
CTO (Chief Technology Officer)
The Chief Technology Officer is a somewhat weird role and is tricky to define; it varies from company to company more than other positions.
In large tech companies, the CTO is an executive who is generally in charge of improving the technical foundation of the company. It is a customer facing role, focused on developing the top line.
In some cases, the CTO is a manager of VPs and Directors and is broadly responsible for the entire product development organization. Sometimes, it is a purely technical position usually reserved for a technical co-founder.
In later-stage startups, the CTO is often one of the technical founders who hired a VP of Engineering to manage the growing organization but retains the title and a position of technical influence.
When you look at startups, the technical founder often self-appoints himself or herself with the title of CTO but is closer to a hacker-in-chief than a corporate executive.
In general, the responsibilities of a CTO depends wildly on the size of the company. It can include product vision and being the public face of the company’s technology. It can also include being responsible for identifying, leverage and integrate new technologies and drive business strategy and revenue.
If there is no CIO, then the CTO typically takes the responsibilities of the CIO as well.
CIO (Chief Information Officer)
The CIO is an operation-oriented executive who is internally facing and focused on improving the bottom line. CIOs work on setting strategy and direction to enhance the company’s internal infrastructure and technical operations. That includes employee software tools, internal communication, technical infrastructure, process control, access control, employee network, cost management, integration of technologies across business units, etc.
People confuse the roles of CIO and CTO, and for good reasons. Most small size companies do not have both, and larger companies are all over the place. If there is no CTO, then the CIO may take the responsibilities of the CTO. In companies that do not have software at the center of their business activities and where the CIO has leading digital strategy and direction responsibilities, the CTO may report to the CIO.