《Software Engineering at Google》摘抄(6)

by kevin 6. 九月 2022 13:50 >

As your role evolves, all the best practices still apply. You’re still a “servant leader”; you’re just serving a larger group. That said, the scope of problems you’re solving becomes larger and more abstract. You’re gradually forced to become “higher level.” That is, you’re less and less able to get into the technical or engineering details of things, and you’re being pushed to go “broad” rather than “deep.” At every step, this process is frustrating: you mourn the loss of these details, and you come to realize that your prior engineering expertise is becoming less and less relevant to your job. Instead, your effectiveness depends more than ever on your general technical intuition and ability to galvanize engineers to move in good directions.(随着你角色的变化,之前的最佳实践仍适用。你仍然是一个服务型领导;你只不过是开始服务于更大的团队了。这就是说,需要你解决的问题领域更大,更抽象了。你被迫上升到了"更高层次"。你越来越不太能接触到具体的技术上的或工程上的细节,被迫地,你需要知道的更“广泛”,而不是更“深入”。这个过程的每一步都令人沮丧:你丧失了对技术细节的掌控,然后渐渐意识到之前的工程经验与你现在的工作的关联性越来越少。你的工作效率变得更加依赖对通用的技术领域的直觉和引导工程师找对正确的前进方向上。)

So, assuming that we understand the basics of leadership, what it does it take to scale yourself into a really good leader? That’s what we talk about here, using what we call “the three Always of leadership”: Always Be Deciding, Always Be Leaving, Always Be Scaling.(至此,假设我们已经知道了领导的本质,那么到底什么才能让你提升为一个真正优秀的管理者呢?这就是我们这里想要讨论的,我们称之为“管理上的三个总是”:始终保持决断力,始终保持离开,始终保持扩张。)

Coming back to Bharat’s quote: being a successful leader means building an organization that is able to solve the difficult problem by itself. That organization needs to have a strong set of leaders, healthy engineering processes, and a positive, self-perpetuating culture that persists over time. Yes, this is difficult; but it gets back to the fact that leading a team of teams is often more about organizing people rather than being a technical wizard. Again, there are three main parts to constructing this sort of self-sufficient group: dividing the problem space, delegating subproblems, and iterating as needed.(让我们回到引用的 Bharat 的话:做一个成功的管理者意味着构建一个能够独自解决问题的组织。这个组织需要有一套强有力的领导,健康的工程流程,一个积极的,能够自我延续,经时间沉淀的文化。是的,这很难;但是这回归到了事情的本质,领导团队的通常更多地意味着管理人,而不是作为一个技术向导。再强调一次,这种自给自足的团队有三个主要的组成部分:划分问题域,委托子任务,以及对于不足的地方反复迭代。)

That said, if you agree that your mission is to build a self-driving organization, the main mechanism of teaching is through delegation. You must build a set of self-sufficient leaders, and delegation is absolutely the most effective way to train them. You give them an assignment, let them fail, and then try again and try again. Silicon Valley has well-known mantras about “failing fast and iterating.” That philosophy doesn’t just apply to engineering design, but to human learning as well.(也就是说,如果你的使命是构建一个自我驱动型的组织,那主要的方法就是通过授权。你必须培养出一系列的能够自我成长、自给自足的领导,允许他们失败,然后一遍又一遍的尝试。硅谷有一个有名的咒语“快速失败,然后反复迭代。”这个理论不仅适用于工程设计方面,同样也适用于人类学习。)

The corollary here is that you need to be mindful of your own purpose as a leader of leaders. If you find yourself deep in the weeds, you’re doing a disservice to your organization. When you get to work each day, ask yourself a different critical question: What can I do that nobody else on my team can do?(这里的推论是,在做领导的领导这件事上,你可能需要格外留心。如果你发现你陷在细节里陷得太深,你可能正在破坏你的团队。每天工作时,你要问自己另外一个重要的问题:有什么事情是除了我以为团队里的其他人做不了的?)

