Skip to content

Commit

Permalink
Created page for TL vs EM and added new resource
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgef committed Jan 3, 2020
1 parent 24535c7 commit 2f4202f
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 36 deletions.
1 change: 1 addition & 0 deletions Developer.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,4 @@ Role also known as programmer or software engineer, requires a deep level of tec
* [**Tech Lead**](TechLead.md)
* [**Technical Program Manager**](TechnicalProgramManager.md)
* [**Engineering Manager**](EngineeringManager.md)
* [**Tech Lead vs Engineering Manager**](TechLead-EngineeringManager.md)
4 changes: 3 additions & 1 deletion EngineeringManager.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,6 @@ Role also known as dev manager, is responsible for the consistent delivery, care
* [**Introduction**](README.md)
* [**Developer**](Developer.md)
* [**Tech Lead**](TechLead.md)
* [**Technical Program Manager**](TechnicalProgramManager.md)
* [**Technical Program Manager**](TechnicalProgramManager.md)
* [**Tech Lead vs Engineering Manager**](TechLead-EngineeringManager.md)
* [**Tech Lead vs Engineering Manager**](TechLead-EngineeringManager.md)
40 changes: 6 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ The framework has 4 different ladders:
* [**Technical Program Manager**](TechnicalProgramManager.md): role responsible for coordinating and driving to completion initiatives that expand multiple teams
* [**Engineering Manager**](EngineeringManager.md): role also known as dev manager, is responsible for the consistent delivery, career growth and level of happiness of the team

If you are confused about the difference between a [Tech Lead](TechLead.md) and an [Engineering Manager](EngineeringManager.md), please refer to the [Tech Lead vs Engineering Manager](TechLead-EngineeringManager.md) page for a detailed comparison.

