Think Like a Software Engineering Manager (Akanksha Gupta) (Z-Library)
Author: Akanksha Gupta
教育
No Description
📄 File Format:
PDF
💾 File Size:
11.6 MB
53
Views
0
Downloads
0.00
Total Donations
📄 Text Preview (First 20 pages)
ℹ️
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
📄 Page
1
M A N N I N G Akanksha Gupta
📄 Page
2
Streamline transition with a comprehensive offboarding checklist for departing employees Status Do a manager-level exit interview. Provide a thank-you note for the employee from the team. Provide robust documentation on the projects being worked on and their state/outstanding tasks. Document the important system designs and the processes. If the documentation already exists, make sure it's useful, relevant, and up to date. Hold technical talks or lunch-and-learn sessions that are recorded, and cover the essential details of the systems and projects they’ve worked on in their time at the company. Do pair programming sessions with team members for critical components as needed, especially to share troubleshooting mechanisms for common production issues, ensuring that they are well documented. Review any access permissions, and revoke all access to critical systems, infrastructure, and so on for the departing employee. Retrieve important contacts for cross-functional partners per project/points of contact. Action plan
📄 Page
3
(This page has no text content)
📄 Page
4
For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Email: orders@manning.com ©2024 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. The author and publisher have made every effort to ensure that the information in this book was correct at press time. The author and publisher do not assume and hereby disclaim any liability to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from negligence, accident, or any other cause, or from any usage of the information herein. Manning Publications Co. Development editor: Frances Lefkowitz 20 Baldwin Road Technical editor: Bruce Bergman PO Box 761 Review editor: Radmila Ercegovac Shelter Island, NY 11964 Production editor: Andy Marinkovich Copy editor: Keir Simpson Proofreader: Jason Everett Technical proofreader: Srihari Sridharan Typesetter: Gordan Salinovic Cover designer: Marija Tudor ISBN 9781633438439 Printed in the United States of America
📄 Page
5
As I set out on the journey of writing Think Like a Software Engineering Manager, little did I know that another author was silently contributing her essence to the narrative. Yes, my precious daughter Amaira was conceived during the creation of this book, and with each passing day, her presence became an integral part of its development. In the quiet solitude of late-night writing sessions, she was my silent companion, offering unwavering support from within the womb. Her heartbeat, a rhythm that echoed alongside the tapping of keys, served as a constant reminder of the dual roles I was undertaking: author and soon-to-be parent. Now, as the pages of this book unfold, I proudly declare it to be a col- laboration between two authors: me and my daughter. May this book stand as a testament to the harmonious symphony of parenthood and my passion for technology. With immense love and gratitude, I dedi- cate this book to Amaira.
📄 Page
6
vi brief contents PART 1 START WITH THE PEOPLE................................................... 1 1 ■ Exploring the engineering manager role 3 2 ■ Individual contributor to engineering manager 28 3 ■ Managing people, teams, and yourself 57 4 ■ Managing performance 86 5 ■ Delegation: Learn to let go 108 6 ■ Rewards and recognition 128 7 ■ Hiring 140 8 ■ Handling attrition 160 PART 2 PROJECTS AND THE CROSS-FUNCTIONAL WORLD ..................179 9 ■ Working with cross-functional partners 181 10 ■ Project management, execution, and delivery 199 11 ■ Managing expectations 228
📄 Page
7
BRIEF CONTENTS vii PART 3 LEARN THE PROCESS .....................................................245 12 ■ Engineering and operational excellence 247 13 ■ Organizational change management 273 14 ■ Time management 290 15 ■ Beyond this book: Grow yourself 306
📄 Page
8
viii contents preface xv acknowledgments xvii about this book xix about the author xxii about the cover illustration xxiii PART 1 START WITH THE PEOPLE......................................... 1 1 Exploring the engineering manager role 3 1.1 Demystifying the EM role 4 Roles and responsibilities: The core competencies 6 ■ Leadership versus management 9 ■ Traits of a good engineering manager 10 1.2 Success metrics as an engineering manager 16 Business metrics 17 ■ Development velocity 17 ■ Team morale 18 ■ Operational excellence metrics 18 1.3 Leadership styles 19 Autocratic 20 ■ Democratic 20 ■ Delegative 21 Transactional 21 ■ Transformational 22 ■ Servant 23 Choosing your leadership style 23 1.4 Stop and think: Practice questions 26
📄 Page
9
CONTENTS ix 2 Individual contributor to engineering manager 28 2.1 Differences between the IC and EM roles 29 2.2 Common misconceptions 30 IC to EM is not necessarily a promotion 30 ■ EMs do not always write code 31 ■ Coding rounds are not always necessary when changing jobs as an EM 33 ■ Not every sound software engineer is a good manager 33 2.3 Intentions and motivations 37 2.4 A three-phase approach for ICs to EMs 37 Phase 1: Before becoming an EM 38 ■ Phase 2: Transition period 40 ■ Phase 3: Post-transition period 45 2.5 Challenges of a new engineering manager 47 Prioritizing coding over people 47 ■ Setting clear goals and expectations 48 ■ Struggling with delegation 48 ■ Coping with changing success metrics 49 ■ Resolving conflict 49 ■ Handling the speed-vs.-quality dilemma 49 ■ Acknowledging and recognizing others 50 ■ Keeping promises made by previous leaders 50 Managing people and performance 51 ■ Managing time 51 Documenting 52 ■ Communicating 52 2.6 Assisting the IC-to-EM transition 53 2.7 Stop and think: Practice questions 56 3 Managing people, teams, and yourself 57 3.1 Managing people 58 Having one-on-one conversations 58 ■ Supporting junior versus senior engineers 62 ■ Resolving conflicts between team members 63 Challenging team members 65 ■ Leading by example 65 3.2 Managing teams 66 Defining team goals, vision, and strategy 67 ■ Handling morale problems 68 ■ Building trust and transparency 69 Convincing teams about dependencies in the team road map 70 Managing remote teams 71 ■ Accepting responsibility for your decisions 74 ■ Evaluating metrics for the team 75 Avoiding burnout 75 3.3 Managing yourself 77 Identifying opportunities 78 ■ Succeeding as a manager 79 Recognizing that everyone makes mistakes 80 ■ Managing emotions and well-being 81 3.4 Stop and think: Practice questions 84
📄 Page
10
CONTENTSx 4 Managing performance 86 4.1 Importance of managing performance 87 Sustained productivity 87 ■ Career planning 87 ■ Proactive feedback 88 ■ Alignment on strategic goals 88 ■ Better retention chances 88 ■ Plans for future hiring and training programs 88 4.2 Best practices for managing performance 89 Promoting transparency 89 ■ Ensuring fairness 89 ■ Avoiding the Halo and Horns Effect 90 ■ Providing recognition 90 Communicating effectively 90 ■ Providing training 91 Performing continuous performance management 91 4.3 Performance reviews 91 Evaluating performance 91 ■ Calibrating across teams/ organizations 93 ■ Preparing and conducting performance reviews 94 ■ Handling pushback on the feedback 95 Using a performance review template 95 4.4 Managing high performance 96 Identifying high performance 96 ■ Supporting high performers 97 4.5 Managing low performance and underperformance 99 Managing underperformance 99 ■ You win some, you lose some 103 ■ Communicating the outcome to the rest of the team 103 ■ Managing an underperforming team 104 4.6 Stop and think: Practice questions 107 5 Delegation: Learn to let go 108 5.1 The art of delegation 109 Avoid the do-it-yourself attitude 109 ■ Don’t be the sole knowledge bearer 109 5.2 Delegation vs. allocation vs. substitution 111 Delegation vs. allocation 111 ■ Delegation vs. substitution 112 5.3 The when, why, what, who, and how of delegation 113 When and why to delegate 113 ■ What task to delegate 114 Whom to delegate to 115 ■ How to delegate and support 116 5.4 Framework for delegation 117 Supporting delegation 118 ■ Tracking delegation 120 5.5 Teaching delegation to others 121 5.6 When delegation goes wrong 123 5.7 Stop and think: Practice questions 126
📄 Page
11
CONTENTS xi 6 Rewards and recognition 128 6.1 Recognition levels 129 Top-down 129 ■ Peer 129 ■ 360-degree 130 6.2 Effective recognition principles 130 Timely 130 ■ Frequent 130 ■ Specific 131 ■ Visible 131 Fair 132 6.3 Forms of recognition 132 Group recognition 132 ■ Individual recognition 134 6.4 Stop and think: Practice questions 138 7 Hiring 140 7.1 Following a hiring framework 141 Identifying the need for hiring 141 ■ Sourcing potential candidates 142 ■ Setting up hiring rounds and the loop 144 Conducting the sales call 147 ■ Creating an onboarding plan 147 7.2 Staffing from scratch versus hiring for existing teams 148 Purpose 149 ■ Sizing 149 ■ Specialization of skills and experience 150 ■ Diversity 150 ■ Team dynamics 151 Tale from the trenches 151 7.3 Hiring externally versus growing internal talent 152 Hiring externally 152 ■ Growing talent internally 153 7.4 Developing the hiring pipeline 154 7.5 Employing hiring programs for positive reinforcement 155 Internship/campus hiring programs 155 ■ Returnship programs 156 ■ Diversity, equity, and inclusion programs 157 7.6 Stop and think: Practice questions 159 8 Handling attrition 160 8.1 Attrition is inevitable 161 8.2 Reasons people leave 162 Voluntary reasons 162 ■ Involuntary reasons 166 8.3 Effect of attrition 168 Low team morale 168 ■ Loss of knowledge 169 ■ High hiring and backfill cost 169
📄 Page
12
CONTENTSxii 8.4 Getting ahead of attrition 170 Proactive measures 170 ■ Reactive measures 172 ■ Point of no return 173 8.5 Stop and think: Practice questions 176 PART 2 PROJECTS AND THE CROSS-FUNCTIONAL WORLD ........179 9 Working with cross-functional partners 181 9.1 Dealing with common challenges 182 Competing priorities across different teams 183 ■ Ill-defined goals 183 ■ Inefficient coordination and communication 184 Unclear roles and responsibilities 184 ■ Conflicts 184 Geographical constraints 185 ■ Missing support/ underperforming partners 185 ■ Overwhelming work 186 9.2 Building a cross-functional team 186 Clarifying and aligning on goals 187 ■ Identifying key skills and roles 188 ■ Establishing a communication framework 189 Establishing a clear decision-making process 190 ■ Establishing an open and continuous feedback mechanism 190 ■ Measuring success 191 9.3 Collaborating with cross-functional teams 192 Fostering trust and transparency 192 ■ Managing conflicts 193 Providing additional support when needed 194 ■ Reasoning about technical work with nontechnical partners 195 ■ Fostering a culture of recognition 196 9.4 Stop and think: Practice questions 197 10 Project management, execution, and delivery 199 10.1 Project life-cycle phases 200 Project discovery 202 ■ Preplanning 203 ■ Planning and project kickoff 206 ■ Execution 218 ■ Postexecution 222 10.2 Stop and think: Practice questions 226 11 Managing expectations 228 11.1 Importance of managing expectations 229 Clarity 229 ■ Relationship building 230 ■ Risk mitigation 230 11.2 Challenges in managing expectations 231 Ambiguity 231 ■ Inability to say no 232 ■ Tendency to take things personally 232
📄 Page
13
CONTENTS xiii 11.3 Framework for managing expectations 233 Setting expectations 234 ■ Communicating expectations 234 Negotiating 235 ■ Adapting to changing expectations 236 Appreciating and sharing feedback 237 11.4 How to manage expectations at all levels 237 Your manager/leadership 238 ■ Your peers 239 ■ Your team members 240 11.5 Stop and think: Practice questions 242 PART 3 LEARN THE PROCESS............................................245 12 Engineering and operational excellence 247 12.1 Importance of engineering excellence and OE 248 12.2 Tools and tips to get you started 249 Raise the bar on code 250 ■ Test coverage 251 ■ Acknowledge and reduce technical debt 254 ■ Manage deployments 255 Use logging, monitoring, and dashboarding 258 ■ Improve on-call and production support 260 ■ Reduce operational cost 261 Identify ambassador(s) 262 ■ Employ DevOps and DevSecOps 262 Follow the away-team model 264 ■ Improve accessibility 265 Learn from mistakes 266 12.3 Engineering excellence and OE as a continuous process 267 12.4 How to navigate resistance 268 12.5 Stop and think: Practice questions 271 13 Organizational change management 273 13.1 Motivations for reorganizations 274 Market conditions or external factors 274 ■ Need to streamline operations 275 ■ New opportunities 275 ■ Change in leadership 276 13.2 Framework for managing organizational change 276 Understanding the need for change 276 ■ Recruiting champions for change 277 ■ Crafting a strategy and road map for change management 279 ■ Executing the plan 280 ■ Monitoring and measuring success 280 ■ Iterating on opportunities 281 Change management case studies 281 13.3 Changes in the workforce 283 Change in leadership 283 ■ Reduction in workforce 285 Acquisitions or mergers 287 13.4 Stop and think: Practice questions 289
📄 Page
14
CONTENTSxiv 14 Time management 290 14.1 Importance of time management for EMs 291 Ensuring successful project delivery 291 ■ Facilitating team members’ career goals 291 ■ Navigating time pressures 291 Making decisions effectively 292 14.2 Tips for better time management 292 Declutter your calendar 292 ■ Create a meeting bill of rights 294 Use the power of delegation 295 ■ Learn to say no 296 ■ Keep your to-do list up to date 297 ■ Use feature/project-tracker documents 297 ■ Use async communication to the fullest 298 14.3 The Eisenhower Matrix 299 Meeting the requirements to use the Eisenhower Matrix 299 Using the four quadrants of the Eisenhower Matrix 300 Spending time to find time 302 14.4 Stop and think: Practice questions 303 15 Beyond this book: Grow yourself 306 15.1 What you’ve learned so far 307 Part 1: Start with the people 307 ■ Part 2: Projects and the cross- functional world 307 ■ Part 3: Learn the process 307 15.2 Continuously learn and hone skills 308 15.3 Some learning resources for the future 308 Mentors 308 ■ Learning platforms 309 ■ Pet projects 310 Effective communication 311 ■ Interviews 312 ■ Feedback 312 15.4 Thank you 313 15.5 Stop and think: Practice questions 314 index 317
📄 Page
15
xv preface As someone who has always been drawn to software engineering, I have long harbored a keen interest in eventually transitioning from a software engineer role into manage- ment, specifically engineering management (EM). This aspiration stemmed from my admiration for my father, who worked in the same field. Let’s start with the reasons why an EM role would be exciting or even desirable for a software engineer. This role combines the principles of engineering and manage- ment to lead and deliver engineering projects. As such, the position requires true pas- sion for leadership, strategy, a people-first mindset, and many other management skills. As an EM, you will be put in difficult situations and asked to identify and miti- gate risks; make informed decisions, sometimes with limited information; help plan strategies for the organization and company; promote a culture of continuous improvement; handle resource allocations on projects; communicate to leadership; provide transparency; and help people with career development. Whether you’re an experienced EM, a newcomer to the role who’s stepping into the shoes of a predeces- sor, or a software engineer who’s contemplating moving into an EM role, the position encompasses more than meets the eye. Regardless of the company’s scale, the scope of responsibility is extensive. Fortunately, whenever I made career moves as a software engineer, I found an abundance of books and resources available to educate, support, and aid me in my preparations. After spending several years as a software engineer and becoming seri- ous about exploring a career path in engineering management, I faced a significant challenge. Though numerous resources available on management in general were
📄 Page
16
PREFACExvi available (see the following list), I found nothing specifically about making a transi- tion from engineering to engineering management. Here are a few of the books on excelling in management that I read or listened to: ■ The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change, by Camille Fournier (https://mng.bz/2K1g) ■ 97 Things Every Engineering Manager Should Know: Collective Wisdom from the Experts, by Camille Fournier (https://mng.bz/1GRX) ■ The Mythical Man-Month: Essays on Software Engineering, by Frederick P. Brooks Jr. (https://mng.bz/PZ7w) ■ Software Engineering at Google: Lessons Learned from Programming Over Time, by Titus Winters, Tom Manshreck, and Hyrum Wright (https://mng.bz/JZ7o) ■ The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win, by Gene Kim, Kevin Behr, and George Spafford (https://mng.bz/wxAO) ■ Peopleware: Productive Projects and Teams, by Tom DeMarco and Timothy Lister (https://mng.bz/qOAA) As you can see, there was a noticeable lack of guidance for someone like me—an engi- neer seeking to understand what EM entailed and whether it was the right move for my career. Neither was there information on how to transition from an individual con- tributor (IC; software engineer) to a manager of teams. To my dismay, I discovered that I was the only one in my immediate circle of friends who was considering an EM role, which meant that there were fewer people I could turn to for advice within my online friend network. Consequently, I had to actively expand my network, using plat- forms such as LinkedIn to connect with individuals who could offer career guidance. My immediate manager also provided valuable support throughout this process. The challenges and anxieties I experienced during my transition from software engineer to EM were the driving force behind my decision to write this book. Within its pages, you will delve into the EM role, learning about the progression from IC to EM, illustrated by some experiences from my journey as well as anecdotes from indus- try experts.
📄 Page
17
xvii acknowledgments Writing this book demanded significant effort and countless late nights. I want to express my gratitude to numerous individuals for their invaluable assistance through- out this journey. Foremost, my deepest thanks go to my parents, especially my dad, who bestowed my first computer upon me when I was young, opening the world of software engi- neering to me. As I navigated the daunting task of writing a book, he believed in my capabilities even when I doubted myself. My parents have consistently inspired me to strive to be a better version of myself. Next, I want to thank my husband, Gaurav. He always supported me, handling my tantrums when I was overwhelmed by a full-time job, pregnancy, and the book. He always listened to me patiently, helped me plan, reviewed each chapter, and provided candid feedback. He is the one who made me believe that I could do this work. He complements me in the perfect way. I love you, Gaurav. Furthermore, I would like to express my gratitude to Al Krinker and Frances Lef- kowitz, my esteemed editors at Manning. Throughout the process, they offered invalu- able guidance and support, contributing significantly to the refinement of this work. A heartfelt thanks to Bruce Bergman and Srihari Sridharan for technical reviews and brainstorming. Thank you for working with me. Working alongside you significantly enhanced the quality of this book for its readers. I would like to also thank Manning’s production and marketing teams. Also, I want to express my thanks to friends and mentors who provided guidance, motivation, and invaluable feedback: Jean Bredeche, Oscar Medina, Sanjay Gupta,
📄 Page
18
ACKNOWLEDGMENTSxviii Suyog Barve, Larry Gordan, C.J. Jouhal, Bidisha Das, Sumit Kumar, Saurabh Gandhi, Nathan Bourgoin, Kausik Basu, Nishat Akhter, Richard Frank, Adish Agarwal, Raj Sambasivam, Krishna Behara, Chander Dhall, Mayank Agarwal, Rajesh Subramaniam, and other industry experts quoted in the book who shared their insights. This achieve- ment is the result of a collective effort. Thank you all! Finally, I would like to thank all our reviewers, who invested their time in reading this book and provided valuable feedback that made a significant difference: To Adail Retamal, Andrea C. Granata, Andres Sacco, Amit Basnak, Arjunkumar Krishnamoor- thy, Azizur Rahman, Brandon Rader, Chris Allan, Christopher Forbes, Dave Corun, David Paccoud, Dane Balia, Dirk Gómez, Edin Kapic, Fernando Bernardino, Fran- cisco Rivas, Gary Rosales, Giampiero Granatella, Gilberto Taccari, Gregory A. Lussier, Greta Rossetto, Gustavo Velasco-Hernandez, Harsh Raval, Harshavardhan Mudumba Venkata, Haytham Samad, Ivo Štimac, Jereme Allen, Jeremy Chen, John Guthrie, Jon Choate, Krishna Chaithanya, Mario-Leander Reimer, Michael Lund, Mohammad Zeinali, Muneeb Shaikh, Phil Johnstone, Regan Russell, Saurabh Gandhi, Sergio Guti- errez, Shawn Lam, Sravanthi Pulakurthi, Stephanie Gredell, Steve Hill, Swapneelku- mar Deshpande, Tamara Forza, Taylor Dolezal, and Yaz Erkan, you helped make this book better.
📄 Page
19
xix about this book The book aims to help you determine whether the EM role is right for you, guide you in preparing for the position, and provide insights on how to thrive when you assume the role. You will understand what the role entails, explore the challenges that come with being an EM, and introduce frameworks that can be invaluable in your day-to-day responsibilities. I will share factors to keep in mind when making decisions at the com- pany level, especially as most decisions can have consequences that extending far beyond your tenure in the role. Through thought-provoking exercises at the end of each chapter, you will be encouraged to reflect on how the content resonates with your own job, role, and work. Take time to go through each question and reflect on it. These questions will help you in your current role as well as prepare you for future challenging roles. There are no right or wrong answers—just opportunities to consider and reflect. Finally, each chapter incorporates the perspectives of other industry leaders who are experts in their field. These provocative quotations are here to enhance your understanding of the topics discussed. Again, there are no right or wrong opinions; these leaders are simply sharing their perspectives and showing how different people think about the situations that confront an EM. Who should read this book? First, let’s address the fundamental question of who should read this book. If any of the following categories describes you, you have landed in the appropriate book:
📄 Page
20
ABOUT THIS BOOKxx ■ An engineer who is thinking about EM as your next potential career move ■ An EM who is new to the role ■ An experienced EM who is looking to learn and grow in the role ■ An EM who is changing jobs and will be taking over a team from a previous EM ■ An EM who will have new EMs under them or will help ICs go through the EM transition How this book is organized: A road map This book contains 15 chapters divided into three parts dealing with the fundamentals of the EM role (people, product, and process): ■ Part 1, Start with the people—This part of the book sets the stage for your journey to being or becoming an EM, focusing on the people aspects of the job. – Chapter 1 introduces the basics of management, roles, and responsibilities of an EM, discussing leadership versus management and leadership styles. – Chapter 2 is about the differences between ICs and EMs, addressing some common misconceptions about the role, motivations for being an EM, and a three-phased approach for moving from IC to EM. – Chapter 3 deals with importance of managing people, your team, and your- self, as well as career development, conflict resolution, and opportunities to learn and grow as an EM. – Chapter 4 talks about managing performance, including best practices for performance reviews and managing high performers and underperformers. – Chapter 5 dives into the concept of delegation, discussing the differences between delegation, substitution, and allocation. The chapter also provides a framework for applying delegation and teaching it to others to create a mul- tiplier effect. – Chapter 6 is about recognition: its role in team development, effective recog- nition, and how to handle recognition at all levels. – Chapter 7 delves into hiring. Topics covered include using a framework for hiring, building teams from scratch versus hiring people for an existing team, hiring externally versus internally, building a hiring pipeline, and cre- ating hiring programs for positive reinforcement. – Chapter 8 explores attrition, its effects, and ways to get ahead of it. ■ Part 2, Projects and the cross-functional world—Here, we explore projects and partnerships. – Chapter 9 shows the importance of cross-functional collaboration and dis- cusses common challenges as well as ways to collaborate and communicate effectively in a cross-functional setting. – Chapter 10 dives into the project life cycle and the role that EMs play. It cov- ers the stages of a project life cycle: preplanning, planning, execution, and postexecution.
The above is a preview of the first 20 pages. Register to read the complete e-book.