{"id":3740,"date":"2021-12-23T09:47:40","date_gmt":"2021-12-23T17:47:40","guid":{"rendered":"https:\/\/coderpad.io\/?p=3740"},"modified":"2022-06-14T08:41:43","modified_gmt":"2022-06-14T15:41:43","slug":"engineering-leadership-positions","status":"publish","type":"post","link":"https:\/\/coderpad.io\/blog\/engineering-management\/engineering-leadership-positions\/","title":{"rendered":"Engineering Leadership Positions: What You Need to Know"},"content":{"rendered":"\n<p>A successful eng org doesn\u2019t just need a group of talented developers \u2014 it also needs a competent engineering leadership team to keep pushing things forward.&nbsp;<\/p>\n\n\n\n<p>For many, the distinction between the positions of Tech Lead, Team Lead, and Engineering Manager isn\u2019t necessarily clear-cut. And when you add to this the fact that different companies use these terms differently, and sometimes interchangeably, things can get a little messy.&nbsp;<\/p>\n\n\n\n<p>In reality, however, these positions each take a unique place within an org \u2014 and thus probably shouldn\u2019t be used interchangeably. That doesn\u2019t mean that you need to follow any single mode, though; <strong>your company\u2019s structure and goals ultimately determine where and how management is organized.&nbsp;<\/strong><\/p>\n\n\n\n<p>So what does the breakdown of engineering management roles <em>really <\/em>look like on the day-to-day level? Let\u2019s take a closer look and understand how the differences come into play.<\/p>\n\n\n<aside class=\"\n    cta-banner\n     cta-banner--bg-blue      cta-banner--has-media \"\ndata-block-name=\"cta-banner\">\n    <div class=\"inner\">\n        <div class=\"content\">\n                            <h2 class=\"headline\">Learn how to run front-end developer interviews that don&#8217;t suck<\/h2>\n            \n                            <div class=\"cta-buttons\">\n                                    <a href=\"https:\/\/coderpad.io\/blog\/interviewing\/5-tips-for-interviewing-frontend\/\" class=\"button  js-cta--read-our-guide\"  data-ga-category=\"CTA\" data-ga-label=\"Learn how to run front-end developer interviews that don&#039;t suck|Read our guide\">Read our guide<\/a>\n                                <\/div>\n                    <\/div>\n                    <div class=\"media\">\n                <img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"342\" src=\"https:\/\/coderpad.io\/wp-content\/uploads\/2022\/08\/Illustration-of-man-with-beard-popping-out-of-computer-chat.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/coderpad.io\/wp-content\/uploads\/2022\/08\/Illustration-of-man-with-beard-popping-out-of-computer-chat.png 432w, https:\/\/coderpad.io\/wp-content\/uploads\/2022\/08\/Illustration-of-man-with-beard-popping-out-of-computer-chat-300x238.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/>\n            <\/div>\n            <\/div>\n<\/aside>\n\n\n\n<h2 class=\"wp-block-heading\">Focus areas for Engineering Leadership positions<\/h2>\n\n\n\n<p>To best understand the differences \u2014 and overlap \u2014&nbsp;between engineering leadership positions, it\u2019s helpful to establish a few key focus areas for reference.&nbsp; These are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Tech Leadership<\/strong>: This encompasses code quality, architecture, code reviews, and evaluation of new frameworks for specific projects or features<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Process Leadership<\/strong>: Software development lifecycle, ensuring standards across teams, and devising\/tracking delivery metrics<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>People Management<\/strong>: Performance, coaching, mentoring, and understanding how different teams and members fit into the eng org<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Business Strategy<\/strong>: Making decisions about short- and long-term business growth and understanding the strategy of various teams and stakeholders in the org (both your team and adjacent teams)<\/li><\/ul>\n\n\n\n<p>Because so much depends on the size of an eng org, its goals, and the structure of the planning process, there are cases where one person takes on a bit of everything just as there are cases where it\u2019s best to divvy things up. No matter the situation, though, each management role can serve a crucial function. Now, on to the details.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tech Lead vs. Engineering Manager<\/h2>\n\n\n\n<p>Let\u2019s start by looking at two often-confused roles: Tech Lead and <a href=\"https:\/\/coderpad.io\/blog\/engineering-management\/6-ways-to-manage-your-software-engineering-team-more-effectively\/\">Engineering Manager<\/a>.&nbsp;<\/p>\n\n\n\n<p>There\u2019s an important distinction to make out front: Tech Lead itself isn\u2019t a formal career level, and it\u2019s a role that might be played by an IC Software Engineer or an Engineering Manager depending on the size of the organization. Likewise, a <a href=\"https:\/\/gauravgargate.medium.com\/wtf-is-a-tech-lead-and-what-does-she-do-b858a01902a6\" target=\"_blank\" rel=\"noopener\">Tech Lead<\/a> isn\u2019t necessarily a permanent position or even a promotion within the career ladder.&nbsp;<\/p>\n\n\n\n<p><strong>Tech Leads <\/strong>ensure that the technical aspects of a project are up to snuff before the code is shipped. They spend more time directly alongside the engineering team and might need to get \u2018in the weeds\u2019 while also delegating more specific tasks. Senior engineers need expertise in technical subject matter and programming languages, while Tech Leads <a href=\"https:\/\/blog.devgenius.io\/on-the-differences-between-being-a-tech-lead-and-a-senior-engineer-74532a2deccd\" target=\"_blank\" rel=\"noopener\">use<\/a> their expertise in different ways: sharing resources, solving problems based on a team\u2019s characteristics, or evaluating which strategy best fits a sprint.<\/p>\n\n\n\n<p>Because a Tech Lead evaluates and ultimately helps roll out the code, it\u2019s also likely that they\u2019ll spend time:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Developing and evaluating test metrics like code churn<\/li><li>Evaluating technical debt&nbsp;<\/li><li>Ironing out the technical roadmap as the team progresses<\/li><li>Providing architectural and design oversight<\/li><li>Hands-on debugging and assessing individual bottlenecks<\/li><\/ul>\n\n\n\n<p><strong>Engineering Managers<\/strong>, on the other hand, are where tech meets people. Though there is overlap in responsibilities \u2014&nbsp;for instance, planning and communicating goals \u2014&nbsp;an Engineering Manager navigates between a wider variety of stakeholders, including the Product team and broader cross-organizational parties. They\u2019re also the ones who handle things like:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Professional development of ICs<\/li><li>Hiring and promotions<\/li><li>Building team culture<\/li><li>Mapping out progress and ensuring productivity<\/li><\/ul>\n\n\n\n<p><strong>TL;DR <\/strong>Tech Leads tend to spend a majority of their time on tech leadership and will have some crossover on the process leadership side, whereas an Engineering Manager dedicates most of their time to people management, process leadership, and, occasionally, business strategy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Team Lead vs. Engineering Manager<\/h2>\n\n\n\n<p>People, people, people: they\u2019re what keep a successful org running and innovating. So when it comes to motivating ICs and executing against the roadmap, it sometimes takes multiple managers.<\/p>\n\n\n\n<p>That\u2019s where a Team Lead comes in.<\/p>\n\n\n\n<p>The <strong>Team Lead<\/strong>\u2019s job is to guide the ship for a technical team. Team Leads make sure individual projects run smoothly and can prioritize tasks to make them happen. They don\u2019t necessarily need (or even always benefit from having) a technical background and are instead concerned with how individuals in a small team \u2014 usually of around four to ten \u2014 are progressing.<\/p>\n\n\n\n<p>A key difference between Team Lead and Engineering Manager is that EMs report to and coordinate with a wider group of stakeholders. You can think of a Team Lead as the type of manager who is laser-focused on just their individual team, while an Engineering Manager may need to take a look at the bigger picture and determine a longer-term roadmap and corresponding metrics across multiple teams.<\/p>\n\n\n\n<p>Whether your organization needs a Team Lead depends on not only its size but also the model of work it follows. Let\u2019s look at a couple of examples to see the interplay of Team Leads and EMs:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Feature Teams<\/strong>: For this type of <a href=\"https:\/\/less.works\/less\/structure\/feature-teams\" target=\"_blank\" rel=\"noopener\">long-running, cross-functional<\/a> structure focused on end-to-end customer products, it\u2019s common that an Engineering Manager can also play the role of Team Lead<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Spotify\u2019s \u2018Squad\u2019 Mode<\/strong>l: This <a href=\"https:\/\/www.atlassian.com\/agile\/agile-at-scale\/spotify\" target=\"_blank\" rel=\"noopener\">framework<\/a> utilizes teams of roughly 6 to 12 and allows for localized decision-making based on each squad\u2019s mission. As such, a squad may have a single Team Lead through the duration of a given project, but each IC could also have different EMs within the company<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Other Scaled Organizations<\/strong>: Engineering Managers might oversee a set of Team Leads, who then oversee ICs. For scaling and fast-growing companies, this allows for efficient team-based work while maintaining synergy through the company.<\/li><\/ul>\n\n\n\n<p><strong>TL;DR <\/strong>Both Team Leads and Engineering Managers focus on people management. Team Leads, however, generally operate in the confines of their small team and assess the progress of individuals and projects rather than focusing on the \u2018big picture\u2019 like EMs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A quick note on Tech Leads vs. Team Leads<\/h3>\n\n\n<div class=\"\n    quote-block\n                \n\" data-block-name=\"coderpad-quote\">\n\n\n    <figure class=\"the-quote-figure\">\n        <blockquote class=\"the-quote\">\n            <p>The glaring difference between a Tech Lead and a Team Lead comes from the level of technical experience required. Both operate within the small team setting, but a Team Lead is tasked with people management while a Tech Lead mostly sticks to process and technical leadership.<\/p>\n\n        <\/blockquote>\n\n            <\/figure>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Hybrid roles and the engineering career ladder<\/h2>\n\n\n\n<p>If this seems like a lot to keep track of, fear not. <a href=\"https:\/\/coderpad.io\/blog\/engineering-management\/why-you-need-an-engineering-career-ladder\/\">Engineering career ladders<\/a> are a valuable tool that helps sort things out and provides real-world examples of how companies of different sizes organize managers.<\/p>\n\n\n\n<p>DropBox, for example, clearly lays out the differences between their equivalent of Tech Leads and Engineering Managers by describing typical skillsets and results. For a Tech Lead (which DropBox labels an IC4 Software Engineer), the <a href=\"https:\/\/dropbox.github.io\/dbx-career-framework\/ic4_software_engineer.html\" target=\"_blank\" rel=\"noopener\">expectations include<\/a> the ability to, \u201cgive quality feedback on designs written by other members of my team\u201d and \u201ceffectively and quickly de-bug cross-module issues.\u201d<\/p>\n\n\n\n<p>For DropBox\u2019s Engineering Managers, the focus shifts from craft to talent development and decision making. An M3 Engineering Manager <a href=\"https:\/\/dropbox.github.io\/dbx-career-framework\/m3_engineering_manager.html\" target=\"_blank\" rel=\"noopener\">is expected to<\/a>, \u201cstructure a team so that the right people are in the right roles\u201d in addition to identifying the right candidates and \u201cproactively share information\u201d across the organization.<\/p>\n\n\n\n<p>To get an idea of how another organization melds these roles, we can turn to Carta\u2019s career framework. Unlike DropBox, they initially combine the roles of EM and Tech Lead. At Carta\u2019s first level of EM, titled M4, <a href=\"https:\/\/medium.com\/building-carta\/engineering-levels-at-carta-d33db2a55a20\" target=\"_blank\" rel=\"noopener\">the responsibilities<\/a> are almost evenly split between technical leadership and people management. This person needs to, \u201cpredominantly focus on mentorship, technical planning, resource allocation, and project delivery.\u201d<\/p>\n\n\n\n<p>Overall, as your company grows it\u2019s also crucial to recognize that flexibility and adaptation are all part of the process of creating successful engineering leadership teams. The makeup of your team will change as the team scales, and the best way to determine how and when to make these changes is to deliberately review the org structure every ~6-12 months.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let\u2019s take a closer look and understand how the differences of engineering management roles come into play.<\/p>\n","protected":false},"author":1,"featured_media":3744,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"persona":[],"blog-programming-language":[],"keyword-cluster":[],"class_list":["post-3740","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering-management"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/3740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/comments?post=3740"}],"version-history":[{"count":9,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/3740\/revisions"}],"predecessor-version":[{"id":7904,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/3740\/revisions\/7904"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media\/3744"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media?parent=3740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/categories?post=3740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/tags?post=3740"},{"taxonomy":"persona","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/persona?post=3740"},{"taxonomy":"blog-programming-language","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/blog-programming-language?post=3740"},{"taxonomy":"keyword-cluster","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/keyword-cluster?post=3740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}