rw-book-cover

Metadata

Highlights

  • Strive to be the most valuable, but least critical. (View Highlight)
  • Most of us would probably be thrilled to be described as “critical” to a project’s success. But in Yung’s experience, that’s dangerous territory for an engineer to be in (View Highlight)
  • When you’re valuable, you’re extremely useful or important — but not a failure point,” says Yung (View Highlight)
  • (View Highlight)
  • The productivity journey of engineering life, contrasting individual contributors and engineering managers (View Highlight)
  • But engineering managers unlock the negative zone of this chart. “As an IC, I was a bit of a perfectionist. I thought in black and white, in designing systems, in exhaustively listing out all the edge cases,” she says. “As a manager, it took me a lot of time to realize you can’t solve problems that way. People are not optimization problems — you have to accept there’s a range of solutions and there isn’t one true great answer.” (View Highlight)
  • Another observation: progress and feelings are no longer tightly correlated. “As an individual contributor, generally when you were doing well on a project you were making visible progress. As an engineering manager, you can work hard on something for over a year, only to see no progress in the short-term and maybe experience a big payoff in the much longer-term,” says Yung. (View Highlight)
  • Yung cautions that engineering managers are also liable to develop what she calls split-brain syndrome. “You put on a mask. To your teammates or coworkers you feel this need to maintain an even, steady zero, but on the inside you’re going through these wild swings,” she says. “Don’t make the mistake of trying to handle this on your own. Some of my closest friends and mentors from work are the people I’ve been the most vulnerable with, and who have helped me become a much better leader.” (View Highlight)
    1. Focus on growth and learning at every step — not on climbing the ladder as quickly as possible. (View Highlight)
  • (View Highlight)
  • “We’re incredibly lucky that in engineering, unlike many industries, management is not the only path to growth. Despite that, too many believe that it’s a binary choice, that you’re locked into a path once you’ve started on it. In reality, the skills required to succeed as a technical lead or manager are much more connected than you think. I’ve seen first-hand that many people switch between these roles throughout their careers or even at the same company,” she says. (View Highlight)
  • In Yung’s experience, many engineers are focused on moving up the ranks as quickly as possible, asking questions such as, “How can I become a people manager?’ or “I’ve been here for a year, what’s next?” or “How can I get more headcount on my team?” to skip ahead. (View Highlight)
  • “Those are all questions centered around a desire to climb that ladder even faster. But that can be a rigid path to set yourself on, one that limits your options and flexibility in the future,” she says. Instead, Yung recommends engineers engage in serious introspection to deeply understand what motivates and excites them before moving on to the next step. (View Highlight)
  • It’s about asking the right questions, the ones that keep you focused on growth and learning, not on moving up. My best teammates have been the ones who constantly pushed themselves to identify their weaknesses, systematically learn from their mistakes and get better,” she says. (View Highlight)
  • Skipping engineering fundamentals to pivot into other roles prematurely: “I’ve seen people lose focus on their engineering work too soon, in hopes of becoming a manager or switching into another role like product management. Building a great foundation early on is critical in your career, no matter what function you ultimately want to end up in,” she says. “Don’t rush through the fundamentals at the beginning. There’s no real substitute for time spent with your hands on the keyboard.” (View Highlight)
  • How can I make every code change a great one? “This might seem super tactical, but every commit is a building block in software engineering, and if you build confidence with every code review, you’ll move more quickly and take on larger challenges,” she says. “Conversely, if every pull request is a chore and you continue to make common mistakes, it’s hard to build credibility with your team. One of the most common pieces of practical advice I give to new grad engineers is to always review your own code before you submit it to others. Catch your own mistakes and quickly learn to not make them again.” (View Highlight)
  • How can I be as good at [X] as [this person] on my team?Mentors come in all shapes and sizes, and are always around you — identify what they’re best at and try to absorb their superpowers,” says Yung. Take this example from her first year as a new grad engineer: “I had two teammates with a lot more experience than me. Adam came from a graphics background and was quiet in meetings, but wrote amazing code and reviews. He always spotted the flaw in my designs. Mark came from a product and business focused background. He spent less time on design but was an incredibly fast coder and thought through every edge case. I wanted to be as good at design and code review as Adam, and as good at product as Mark, so I vowed to get as much code reviewed as I possibly could by the former and get all my user-facing changes reviewed by the latter.” (View Highlight)
  • Technical leads, soak up all you can to build a strong foundation regardless of your future path. (View Highlight)
  • Do I deeply understand the systems I work on, and how they can break or be improved? “This goes beyond knowing the ins and outs of the systems or products you own,” says Yung. “Let’s say you’re building some new infrastructure used to launch your product in one country today. Not only do you need to think about maintainability now, but you need to think about what’s next. What if we need to launch in ten new countries? A hundred countries? What would break? How would your current design change? Pushing yourself to think through a wide range of scenarios helps you not only deepen your understanding of the here and now, but also helps you strategically steer into the future.” (View Highlight)
  • How do I know we are working on the right things? “Being a technical lead is not just about seeing around corners and solving problems with well-designed, scalable and well-tested solutions. Some of the best technical leads I know are the ones who can also tell you why what they’re working on matters, and why it’s important to do now,” says Yung. “This doesn’t mean you’ll always get it right, and some of the best ones will stop themselves when they go down the wrong path.” (View Highlight)
  • How can I build better people leadership skills? Regardless of whether you want to become a manager in the future, there are many ways to build team and people skills that will help you in your engineering career. “Start to own projects more holistically, taking into account not only the technical challenges but also the people side — understand who’s working on what and why, and how people work together,” says Yung. “Help less experienced engineers grow by mentoring interns and new team members. Work cross-functionally and think of your PMs and partners as your teammates. If you do want to become a manager later, this will help give you a much stronger sense of whether you’ll enjoy making the switch.” (View Highlight)
  • Some engineers relish the opportunity to become deep-domain experts, particularly by staying in one part of the company or technical system. But especially as the years go by, check in to make sure you’re still growing and learning. “If you stop learning, you can become complacent and rely on your deep background to solve problems the way you ‘just know’ is right because you’ve seen it before. Not only have you stopped growing, but even worse, you may have stopped building the best solutions,” says Yung. (View Highlight)
  • How do I keep learning and stay challenged? Look out for signs that your growth is stalling and push yourself to find new sources of inspiration from other people, teams or systems. “ (View Highlight)
  • How do I continue to show value when I’m starting over in a new area? Another barrier to growth is the fear that you’ll never reach the same level of impact by doing something different. “It’s true that it will take time to transition, but if you’ve become an expert in one area you’re likely capable of doing it again and you’ll be able to go deeper faster next time using the skills you bring with you,” says Yung. One rule of thumb for onboarding very experienced hires is that for every year they spent in their last role, they need one month of slow initial onboarding time; once ramped up, their impact accelerates quickly. (View Highlight)
  • If you find yourself explaining something to one person at a time, find a better way to do it. Develop documentation, training programs, or reusable components and infrastructure to pass knowledge on at scale (View Highlight)
  • First-time engineering managers face a steep learning curve, with added pressure to still set a good technical example for the team. To top it off, you can’t measure your new people responsibilities work in a way that’s as satisfyingly concrete or objective as writing code was. An easy mistake to make is to try and work around this by clinging on to your coding time, even if it means doing it at night after your “day job” as a manager is done. (View Highlight)
  • Instead of worrying about your own contributions, ask these questions as a new engineering manager: (View Highlight)
  • How healthy is my team? How high-quality and high-impact is our work? As a new manager, it’s easy to get derailed by specific challenges or buoyed by big wins. Don’t lose sight of the overall output and health of your team. (View Highlight)
  • How well can my team operate without me? “An old manager once told me that he could roughly gauge his level of experience by how long he could be away without his team getting too far off course, (View Highlight)
  • After gaining experience as a manager, concerns start to shift. You’ve mastered the art of shipping projects, but at some point you might hit diminishing returns. In Yung’s experience, one trap many managers fall into is relying too much on team expansion. “It’s easy to get on the treadmill and only think about growth and headcount,” she says. “But while adding more people might give you the illusion of progress, it could be papering over real issues and making them harder to solve.” (View Highlight)
  • To move beyond increasing headcount, ask these questions to get more out of your team: (View Highlight)
  • Why does my team exist, and why does what we work on matter? “Talk about your long-term goals and objectives, rather than only the projects on your plate today. Help your team think further ahead, and invite them to suggest different paths to your goals, or debate whether they are the right ones (View Highlight)
  • How can I help my teammates grow, across all experience levels and scenarios? Standout engineering managers can capably manage engineers of different experience levels. The telltale sign of a less experienced manager is when they’re great for new grads, but rarely have the most senior engineers on their team — often due to a mutual unwillingness to manage or be managed by them. (View Highlight)
  • Instead of trying to work around the problem, tackle it head on. “One of my first team members had been working for twelve more years than I had — I was intimidated, but decided to try and learn from the experience (View Highlight)
  • The best engineers can toggle back and forth between manager and IC roles. Make sure your technical foundation and fundamental skills are solid enough to pull that off. (View Highlight)