A common mistake is to put a team in charge of a specific product rather than a general problem. A product is a solution to a problem. The life expectancy of solutions can be short, and products can be replaced by better solutions. However, a problem — if chosen well—can be evergreen. Anchoring a team identity to a specific solution (“We are the team that manages the Git repositories”) can lead to all sorts of angst over time. What if a large percentage of your engineers want to switch to a new version control system? The team is likely to “dig in,” defend its solution, and resist change, even if this is not the best path for the organization. The team clings to its blinders, because the solution has become part of the team’s identity and self-worth. If the team instead owns the problem (e.g., “We are the team that provides version control to the company”), it is freed up to experiment with different solutions over time.(一个常见的错误是让一个团队负责一个特定的产品而不是负责解决一类问题。一个产品是一个问题的一种解决方案。一个解决方案的生命周期可能很短,一个产品可能会被更好的方案替代。然而,一个问题(如果这个问题的定位比较合理)却可以是经久不衰的。将一个团队定位为一个特定的解决方案(“我们是负责 Git 仓库的团队”)随着时间的推移将会带来各种各样的麻烦。假如很大一部分工程师想切换到一个新的版本控制系统怎么办?这个团队很可能会“钻牛角尖”,坚持它原有的解决方案,拒绝改变,及时它并不是最适合整个组织的方案。这个团队依赖它的“观点”,因为解决方案已经成为团队身份和自我价值的一部分。如果团队改为是负责解决这个问题(比方说“我们是为这个公司提供版本管理的团队”),那么随着时间的推移,这个团队将不再被束缚去做实验尝试不同的解决方案。)

Instead, we’re going to discuss team scaling from a defensive and personal point of view rather than an offensive one. As a leader, your most precious resource is your limited pool of time, attention, and energy. If you aggressively build out your teams’ responsibilities and power without learning to protect your personal sanity in the process, the scaling is doomed to fail. And so we’re going to talk about how to effectively scale yourself through this process.(相反,我们将讨论从保守和从个人观点出发而不是进攻的视角来讨论扩张团队。作为领导者,你最宝贵的资源是你有限的时间、精力和能量。如果你在没有学会保护维持自己的精力正常的情况下,就激进地增加团队的职责和权力,你的扩张将注定失败。于是我们接下来将讨论如何在扩张的过程中有效地提升自己。)

So really, the cycle of success is more of a spiral (see Figure 6-2). Over months and years, your organization is scaling by tackling new problems and then figuring out how to compress them so that it can take on new, parallel struggles. If you’re lucky, you’re allowed to hire more people as you go. More often than not, though, your hiring doesn’t keep pace with the scaling. Larry Page, one of Google’s founders, would probably refer to this spiral as “uncomfortably exciting.”(所以,成功的循环更像是一个螺旋(参见图 6-2)。长年累月以来,你的组织通过解决新问题来扩张,然后压缩所需的人力来能够接受新的、并行的问题。如果你足够幸运,你才能被允许招聘更多的人。然而更常见的情况是你招聘的速度赶不上你团队规模扩张的速度。Larry Page,Google 的创始人之一,喜欢把这个螺旋比作“令人不适的刺激”。)

The spiral of success is a conundrum—it’s something that’s difficult to manage, and yet it’s the main paradigm for scaling a team of teams. The act of compressing a problem isn’t just about figuring out how to maximize your team’s efficiency, but also about learning to scale your own time and attention to match the new breadth of responsibility.(成功的螺旋确实是个难题--这是难以管理的,而且这是扩充团队的团队的核心范式。压缩问题的行为不只是关于找出使团队效率最大化的方法,而且是关于如何扩充你自己的时间和注意力来应对新的责任。)

It might feel terrible to do so at first, but as you deliberately drop so many balls, you’ll discover two amazing things. First, even if you don’t delegate that middle 60% of tasks, your subleaders often notice and pick them up automatically. Second, if something in that middle bucket is truly critical, it ends up coming back to you anyway, eventually migrating up into the top 20%. You simply need to trust that things below your top-20% threshold will either be taken care of or evolve appropriately. Meanwhile, because you’re focusing only on the critically important things, you’re able to scale your time and attention to cover your group’s ever-growing responsibilities.(最开始,这么做可能会感觉很可怕,但随着你故意丢掉这么多球,你将会发现两件令人惊奇的事。第一,即使你没有托管中间60%的事,你的下属领导者们通常会意识到并主动接住它们。第二,如果中间这堆球中有真正重要的事,它最终无论如何都会回到你这里,然后转换到顶部20%那堆球里。你只需相信在20%阈值下的事情最终都会被有人接管,或是在适当时候知会给适当的人。与此同时,因为你只关注最重要的事情,你可以花更多时间和注意力在承担你的团队不断增长的责任上。)

分享到: 更多

打赏请我喝果汁咯

支付宝 微信

关于我

80后,单身,平庸的程序员。

喜欢看书,乐于交友,向往旅游。

遇建Kevin

FluentData交流群:477926269

Fluentdata