An Framework for Promotion to Staff or Lead Engineer
Overview
A Staff or Lead Software Engineer is a very senior role in the engineering organization. It is a role that requires a deep understanding of the technology stack, the ability to mentor and lead other engineers, and the ability to work with other teams to deliver complex projects. The role also requires a high level of technical expertise and the ability to solve complex technical problems. It is incumbent on engineering leadership to promote engineers to this role only when have consistently demonstrated the ability to excel in these areas. In general a promotion should only happen when the candidate is already functioning at the level of the role they are being promoted to, so that they are set up for success. This is even more important for a role as senior as Staff or Lead Engineer.
I have been using a framework for many years now to evaluate engineers and apply for their promotion to Staff or Lead Engineer positions, that has worked well.
To put together an application, the following steps are to be followed.
Requisites for Promotion Application
Sponsor
Applicant will have to find a sponsor. Typically it will be one of the following:
- Direct Engineering Manager is expected to be sponsor in most cases. Applicant and their manager should have already had this conversation over time and the application and subsequent promotion should really be the final step of a career development plan leading up to the staff/lead position. The manager is expected to have very clearly outlined to the applicant, in the past, the signals and attributes expected in order to be a staff/lead engineer. Working with the manager, the applicant should have already exhibited these signals and attributes over some amount of time. In other words, applicant is expected to be already functioning in the staff/lead position capacity. So the formal promotion should really set the engineer up for success without any hint of doubt.
- Director (skip manager); only on exception basis; if direct manager is not available or due to other logistical reasons.
Applicant and sponsor should agree on the eligibility of applicant before proceeding. Sponsor will support applicant by guiding them through the application process and through a recommendation letter as part of the application package.
Recommendations Letters
Applicant will provide to sponsor names of at least three engineers who could potentially provide letters recommending applicant for the lead role.
- 1 staff/lead (or higher lever) engineer from the same team. [must]
- 1 engineer from the same team who has been with the team for more than one year. [must]
- 1 engineer from another team (within or outside of immediate department) to highlight cross-functional collaboration. [must]
- 1 additional engineer (from within or external to team or immediate department; optional).
Sponsor may also get additional letters from other relevant persons including product managers, support / solutions engineers, etc.
Application Package
Written Document by Applicant
Applicant will provide to sponsor a written document detailing the following, with help from the sponsor.
- Introduction and technical background. Applicant should provide a brief breakdown of their technical background, highlighting their career path so far at the company.
- Statement of intent. Applicant should provide statement of intent for getting promoted to the staff/lead engineer role and also provide a brief overview of why they believe they are ready for the said role. Applicant should subsequently provide details using concrete examples as elucidated below.
- Alignment with engineering competency matrix. Applicant should provide a detailed breakdown of how they have met the engineering competency matrix for the staff/lead engineer position. Applicant should provide specific supporting examples. Sponsor should/can directly work with the applicant on this section.
- Examples of work at the company that highlights ownership, consistent output, results and positive impact/outcome. Applicant should list at least two projects / initiatives where following signals and attributes were exhibited:
- End to end ownership.
- Diving deep into unfamiliar areas.
- Being comfortable with ambiguity and being able to translate goals and requirements into epics and tickets.
- Working with engineering manager to assign tasks to (junior/other) engineers as appropriate and keeping track of progress.
- Enabling other engineers to be successful and helping them overcome technical obstacles.
- Consistently meeting commitments.
- A successful working relationship with their coworkers, specially with the team’s engineering manager.
- Note: Applicant should highlight their specific roles and responsibilities and their specific contributions and impact, specially when project / initiative would typically involve multiple developers. Applicant should break down each of their example projects into the following sections: Overview, Roles and Responsibilities, Results and Impact.
- Examples of technical leadership across multiple components that displays both breadth and depth understanding of the codebase and technology stack.
- Examples of formally mentoring at least two new-grad new-hire engineers and one intern, and guiding them to successfully complete assigned tasks.
- Examples of cross-functional collaboration.
- Examples of alignment with company values.
Here is a template for the written document.
# Overview
## Background
## Statement of Intent
# Alignment with Engineering Competency Framework
# Selected Projects and Initiatives
## <Initiative 1>
### Overview
### Roles and Responsibilities
### Results and Impact
## <Initiative 2>
### Overview
### Roles and Responsibilities
### Results and Impact
## <Initiative 3>
### Overview
### Roles and Responsibilities
### Results and Impact
# Technical Leadership across Components
## <Component 1>
## <Component 2>
## <Component 3>
# Mentoring other Engineers
# Cross-Functional Collaboration
# Alignment with <Company> Values
## Value1
## Value2
## Value3
## Value4
# Summary
Sponsor Task: Create and Submit the Complete Package
After the applicant submits to sponsor the written document and names of engineers willing to provide recommendation letters,
- Sponsor will solicit recommendation letter from each engineer listed by applicant.
- Sponsor will collate
- the applicant’s written document,
- the recommendation letters from other engineers, and
- their own recommendation letter.
- Sponsor will submit complete package to department Director and VP. I use a combination of markdown and LateX to create the final document. I may open source it in the future.
Steps following Application Submission
- Debrief between Engineering (department) Management to discuss why or why not the applicant should get the staff/lead engineer position.
- If Engineering Management agrees on application, department VP will send the application package with their positive recommendation to executive team for approval.
- If Engineering Management does not agree on application, they will provide data points on decision which sponsor will expand upon and take back to applicant. Sponsor should impress upon the applicant to use the feedback to close existing gaps in order to be promoted to a staff/lead engineer position. Sponsor should also use this as feedback for themselves since the applicant is expected to be have been functioning at that position before being formally promoted.
Summary
The application process provides a mechanism for both the applicant and sponsor to be very sure that the application is actually already functioning at the staff/lead level, which would qualify them for the promotion. I have had an instance where the applicant (who had a very strong personality) was adamant that he was ready for the promotion. While he was functioning strongly at his current level, he was not ready yet for the staff/lead position. Despite conversations and clear pointers from me, as his manager at that time, he was very insistent otherwise. I encouraged him to follow this application process and as he started penning his thoughts it became apparent to him that he was actually not quite there yet. We were able to discuss the gaps and we worked on a plan to get him there in future promotion cycles as and when he would be ready, which did indeed end up happening. This process also provides a mechanism for the applicant to get feedback in case they are not ready for the promotion yet. It is designed to be fair and transparent and to ensure that the company is promoting the right people to the higher level individual contributor positions.