Recommended Engineering Management Books Posted on 13.02.202413.02.2024 By caiti335 Over the past 3.5 years my career has grown and transformed from Individual Contributor (IC) to an Engineering Manager of multiple teams, and all the roles in between as I built the Azure Sphere Security Services (AS3) Team from 2 people to 20 people. I undertook this journey in the Summer of 2017 to help transform a Microsoft Research project, Project Sopris, into a Generally Available (GA) product Azure Sphere. As the AS3 Team grew, I went through a massive amount of personal growth and learning as well. In December 2017 I stepped into a manager role for the first time in my career. I had been a professional software engineer for over a decade at this point, and was up for a totally new challenge. I knew that the skills and job of growing and managing a team and then an organization were totally different than what I had been actively developing over the last decade of my career. As I went through this period of growth I was lucky enough to have several friends, coaches, and mentors share their experiences with me, and recommend some great books to help me along my learning journey. Below is my curated list of the most influential and impactful books that helped me along the way, and that I highly recommend to Engineering Managers The Manager’s Path: A Guide for Tech Leaders Navigating Growth & Change by Camille Fournier This is a must read for anyone considering managing engineering teams, it is as good as or better than the hype surrounding it. The book starts off from the individual contributor perspective and then each subsequent chapter explores the next level of management complexity. Each chapter focuses on an engineering management role, like technical lead, manager of people, or manager of multiple teams, and manager of managers. Over the past 3.5 years I’ve come back to this book several times, re-reading the chapters around my newest role. For instance when I transitioned into a manager of managers role, I re-read that chapter and the one before and after it. These were great reminders on what I should be focused on, what challenges my directs were facing, and what challenges and motivations my boss was focused on. One of the sections I really loved was on debugging dysfunctional teams. As an engineer I am a great debugger, often able to piece together logs, metrics, and weird behavior to diagnose what’s going wrong in a system. This was the first time I had seen the term debugging applied to people and organizations, and it helped frame the work of how to start investigating dysfunction in a team, and how to discover the source of the problem. Honestly I recommend this book to every engineer, solely for the chapter on how to be managed, and what you should and can expect from your manager. Even if you never plan on taking on a management role this book provides an excellent overview of the challenges and motivations of folks in varying levels of an engineering organization and will help you better navigate your org. Thanks for the Feedback by Douglas Stone & Sheila Heen Prior to managing I had given peer feedback as part of performance reviews at various companies, but I did not consider this a strength of mine. Now giving feedback was a critical skill for my role as a manager. Early on I sought out several resources on how to give and receive feedback well, and found “Thanks for the Feedback” to be an tremendous resource. Thanks for the Feedback is framed as a resource for receiving and processing the multitudes of feedback you receive. However, any one who reads this book, will also learn how to be a more skilled feedback giver. I highly recommend reading the book in its entirety, but I wanted to share one of the fundamental ideas in this book that resonated with me. Feedback is really three different things, with three different purposes: Appreciation, the goal is to help people feel appreciated. Sometimes they may just need motivation and encouragement to keep going when tackling tough problems Coaching, the goal is to help the receiver expand their knowledge, sharpen skills, and increase confidence. Evaluation, the goal here is to rate or rank the receiver’s work against a set of standards to align expectations and inform decision making. This idea that feedback serves a variety of different purposes was eye opening, and help me more clearly think about how and when to provide feedback. Taking this perspective along with the multitude of lessons learned from this book was tremendously helpful to me. The Hard Thing About Hard Things: Building a Business When There are No Easy Answers by Ben Horowitz The book starts off acknowledging a problem with most management books “they attempt to provide a recipe for challenges that have no recipes. There’s no recipe for really complicated, dynamic situations.” This instantly resonated with me as I was reading it in November 2019. I had been a manager for about two years, and had grown the AS3 team from 2 to 15 people. We’d spent the past two years turning a research project into what would soon be a GA’d product in February 2020. There is no recipe for how to do this, what I was doing was a hard thing. Horowitz packs the book with a variety of entertaining stories from his career as a venture capitalist and entrepreneur to emphasize his message and points on leadership and various challenges. In addition there are a few key takeaways that have stayed with me. Take care of the people, the product, and the profits in that order. This quote resonated with me and the kind of organization I want to build and run. Chapter 5, which bears this quote as a title goes into some of the challenges that can arise when setting out with this mission and how to overcome them, like hiring, training, and management debt. Part of Management is training your people. In big companies this is often neglected as it’s the role of HR or corporate to produce training programs. These can sometimes be valuable but are often overly generic. As a manager make sure you are training your people for the specific job they are doing. Things like how to work in your specific code base, what are the architectural standards and guidelines, what makes a good design doc, etc…Make sure you are intentionally designing on boarding programs, meetings, and workshops to facilitate learning. Accelerate: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, PhD, Jez Humble, and Gene Kim Accelerate is a summary of the research and learnings discovered by Dr Forsgren and her colleagues from the 2014-2017 State of DevOps report. This book is a must read for any engineering leader, as it gives you a clear outline on how to set your team up for success by investing in 24 key capabilities which will drive improvement in your teams software delivery performance. There are some non-surprising findings like using version control is important to team performance, and other not so obvious ones like focusing on continuous integration and software delivery performance positively impacts culture. This book and the ongoing research released by Dr. Forsgren, et. Al has had a huge influence on the priorities of my team. We embraced Accelerate principles early on in the development of the Azure Sphere Security Services, and that investment has paid huge dividends over time. Dare to Lead: Brave Work. Tough Conversations. Whole Hearts. by Brene Brown I’m a huge fan of Brene Brown’s work as a shame and vulnerability researcher. In October 2018 she released Dare to Lead applying her research to Leadership. This quote sums up why this book is important “There’s an old saying that I lead by now: “People don’t care how much you know until they know how much you care.” Brene Brown This book dives into what it takes to become a brave and courageous leader. Spoiler a lot of it involves embracing vulnerability and living authentically, something that is far easier to say than do. The book defines vulnerability as “the emotion we experience during times of uncertainty, risk, and emotional exposure…Vulnerability is not winning or losing. It’s having the courage to show up when you can’t control the outcome.” One section I continually return to is the definitions of the two leadership styles: armored leadership and daring leadership. Brown’s research uncovered 16 traits for each of these leadership styles and breaks each one of them down. I highly recommend going through these periodically and checking in on your own leadership style and where there is room for growth and improvement. Another great exercise that Brown presents in the book is one around values. She challenges readers to pick one to two core values, not ten or fifteen, because as Jim Collins said “If you have more than three priorities, you have no priorities.” Having clarity around your core values allows you to live and lead more authentically. Overall this book is one of the best for dealing with the “soft skills” of leadership. How do you show up whole heartedly and help create a team that can do the same is one of the biggest challenges of taking on a management role. Switch: How to Change Things When Change is Hard This book is an awesome resource for understanding the psychology and sociology behind what motivates people and how to be successful enacting change from small to epic scale. I loved this book as it provides real practical tips for how to enact change across a team or organization through researched principles and real world examples. The book starts by acknowledging that people have both emotional and rational sides, and motivating each is important for effective change. In engineering orgs we often only motivate the rationale side, because the analytical brain is all important. Sometimes we fall into the trap of “motivating” people with data, reason, and education and then wonder why these initiatives fail. But here’s the thing engineers are human beings too and we are all motivated by and susceptible to decisions made by our emotional brain.The authors lay out three keys to behavior change: Give clear direction to reduce mental paralysis. Find an emotional connection to motivate people Shape the path. Make doing the right thing easy, by removing obstacles, modifying the environment, and building habits Atomic Habits: An Easy & Proven Way to Build Good Habits by James Clear This book is another favorite as it provides a lot of practical advice. The premise of this book is that small improvements accumulate into remarkable results over time. In addition building systems and processes is the most effective way to achieve your goals. Habits are simply a behavior that has been repeated so many times it becomes automatic and therefore require less time and energy. Clear spends the book describing research around habits and how to successfully create new good ones and break old bad ones. By leveraging habits we can create systems that more easily help us achieve our goals. I love this book for two reasons, its generally applicable to many aspects of your life, and it helped me think about how to help my team establish and build good habits, or potentially break bad ones. Tech Insights
Design Docs, Markdown, and Git Posted on 13.02.202413.02.2024 About a year ago my software engineering team, the Azure Sphere Security Services (AS3) team, found ourselves struggling with our design document process. So we ran an experiment, moving all our design documents to be written in Markdown, checked into Git, and reviewed via a pull request (PR). The experiment… Read More
Creating RESTful Services using Orleans Posted on 13.02.202413.02.2024 After the announce of the Orleans preview, there was a lot of discussion on Twitter. One comment in particular caught my eye. .NET’s actor model uses static factories, RPC Interfaces and code-gen client proxies for comms, WCF all over again: http://t.co/PyIq291Kvh — Demis Bellot (@demisbellot) April 3, 2014 I think… Read More
Origin Story: Becoming a Game Developer Posted on 13.02.202413.02.2024 Over the past few weeks I have been asked over a dozen times how I got into the Games Industry, so I thought I would write it down. TLDR; My first Console was a SNES. I learned to program in High School. I attended Cornell University and got a B.S…. Read More