https://github.com/jorgef/engineeringladders Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Copilot + Packages + Security + Code review + Issues + Discussions + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Skills + GitHub Sponsors + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} jorgef / engineeringladders Public * Notifications * Fork 216 * Star 2.4k A framework for Engineering Managers www.engineeringladders.com License Apache-2.0 license 2.4k stars 216 forks Star Notifications * Code * Issues 4 * Pull requests 4 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights jorgef/engineeringladders This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 0 tags Code Latest commit @jorgef jorgef Merge pull request #7 from rogerluan/patch-1 ... 6b8947e Feb 25, 2021 Merge pull request #7 from rogerluan/patch-1 Fix Typos 6b8947e Git stats * 49 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time charts Fixed typos Jul 9, 2020 .gitignore Fixed typos Jul 9, 2020 CNAME Added CNAME Oct 19, 2019 Developer.md Added managing managers Jul 8, 2020 EngineeringManager.md Added reference to managing managers in eng manager page Jul 9, 2020 LICENSE Initial commit Oct 18, 2019 Managing-Managers.md Fixed typo Jul 14, 2020 README.md Fix typo Aug 17, 2020 TechLead-EngineeringManager.md Fix typos. Feb 25, 2021 TechLead.md Added managing managers Jul 8, 2020 TechnicalProgramManager.md Added managing managers Jul 8, 2020 _config.yml Update _config.yml Oct 19, 2019 View code [ ] Introduction Career Ladders Axes Levels Technology System People Process Influence FAQs Other Pages README.md Introduction This framework allows software engineering managers to have meaningful conversations with their direct reports around the expectations of each position and how to plan for the next level in their career ladder. Although the framework uses roles and levels that are somewhat standard in the US tech industry, every company is different. Please use the information provided as a baseline and feel free adjust it to your needs. The framework relies heavily in radar charts to show visually the different perspectives and expectations of a given position: Template Chart Career Ladders The framework has 4 different ladders: * Developer: role also known as programmer or software engineer, requires a deep level of technical expertise * Tech Lead: role also known as dev lead, is the owner of the system and requires a unique balance between hands-on development, architecture knowledge and production support * Technical Program Manager: role responsible for coordinating and driving to completion initiatives that expand multiple teams * Engineering Manager: 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 and an Engineering Manager, please refer to the Tech Lead vs Engineering Manager page for a detailed comparison. Level Seniority Developer Tech Technical Program Engineering Lead Manager Manager 1 Junior D1 2 Junior D2 3 Junior D3 4 Senior D4 TL4 TPM4 5 Senior D5 TL5 TPM5 EM5 6 Senior D6 TL6 TPM6 EM6 7 Senior D7 TL7 TPM7 EM7 (click on position name for more details) Axes The chart shown above has the following 5 axes: * Technology: knowledge of the tech stack and tools * System: level of ownership of the system(s) * People: relationship with the team(s) * Process: level of engagement with the development process * Influence: scope of influence of the position The influence axis can be seen as a different dimension since it is orthogonal and applies to all the other axes. Each axis has 5 different levels of performance. It is important to highlight that every level includes the previous one(s). For example, someone that evangelizes technology, specializes and adopts it as well. Keep reading to better understand each level. Levels Technology 1. Adopts: actively learns and adopts the technology and tools defined by the team 2. Specializes: is the go-to person for one or more technologies and takes initiative to learn new ones 3. Evangelizes: researches, creates proofs of concept and introduces new technologies to the team 4. Masters: has very deep knowledge about the whole technology stack of the system 5. Creates: designs and creates new technologies that are widely used either by internal or external teams System 1. Enhances: successfully pushes new features and bug fixes to improve and extend the system 2. Designs: designs and implements medium to large size features while reducing the system's tech debt 3. Owns: owns the production operation and monitoring of the system and is aware of its SLAs 4. Evolves: evolves the architecture to support future requirements and defines its SLAs 5. Leads: leads the technical excellence of the system and creates plans to mitigate outages People 1. Learns: quickly learns from others and consistently steps up when it is required 2. Supports: proactively supports other team members and helps them to be successful 3. Mentors: mentors others to accelerate their career-growth and encourages them to participate 4. Coordinates: coordinates team members providing effective feedback and moderating discussions 5. Manages: manages the team members' career, expectations, performance and level of happiness Process 1. Follows: follows the team processes, delivering a consistent flow of features to production 2. Enforces: enforces the team processes, making sure everybody understands the benefits and tradeoffs 3. Challenges: challenges the team processes, looking for ways to improve them 4. Adjusts: adjusts the team processes, listening to feedback and guiding the team through the changes 5. Defines: defines the right processes for the team's maturity level, balancing agility and discipline Influence 1. Subsystem: makes an impact on one or more subsystems 2. Team: makes an impact on the whole team, not just on specific parts of it 3. Multiple Teams: makes an impact not only his/her team but also on other teams 4. Company: makes an impact on the whole tech organization 5. Community: makes an impact on the tech community FAQs What if some of the people don't meet all the points? That is very normal, people are usually stronger in some areas and weaker in others. The framework should not be used as a checklist to promote people but instead as guidance to have meaningful career conversations. What if my organization's career ladder is different? Since the framework is open source, you have the opportunity to adapt it to your organization. Feel free to use the chart template to define your own levels. When is a person ready to move to the next level? Companies usually expect a person to be performing at the next level consistently for several months before formalizing a promotion. How do I collect evidence to support the discussion with my direct reports? Different teams collect evidence in different ways. A recommended approach is to use a combination of: * 1:1 conversations * Feedback from peers and other teams * Self-evaluation Could the framework provide more specific examples of behavior to support each level? Specific examples of behavior require knowledge about the way that the team works, the system architecture and its technology stack. It is recommended to allow each team to define their own examples. Why does the framework stop at level 7? Levels 8 and above vary drastically from company to company. Organizations of different sizes tend to assign a diverse level of scope to positions so high in their structure. Do you have any additional resources about the topic? * The Manager's Path: Camille Fournier does an excellent job at describing the expectations and challenges of many engineering positions. Also, she provides good advice about writing a career ladder in chapter 9. * How to Be Good at Performance Appraisals: Dick Grote explains in simple terms how to define job responsibilities and how to evaluate performance (results and behaviors). Other Pages * Developer * Tech Lead * Technical Program Manager * Engineering Manager * Tech Lead vs Engineering Manager * Managing Managers About A framework for Engineering Managers www.engineeringladders.com Resources Readme License Apache-2.0 license Stars 2.4k stars Watchers 64 watching Forks 216 forks Releases No releases published Packages 0 No packages published Contributors 6 * @jorgef * @bartelink * @kalafut * @parkerl * @FlorianBruniaux * @rogerluan Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.