| Level | Seniority | [Developer](Developer.md) | [Tech Lead](TechLead.md) | [Technical Program Manager](TechnicalProgramManager.md) | [Engineering Manager](EngineeringManager.md) |
| :---: | :---: | :---: | :---: | :---: | :---: |
| 1 | Junior | [D1](Developer.md#d1---developer-1) | | | |
Expand All @@ -29,37 +31,6 @@ The framework has 4 different ladders:

(click on position name for more details)

## Tech Lead and Engineering Manager

It is very common for companies to mix the Tech Lead and Engineering Manager roles. Although both roles have some overlap, their focus is different: the Tech Lead is in charge of the *System* while the Engineering Manager is in charge of the *People*.

If the team is small and/or the leader has a lot of experience as Enginneering Manager and Tech Lead, the same person might perform both roles. But as the system and team grow in size and complexity, there might be an opportunity to have different people for each role.

The following is a non-exhaustive list that exemplifies some of the different responsibilities of each role:

| [Tech Lead](TechLead.md) (System) | [Engineering Manager](EngineeringManager.md) (People)|
| :--- | :--- |
| Technical Excellence and Innovation| Career Planning, Promotions and Coaching |
| Architecture and System Integration | Headcount Planning and Hiring |
| Tech Mentoring, Adoption and Alignment | Team Planning and Delivery |
| Technical Spikes and Experiments​ | Objectives, Performance and Feedback |
| Code Reviews and Feedback | One on Ones |
| System Design Presentations​ | Participation in Technical Decisions |
| Technical Capacity Planning​ | Cascading Communications​ |
| Production Issues Escalation​ | Team Building Activities and Culture​ |
| System SLAs, Metrics & Monitoring​ | Team Protection and Happiness​ |
| Platform Direction, Patterns and Practices | Team Productivity and Metrics​ |
| Alignment with other Tech Leads​ | Alignment with other Dev Managers​ |
| Hands-On Coding 50% to 30% of the Time | Hands-On Coding 20% to 0% of the Time |
| System Roadmap (shared)​ | System Roadmap (shared)​ |
| Development Process (shared)​ | Development Process (shared)​ |
| Team Visibility and Recognition (shared) | Team Visibility and Recognition (shared)​ |
| Ability to Act as Engineering Manager when Required | Ability to Act as Tech Lead when Required |

The last point on each role highlights the fact that the lists are not mutually exclussive, and therefore many of the points from one side are also important on the other side too. An Engineering manager that can't understand the technical challenges that the team is facing won't be successful at the role, the same is true for a Tech Lead that doesn't understand the career paths of the engineers in the team.

Having said that, although it is important for an Engineering Manager to be able act as a Tech Lead and vice versa, it also critical for them to focus and excel at the right things. Although there is a clear overalp and an opportunity for collaboration, both positions must know well who is responsible for what to avoid conflicts and misunderstandings.

# Axes

The chart shown above has the following 5 axes:
Expand Down Expand Up @@ -148,13 +119,14 @@ Levels 8 and above vary drastically from company to company. Organizations of di

**Do you have any additional resources about the topic?**

[Camille Forunier](https://twitter.com/skamille) does an excellent job at describing the expectations and challenges of many engineering positions in her book: [The Manager's Path](http://shop.oreilly.com/product/0636920056843.do).
* [The Manager's Path](http://shop.oreilly.com/product/0636920056843.do): Camille Forunier does an excellent job at describing the expectations and challenges of many engineering positions.

![The Manager's Path](https://covers.oreillystatic.com/images/0636920056843/cat.gif)
* [How to Be Good at Performance Appraisals](https://store.hbr.org/product/how-to-be-good-at-performance-appraisals-simple-effective-done-right/10295): Dick Grote explains in simple terms how to define job responsibilities and how to evaluate performance (results and behaviors).

# Other Pages

* [**Developer**](Developer.md)
* [**Tech Lead**](TechLead.md)
* [**Technical Program Manager**](TechnicalProgramManager.md)
* [**Engineering Manager**](EngineeringManager.md)
* [**Engineering Manager**](EngineeringManager.md)
* [**Tech Lead vs Engineering Manager**](TechLead-EngineeringManager.md)
39 changes: 39 additions & 0 deletions TechLead-EngineeringManager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Tech Lead vs Engineering Manager

It is very common for companies to mix the Tech Lead and Engineering Manager roles. Although both roles have some overlap, their focus is different: the Tech Lead is in charge of the *System* while the Engineering Manager is in charge of the *People*.

If the team is small and/or the leader has a lot of experience as Enginneering Manager and Tech Lead, the same person might perform both roles. But as the system and team grow in size and complexity, there might be an opportunity to have different people for each role.

The following is a non-exhaustive list that exemplifies some of the different responsibilities of each role:

| [Tech Lead](TechLead.md) (System) | [Engineering Manager](EngineeringManager.md) (People)|
| :--- | :--- |
| Technical Excellence and Innovation| Career Planning, Promotions and Coaching |
| Architecture and System Integration | Headcount Planning and Hiring |
| Tech Mentoring, Adoption and Alignment | Team Planning and Delivery |
| Technical Spikes and Experiments​ | Objectives, Performance and Feedback |
| Code Reviews and Feedback | One on Ones |
| System Design Presentations​ | Participation in Technical Decisions |
| Technical Capacity Planning​ | Cascading Communications​ |
| Production Issues Escalation​ | Team Building Activities and Culture​ |
| System SLAs, Metrics & Monitoring​ | Team Protection and Happiness​ |
| Platform Direction, Patterns and Practices | Team Productivity and Metrics​ |
| Alignment with other Tech Leads​ | Alignment with other Dev Managers​ |
| Hands-On Coding 30% to 70% of the Time | Hands-On Coding 0% to 30% of the Time |
| System Roadmap (shared)​ | System Roadmap (shared)​ |
| Development Process (shared)​ | Development Process (shared)​ |
| Team Visibility and Recognition (shared) | Team Visibility and Recognition (shared)​ |
| Ability to Act as Engineering Manager when Required | Ability to Act as Tech Lead when Required |

The last point on each role highlights the fact that the lists are not mutually exclussive, and therefore many of the points from one side are also important on the other side too. An Engineering manager that can't understand the technical challenges that the team is facing won't be successful at the role, the same is true for a Tech Lead that doesn't understand the career paths of the engineers in the team.

Having said that, although it is important for an Engineering Manager to be able act as a Tech Lead and vice versa, it also critical for them to focus and excel at the right things. Although there is a clear overalp and an opportunity for collaboration, both positions must know well who is responsible for what to avoid conflicts and misunderstandings.


# Other Pages

* [**Introduction**](README.md)
* [**Developer**](Developer.md)
* [**Tech Lead**](TechLead.md)
* [**Technical Program Manager**](TechnicalProgramManager.md)
* [**Engineering Manager**](EngineeringManager.md)
3 changes: 2 additions & 1 deletion TechLead.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,5 @@ Role also known as dev lead, is the owner of the system and requires a unique ba
* [**Introduction**](README.md)
* [**Developer**](Developer.md)
* [**Technical Program Manager**](TechnicalProgramManager.md)
* [**Engineering Manager**](EngineeringManager.md)
* [**Engineering Manager**](EngineeringManager.md)
* [**Tech Lead vs Engineering Manager**](TechLead-EngineeringManager.md)
1 change: 1 addition & 0 deletions TechnicalProgramManager.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,4 @@ Role responsible for coordinating and driving to completion initiatives that exp
* [**Developer**](Developer.md)
* [**Tech Lead**](TechLead.md)
* [**Engineering Manager**](EngineeringManager.md)
* [**Tech Lead vs Engineering Manager**](TechLead-EngineeringManager.md)

0 comments on commit 2f4202f

Please sign in to comment.