Recent Thinkings on Technical Leadership关于技术领导力的近期思考
"What matters is that the problems get solved, not how."「重要的是问题被解决了,而不是如何解决的。」 - Reilly, Tanya. "The Staff Engineer's Path" (p. 46). Tanya Reilly,《The Staff Engineer's Path》(第 46 页)。
Back to 2022, I gave an online talk on the topic of IC vs. Manager, sharing some of my observations and experiences from when I took on a people manager role in the Serverless department. Although this session was primarily aimed at a Mandarin-speaking audience. I've recently started jotting down follow-up notes on the IC aspects to help me recap. I think it might also be a good opportunity to share these insights with my network and exchange perspectives.
L6 at Amazon
The L6 level at Amazon covers a broad spectrum of responsibilities. I was inspired by the article "Belonging to Amazon’s Principal Engineering Community" by Carlos Arguelles, L8 SPE at Amazon, which offers valuable insights into technical leadership within the company.
One thing I’ve noticed is the limited availability of articles offering insights specifically about the L6 IC (Individual Contributor) role. Some say that L6 at Amazon is similar in scope to a Staff Engineer at companies like Google and Meta or Principal SDE at Microsoft. According to Amazon's internal role guidelines, this level involves a range of responsibilities, with varying degrees of scope, influence, ambiguity, problem complexity, execution, and impact.
Role Framework is an interesting topic. There is a book "Staff Engineer" authored by Will Larson, which outlines four archetypes for senior-level engineers: 1. Tech Lead, 2. Architect, 3. Solver, and 4. Right Hand.
At this level, you lead projects that require the collaboration of multiple engineers and teams, effectively acting as a "force multiplier." However, the challenges both technical and non-technical are significant. You’re expected to demonstrate strong technical leadership while navigating categories of problems, dealing with uncertainty, and simplify complexity.
One unique aspect of Amazon's flat leveling system is the absence of a Staff Engineer level. Instead, after Senior, the next step is Principal Engineer (L7). This gap can make L6 feel like a bit of an awkward middle ground. Some joke that L6 is the "lowest ROI" IC level across the company due to the heavy responsibilities and challenges, but without the clear distinction of a Staff Engineer role.
(Source: levels.fyi)
By the way, new MBA graduate hires are onboarded at the L6 level as their entry point.
Despite the challenges, the L6 role is a unique position in Amazon's engineering hierarchy, offering both high impact and substantial room for growth.
Deliver Results
The first question often asked in leadership roles is: How do you lead your team to deliver results ? As an L6, you're often tasked not only with leading a single project but also overseeing multiple concurrent threads efforts. Personally, I’ve contributed to and delivered 10+ VP/SVP-level-priority goals, encompassing public features, financial, and operational wins so far at Amazon. During my time at AWS App Runner, for a period, I managed 10 parallel initiatives (features, OE, security, intern projects, etc.), each with my name attached for accountability and subject to daily or weekly tracking. The key to success in such scenarios is effectively driving progress on each front, delegating tasks to the right team members, serving as the pathfinder, problem solver, and providing support where needed. Cons: I wish I had time to write code, but it's hard to find the time to fit it in.
Another common challenge is consistently meeting seemingly impossible timelines, how do you achieve that? I recently answered this question in a LinkedIn article. Here’s a summary of my approach:
Start with Realism
Begin by assessing the situation realistically. Identify what can and cannot be changed, and understand the level of flexibility in the following areas:
Resources: Can additional team members be added ? Timeline: Is there room to adjust deadlines ? Tasks: Can you implement phased milestone launches ?
Collaborate and Prioritize
Work closely with cross-functional teams partners, product, and engineering to define and prioritize tasks. Break things down into high, medium, and low priority.
Seek Guidance from Senior Leadership
Engage regularly with senior leadership and other functional teams. Don’t hesitate to ask for their insights and guidance. Use their input to shape your decisions and ensure you're on the right track.
"A Right, A Lot"
Achieving the "right" outcomes consistently is hard but essential. It's a long-term discipline that helps ensure success not just in the short term but over time, through delivering real value.
The combination of realism, collaboration, and guidance from leadership will help steer your team toward delivering results effectively. The challenge is hard, but when you get it right, the impact is significant.
Embrace a Variety of Tasks
As an L6, don't hesitate to take on a mix of responsibilities, such as region build, operational excellence (OE), and other tasks that may not always be high-profile. One of my mentors once told me, "Take on diverse tasks and get hands-on experience whenever possible. It will give you deeper insights into the real challenges your team faces and help you stay grounded in solving actual problems."
I worked on a multi-year project on a relational database migration. While it wasn’t a flashy initiative, it ultimately generated a good return, millions of dollars in annual cost savings and earning recognition as a major AWS Ops Win during an AWS Weekly Ops Meeting.
Balancing these tasks is key. While not every task may seem glamorous, the team will appreciate your versatility and willingness to dive into the details. It also allows you to maintain a well-rounded perspective on the work being done.
Bandwidth Management
The busiest times, my calendar quadruple-booked for the same time slot. When you’re juggling multiple tasks and communication channels, it can be easy to fall behind too many Slack messages and not enough time to reply. It’s important to manage your bandwidth effectively. Here are some strategies that help:
Effective bandwidth management is about balance giving guidance, but also creating a system where people can find answers independently and where your time is spent on the highest-impact activities.
Motivating Teams and Scaling Impact
As an L6, you’re in a position of leadership and authority within your team. However, it's important to remember that leadership at Amazon is about empowering others and fostering a collaborative environment.
One of Amazon's long-standing cultural principles is the "no-author" culture in Quip, which means that everyone is a contributor. Anyone can leave comments, suggest improvements, or provide feedback on documents. This fosters a sense of ownership and collective responsibility across the team. You can read more about this unique approach to documentation and collaboration in this LinkedIn post by Carlos Arguelles.
To motivate your team and build a strong sense of appreciation, always value their contributions. After each project launch, take the time to send an internal appreciation letter acknowledging the efforts of the team and any groups you’ve worked closely with. This small gesture can go a long way in maintaining morale and fostering a culture of recognition.
Delegation and Influencing Your Team
As an L6 SDE, it’s simply not feasible to execute every task or look into every single issue yourself. That approach will not scale. Learning how to properly delegate tasks to your team is critical for your success and the team’s productivity.
It’s important to understand that you don’t need to write every line of code. While I still contribute to coding in my current role, it’s more common at Amazon for L6s to write limited code over the course of a year. Instead, your role often shifts to influencing the team, both directly and indirectly, to drive the execution of your design and vision.
Effective delegation is not just about offloading tasks it’s about empowering your team to take ownership, make decisions, and move the project forward. By influencing your team in this way, you help ensure progress while scaling your impact.
Customer Call, Product, OP, WBR, and PRFAQ
During my time at Serverless, as a founding engineer of the product, I gained extensive experience in public-facing activities and high-profile initiatives. I collaborated closely with the product, GTM, architect and sales teams on product promotion, including public speaking and writing blog posts. I also contributed input on re:Invent session topics and provided support for content and context.
In App Runner, I was actively involved in every customer call as a founding engineer. Similarly, in S3, our VP, Mai-Lan, strongly encourages all L6 SDEs to participate in customer calls at least once or twice a month. The product team shares a schedule of upcoming calls and invites those who are interested or relevant to attend. These calls are a vital channel for gaining insights into customer needs and enhancing our contributions as an engineering team. Additionally, there are engagements such as WBR, OP reviews, and other similar initiatives that provide L6 ICs with a deeper understanding of the product and business, which in turn enhances our ability to make meaningful contributions to the company. It is long run value. In my previous departments, I participated in OP, WBR/MBR meetings and provided input, and I also contributed to writing several PRFAQs alongside the product team. "Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers." - Andy Jassy.
Partnering with SDMs
As an L6 Engineer, it is usual to collaborate with one or more two-pizza teams in daily work. Your manager and skip-level manager are key partners, and it's important to work closely with them, especially on directional discussions. SDMs (Software Development Managers) often have a more complete view of the project than ICs. Collaborating with SDM and people senior than you helps you better understand the roadmap, build wider vision and provides an opportunity to offer valuable input based on your technical perspective.
Give Feedback in Real Time
One of my managers, an L7 leader at Amazon, shared a valuable approach for communicating with teammates: giving "minutes feedback." This means providing feedback shortly after an event or interaction, while it's still fresh. It helps ensure that the feedback is relevant, actionable, and timely, allowing teammates to improve and adjust quickly.
Bar Raiser
I serve as an internal change management Bar Raiser since my second year at Amazon until now, which is different from the interview one. I have participated in a Bar Raiser group within each department I’ve worked in. In this role, we review every release change from various teams within the department and hold the final approval authority. We hold weekly office hours, rotating the responsibility to provide input on each team's operational excellence, pipeline, automation processes, etc. We are meticulous and set high standards. My first mentor at Amazon once described an ideal change management to me this way: "The level of rigor needed is such that, if you hand the process to a colleague with no context, they should be able to carry it out without additional support." Serving as a Bar Raiser has deepened my understanding of Amazon’s commitment to "Insist on the Highest Standards" and given me more opportunities to learn about the work happening across different teams. It is crucial to ensure quality.
Be Inclusive and A Team Player
Transparent communication and inclusion are critical, yet they’re often overlooked or met with hesitation. People might fear the conversation being derailed, worry about additional obstacles, or struggle with other uncertainties. To address these challenges, it’s essential to keep everyone involved, don’t exclude people from meetings, emails, or Slack channels. Sometimes, you may observe engineers, and even some managers, behaving not like this. Keep in mind, you might bypass colleagues a few times in the short term, but over time, this behavior is noticed and remembered. It's important to work collaboratively and be a good team player.
Years ago, a respected manager encouraged me to adopt this mindset, and I’ve embraced it ever since. Limiting discussions to an exclusive or small group can sometimes signal overconfidence or a lack of readiness to accept diverse input. Unless the conversation is confidential or involves personal privacy, keeping a wider audience informed provides visibility into your work, creates opportunities for valuable feedback, and ensures you don’t miss what you don’t know. Managers can’t always catch every detail, so inviting broader participation helps ensure important threads are audited and given proper attention.
Inclusion, in another sense, also refers to Diversity, Equity, and Inclusion. It means embracing people from diverse backgrounds and cultures with an open mind, and supporting each other as a team. At S3, we have an internal Inclusion Ambassador program, with monthly meetings where all Ambassadors come together to reflect and share insights. Similarly, AWS offers the Global Inclusion Ambassadors program, which is open to the public.
I served as a mentor for the Military Apprentice program, where I was assigned an apprentice at Alexa Healthcare. He was previously an Air Force aircraft mechanic stationed at Whidbey Island in Washington, and transitioned into a software development career. At first, I wasn’t sure if this transition would be successful, as he lacked much foundational knowledge. However, looking back, it was a deeply memorable and valuable experience for me. During the program, we learned from each other. I provided him with context and guidance to help him understand the fundamentals of software development. Today, I often see updates on his progress, he’s now a highly skilled software engineer. Real innovation thrives when diverse perspectives are brought into the conversation, and every voice is heard.
Politics
There’s no easy way around office politics. The key is to be straight and explicit in your communication. At the same time, it's important to understand where people are coming from, be empathetic and kind. If communication issues arise, address them directly and work to fix them.
Philosophy
As Joe Tsai, Chairman of Alibaba, once said, "Leadership is about dealing with people, getting others to do what you want them to do." While practicing this skill can be challenging, it's a vital aspect of technical leadership. Learning how to effectively collaborate with and motivate others is the key.
As for me, my philosophy is simple: People will have their likes and dislikes, that’s expected and nothing new. Always stay humility and empathy. Keep open and straight.
回到 2022 年,我做过一次线上分享,主题是 IC(个人贡献者)与 Manager(管理者)的对比,分享了我在 Serverless 部门担任 people manager 时的一些观察和经历。虽然那场分享主要面向中文听众,但最近我开始整理关于 IC 方面的后续笔记,帮助自己回顾。我想这也是一个不错的机会,把这些心得分享给我的圈子,交流彼此的视角。
Amazon 的 L6
Amazon 的 L6 级别涵盖非常宽泛的职责范围。Amazon L8 高级首席工程师(SPE)Carlos Arguelles 的文章 "Belonging to Amazon’s Principal Engineering Community" 给了我很多启发,其中对公司内部技术领导力的洞见非常有价值。
我注意到的一点是,专门探讨 L6 IC(个人贡献者)角色的文章非常有限。有人说 Amazon 的 L6 在职责范围上类似于 Google、Meta 等公司的 Staff Engineer,或微软的 Principal SDE。根据 Amazon 内部的角色指南,这一级别涉及一系列职责,在范围、影响力、模糊性、问题复杂度、执行力和影响等维度上各有不同的要求。
角色框架(Role Framework)是个有趣的话题。Will Larson 写过一本书《Staff Engineer》,其中概括了资深工程师的四种原型:1. Tech Lead(技术负责人),2. Architect(架构师),3. Solver(问题解决者),4. Right Hand(左膀右臂)。
在这个级别,你主导的项目需要多名工程师和多个团队协作,实际上扮演着"力量倍增器"的角色。然而,技术与非技术层面的挑战都不小。你需要展现出强大的技术领导力,同时驾驭各类问题、应对不确定性、化繁为简。
Amazon 扁平职级体系的一个独特之处在于没有 Staff Engineer 这一级。Senior 之后的下一步直接是 Principal Engineer(L7)。这个断层让 L6 显得有点像尴尬的中间地带。有人开玩笑说,L6 是全公司"投资回报率最低"的 IC 级别——责任重、挑战大,却没有 Staff Engineer 这样清晰的头衔区分。
(来源:levels.fyi)
顺带一提,新入职的 MBA 毕业生也是以 L6 作为起点级别。
尽管挑战重重,L6 在 Amazon 工程职级体系中是一个独特的位置,既有很高的影响力,也有充足的成长空间。
交付成果(Deliver Results)
领导角色最常被问到的第一个问题是:你如何带领团队交付成果?作为 L6,你往往不仅要主导单个项目,还要同时统筹多条并行的工作线。就我个人而言,到目前为止我在 Amazon 参与并交付了 10 多个 VP/SVP 级别优先级的目标,涵盖对外功能、财务和运营层面的成果。在 AWS App Runner 期间,有一段时间我同时管理 10 个并行项目(功能、卓越运营 OE、安全、实习生项目等),每一项都挂着我的名字负责到底,并接受每日或每周的跟踪。在这种场景下取得成功的关键在于:有效推动每条战线的进展,把任务委派给合适的团队成员,充当开路者和问题解决者,并在需要的地方提供支持。缺点是:我很想有时间写代码,但实在挤不出来。
另一个常见的挑战是持续达成看似不可能的时间线,如何做到?我最近在一篇 LinkedIn 文章中回答了这个问题。以下是我的思路总结:
从现实出发
首先对局面做现实评估。分清哪些可以改变、哪些不能改变,并了解以下几方面的弹性空间:
资源:能否增加团队成员? 时间线:截止日期有没有调整余地? 任务:能否分阶段、按里程碑发布?
协作与优先级
与跨职能团队伙伴、产品和工程紧密合作,明确并排定任务优先级。把事情拆分为高、中、低优先级。
向高层领导寻求指引
与高层领导及其他职能团队保持定期沟通。不要犹豫,主动请教他们的见解和指导。用他们的输入来塑造你的决策,确保方向正确。
"决策正确(Are Right, A Lot)"
持续做出"正确"的结果很难,但至关重要。这是一种长期的自律,不仅确保短期成功,更通过交付真正的价值确保长期成功。
现实评估、协作和来自领导层的指引相结合,将帮助你带领团队有效交付成果。挑战很艰巨,但一旦做对,影响是巨大的。
拥抱多样化的任务
作为 L6,不要犹豫承担各类职责,比如 region build、卓越运营(OE)以及其他未必总是高曝光度的工作。我的一位导师曾告诉我:"尽可能承担多样化的任务,亲自动手。这会让你更深入地理解团队面临的真实挑战,让你脚踏实地地解决实际问题。"
我曾参与一个历时多年的关系型数据库迁移项目。虽然这不是一个光鲜的项目,但最终带来了可观的回报——每年数百万美元的成本节省,并在一次 AWS Weekly Ops Meeting 上被认可为重要的 AWS Ops Win。
平衡这些任务是关键。虽然不是每项任务看起来都光彩夺目,但团队会欣赏你的多面手能力和深入细节的意愿。这也让你对正在进行的工作保持全面的视角。
带宽管理
最忙的时候,我的日历同一时段被重复预订了四场会议。当你同时应对多项任务和多个沟通渠道时,很容易被 Slack 消息淹没而无暇回复。有效管理自己的带宽非常重要。以下是一些有帮助的策略:
有效的带宽管理在于平衡:既要给予指导,也要建立一套让大家能独立找到答案的机制,把你的时间花在影响最大的事情上。
激励团队与放大影响力
作为 L6,你在团队中处于领导和权威的位置。但需要记住,Amazon 的领导力核心在于赋能他人、营造协作的环境。
Amazon 长期以来的文化准则之一是 Quip 中的"无作者(no-author)"文化,意味着每个人都是贡献者。任何人都可以在文档上留下评论、提出改进建议或给出反馈。这在团队中培养了主人翁意识和集体责任感。你可以在 Carlos Arguelles 的这篇 LinkedIn 帖子中读到更多关于这种独特文档协作方式的内容。
要激励团队并建立强烈的被认可感,请始终珍视他们的贡献。每次项目发布后,花时间发一封内部感谢信,认可团队以及所有紧密合作过的团队的付出。这个小小的举动对维持士气、营造认可文化大有裨益。
委派与影响你的团队
作为 L6 SDE,亲自执行每项任务、深究每个问题根本不现实,这种方式无法扩展。学会恰当地把任务委派给团队,对你的成功和团队的生产力都至关重要。
要明白,你不需要写每一行代码。虽然我在当前岗位上仍然写代码,但在 Amazon,L6 一年下来写的代码有限是常态。你的角色更多地转向直接或间接地影响团队,推动你的设计和愿景落地执行。
有效的委派不只是把任务甩出去,而是赋能团队成员去承担所有权、做出决策并推进项目。通过这种方式影响团队,你既能确保进展,又能放大自己的影响力。
客户电话、产品、OP、WBR 与 PRFAQ
在 Serverless 期间,作为产品的创始工程师,我在对外活动和高曝光项目上积累了丰富经验。我与产品、GTM、架构师和销售团队紧密合作进行产品推广,包括公开演讲和撰写博客文章。我还为 re:Invent 会议议题提供输入,并为内容和上下文提供支持。
在 App Runner,作为创始工程师,我积极参与了每一次客户电话。同样,在 S3,我们的 VP Mai-Lan 强烈鼓励所有 L6 SDE 每月至少参加一到两次客户电话。产品团队会分享即将进行的电话日程,并邀请感兴趣或相关的人参加。这些电话是了解客户需求、提升工程团队贡献的重要渠道。此外,还有 WBR、OP 评审等类似活动,让 L6 IC 更深入地理解产品和业务,进而增强我们为公司做出有意义贡献的能力。这是长期价值。在我之前的部门,我参与了 OP、WBR/MBR 会议并提供输入,还与产品团队一起撰写了多份 PRFAQ。"领导者从客户出发,反向推动工作。他们努力赢得并维系客户的信任。领导者虽然会关注竞争对手,但更痴迷于客户。" —— Andy Jassy。
与 SDM 协作
作为 L6 工程师,日常工作中与一个或多个"两个披萨团队"协作是常态。你的经理和隔级经理是关键伙伴,与他们紧密合作很重要,尤其是在方向性讨论上。SDM(软件开发经理)往往比 IC 拥有更完整的项目视图。与 SDM 以及比你资深的人协作,能帮助你更好地理解路线图、建立更宽广的视野,也让你有机会从技术视角提供有价值的输入。
实时给予反馈
我的一位经理,Amazon 的一位 L7 领导,分享过一个与队友沟通的宝贵方法:给予"分钟级反馈(minutes feedback)"。也就是在事件或互动发生后不久、记忆还新鲜时就给出反馈。这能确保反馈相关、可执行且及时,让队友能够快速改进和调整。
Bar Raiser
从进入 Amazon 的第二年至今,我一直担任内部变更管理 Bar Raiser(与面试 Bar Raiser 不同)。在我工作过的每个部门,我都参与了 Bar Raiser 小组。在这个角色中,我们评审部门内各团队的每一个发布变更,并拥有最终审批权。我们每周轮值 office hours,就各团队的卓越运营、流水线、自动化流程等提供输入。我们一丝不苟、标准很高。我在 Amazon 的第一位导师曾这样向我描述理想的变更管理:"所需的严谨程度应该达到:如果你把流程交给一位毫无上下文的同事,他也能在没有额外支持的情况下执行完成。"担任 Bar Raiser 加深了我对 Amazon"坚持最高标准(Insist on the Highest Standards)"的理解,也让我有更多机会了解不同团队正在进行的工作。确保质量至关重要。
保持包容,做团队协作者
透明沟通与包容至关重要,却常常被忽视或令人犹豫。人们可能担心谈话跑偏、担心增加额外障碍,或者纠结于其他不确定性。要应对这些挑战,关键是让所有人参与进来——不要把人排除在会议、邮件或 Slack 频道之外。有时你会观察到一些工程师、甚至一些经理并非如此行事。要记住:短期内你或许能绕开同事几次,但久而久之,这种行为会被注意到、被记住。协同工作、做一个好的团队协作者非常重要。
多年前,一位我敬重的经理鼓励我采纳这种心态,从那以后我一直践行。把讨论局限在排他的小圈子里,有时反而透露出过度自信或还没准备好接纳多元的输入。除非谈话涉及机密或个人隐私,让更广泛的受众知情能为你的工作带来可见度,创造获得宝贵反馈的机会,并确保你不会错过"你不知道自己不知道"的东西。经理们无法总是捕捉到每个细节,邀请更广泛的参与有助于确保重要的线索被审视并得到应有的关注。
包容的另一层含义是多元、公平与包容(DEI)——以开放的心态接纳来自不同背景和文化的人,作为一个团队互相支持。在 S3,我们有内部的 Inclusion Ambassador 项目,所有大使每月聚在一起复盘和分享心得。类似地,AWS 也有面向公众开放的 Global Inclusion Ambassadors 项目。
我曾在 Military Apprentice(退役军人学徒)项目中担任导师,被分配了一位在 Alexa Healthcare 的学徒。他之前是驻扎在华盛顿州 Whidbey Island 的空军飞机机械师,后来转型进入软件开发行业。起初,我并不确定这次转型能否成功,因为他缺乏很多基础知识。但回头看,这对我来说是一段非常难忘且宝贵的经历。在项目期间,我们互相学习。我为他提供背景和指导,帮助他理解软件开发的基础。如今,我时常看到他的进展动态——他已经是一名技术娴熟的软件工程师了。真正的创新,源于让多元的视角进入对话,让每个声音都被听见。
办公室政治
办公室政治没有捷径可走。关键是沟通要直接、明确。同时,也要理解对方的立场,保持同理心与善意。如果出现沟通问题,直面它并努力修复。
哲学
正如阿里巴巴董事会主席蔡崇信(Joe Tsai)曾说:"领导力就是与人打交道,让别人去做你想让他们做的事。"践行这项技能颇具挑战,但它是技术领导力的重要方面。学会有效地与他人协作并激励他人,才是关键。
至于我,我的哲学很简单:人各有好恶,这很正常,也不新鲜。始终保持谦逊与同理心。保持开放与坦诚。