管理入门(Management 101)
管理的秘诀,是让恨你的人远离那些还没拿定主意的人。
——凯西·施滕格尔(Casey Stengel)
你读这本书,是因为你想成为一名优秀的经理(manager),但你真的知道优秀的经理是什么样子吗?你曾经遇到过好经理吗?如果有人让你坐下来,问你期望从一位好经理那里得到什么,你能回答这个问题吗?
从经理那里可以期待什么(What to Expect from a Manager)
每个人对管理(management)的第一次体验,都是坐在桌子的另一侧;而被管理的体验,正是你构建自己管理哲学(management philosophy)的基础。遗憾的是,我逐渐发现,有些人在整个职业生涯中从未遇到过一位好经理。我的朋友们谈起他们最好的经理,说他们是用「良性忽视」(benign neglect)来管理自己的。工程师大致知道自己该做什么,经理则完全放任不管。最极端的例子是,有一个人报告说,他在六个月内只和经理见过两次面,其中一次还是为了接受晋升。
考虑到一些替代方案,良性忽视其实没那么糟糕。有一种忽视型经理:当你需要帮助时他们无视你,把你的担忧抛在一边,回避与你见面,从不给你反馈,直到某天突然告诉你,你没有达到预期,或者不够格晋升。当然还有微观管理者(micromanagers),他们质疑你做的每一件事的每个细节,拒绝让你自己做任何决定。更糟的是那些积极施虐的经理,他们忽视你,直到想冲你吼点什么的时候才想起你。可悲的是,这些角色都在我们的公司里走来走去,对团队的心理健康造成严重破坏。当你相信只有这些选择时,一位大部分时间都不打扰你、除非你主动求助的经理,看起来就一点也不糟糕了。
然而,还有其他的选择。有把你当作人来关心的经理,他们积极努力地帮助你在职业上成长。有教你重要技能、给你宝贵反馈的经理。有帮你渡过困境、帮你弄清楚你需要学什么的经理。有希望有一天你能接替他们工作的经理。而最重要的是,有帮你理解什么才是值得专注的重点、并让你能够保持这份专注的经理。
至少,你应该期望你的经理在必要时履行几项基本职责,以保证你和你的团队走在正轨上。当你学会期望从经理那里得到什么之后,你就可以开始提出你需要的了。
一对一会议(One-on-One Meetings)
与直属经理的一对一会议(one-on-one meetings,1-1s)是良好工作关系的基本要素。然而,许多经理忽视这些会议,或者让它们感觉像在浪费你的时间。接受一场好的 1-1 是什么感觉呢?
1-1 有两个目的。第一,它们在你和经理之间建立人与人之间的联系。这并不意味着你要把全部时间花在聊爱好、家庭或周末寒暄上。但让你的经理稍微走进你的生活是很重要的,因为当有压力大的事情发生时(家人去世、新生儿、分手、住房困扰),如果他对你这个人有了解,你向他请假或告诉他你的需求就会容易得多。优秀的经理会注意到你平时能量水平的变化,并且希望他们会关心到主动问你。
我不是那种在职场里跟人称兄道弟的人。我觉得有必要说这一点,因为我认为有时候我们会以「我是内向的人」或「我不想在职场交朋友」为借口,逃避关心同事。你可能会觉得我是那种喜欢交很多职场朋友的人,因此不理解你的感受,但我向你保证:我理解你觉得职场中「人情味」没那么有意思。然而,内向不是你不努力把别人当作真实的人来对待的借口。强大团队的基石是人与人之间的联系(human connection),它带来信任(trust)。而信任——真正的信任——需要彼此面前展露脆弱的能力和意愿。所以,希望你的经理会把你当作一个工作之外也有生活的人来对待,并在见面时花几分钟聊聊你的生活。
1-1 的第二个目的是给你一个定期与经理私下交谈的机会,讨论任何需要讨论的事情。你应该期望你的 1-1 被安排得有一定可预测性,这样你可以为之做计划,因为完全掌控 1-1 议程并不是经理的职责。有时他会掌控,但在 1-1 之前自己想一想你真正想讨论什么,对你有好处。如果你的经理不规律地与你见面,或者经常取消、改期你的 1-1,你就很难做到这一点。你可能不想经常开 1-1,或者只需要每隔几周一次。这没问题,只要你不完全取消它们。按需使用它们,如果你发现自己想更频繁地见面,就向经理提出来。
对大多数人来说,好的 1-1 不是状态汇报会(status meetings)。如果你是向高层管理汇报的经理,你可能会用 1-1 讨论关键项目的状态,或者那些尚处于萌芽阶段、还没什么书面记录的项目。但如果你是独立贡献者(individual contributor),把 1-1 当成状态汇报会既重复又可能无聊。如果你的 1-1 只是交付无聊状态报告的苦差事,试试改用电子邮件或聊天工具来做这件事以腾出时间,并带上一些你自己的话题去参加 1-1。
我鼓励你和经理共同分担开好 1-1 的责任。带着你想讨论的议程去。自己为这段时间做准备。如果他经常取消或改期,就推动他找一个更稳定的时间;如果做不到,就在前一天(如果是下午的会议,就在当天早上)确认你们会见面,并把你感兴趣讨论的任何内容分享给他,让他知道你想见面。
反馈与职场指导(Feedback and Workplace Guidance)
你应该从经理那里期待的第二件事是反馈(feedback)。我说的不只是绩效评估(performance reviews),虽然那也是其中的一部分。你难免会以某种方式搞砸事情,如果你的经理够好,她会很快让你知道。这会很不舒服!尤其是对刚进入职场、除了父母之外不习惯从任何人那里得到行为反馈的新人来说,这可能是一件相当令人困惑的事。
不过你确实想要得到这种反馈,因为唯一比得到行为反馈更糟的,是根本得不到反馈,或者只在绩效评估时得到。你越早知道自己的坏习惯,就越容易改正。这一点也适用于表扬。优秀的经理会注意到你日常工作中做得好的小事,并为此认可你。把这种反馈——好的和坏的——都记录下来,在写年度自我评估(self-review)时用上它们。
理想情况下,你从经理那里得到的反馈,表扬会相对公开,批评则私下进行。如果经理在会议结束后立刻拉住你给批评性反馈,这不一定是你表现很糟的信号。优秀的经理知道,及时给出反馈比等到方便的时候再说更有价值。公开表扬被认为是最佳实践(best practice),因为它帮助经理让所有人知道某人做了值得称赞的事,并强化了积极行为的样子。如果你不喜欢公开表扬,告诉你的经理!如果她会问就好了,但如果她不问,你也不该默默忍受。
你可能还想向经理要其他类型的反馈。如果你要做演示(presentation),可以请她审阅内容并提出修改建议。如果你写了设计文档(design doc),她应该能就改进方向提出想法。作为工程师,我们的代码反馈大多来自同行,但你会做代码之外的事,而你的经理应该成为帮助你改进这些方面的资源。向经理征求意见也是表达你尊重她的好方式。人们喜欢感觉自己有用,经理也不例外,抵挡不了这种奉承。
谈到你在公司的角色,你的经理必须是你的头号盟友(ally)。如果你所在的公司有职业阶梯(career ladder),而你又积极谋求晋升,坐下来问经理你需要重点提升哪些方面才能获得晋升,通常是个好主意。如果你与某个队友或另一个团队的人有矛盾,你的经理应该在那里帮你应对这种情况,她可以在必要时与对方或对方团队沟通,帮助你达成解决方案。不过这通常需要你先开口。如果你不向经理提晋升的事,就别指望她会神奇地给你晋升。如果你对某个队友不满,除非你把问题提到她面前,否则你的经理可能什么都不会做。
经理能够识别并分配拓展性项目(stretch projects)来帮助我们成长和学习新东西,这很棒。但除了分配拓展性项目之外,好的经理还会帮你理解你所做工作的价值,即使它并不有趣或光鲜。你的经理应该是那个向你展示更大图景的人,让你看到自己的工作如何融入团队目标,并帮助你在日常工作中找到意义感。最平凡的工作,当你理解它如何为公司整体成功做出贡献时,也能变成骄傲的源泉。
随着你变得更加资深,你得到的个人反馈——无论是好是坏——都可能减少。你在更高的层级运作,你的经理也在非常高的层级运作。期望反馈的类型会有所变化,从个人反馈转向团队或战略相关的输入。随着你变得更加资深,你能自如地主导自己的 1-1、向经理提出讨论话题或征求反馈就更加重要,因为否则她不太可能在绩效评估之外花很多时间在这上面。
培训与职业成长(Training and Career Growth)
作为你和公司官僚体系之间的主要联络人,你的经理在帮你找到培训和其他职业成长资源方面负有一定责任。这可能包括帮你找会议去参加或课程去上,帮你拿到需要的书,或者指点你去公司里某个能教你东西的专家那里。
「经理提供指导(mentoring)和培训」并不是一个普遍的期望。在一些公司,这些领域完全由一个你可以直接对接的培训部门管理。有些公司太小,没有钱提供太多培训,或者不认为这是必须提供给员工的福利。
无论你在什么样的公司工作,都要预期:弄清楚自己想要什么类型的培训,大部分责任在你。这对寻找技术领域培训的独立贡献者尤其如此。你的经理不太可能随手就有一份有趣的会议或培训机会清单。
经理对你职业成长做出直接贡献的另一种方式,是通过晋升(promotion),以及很可能还有薪酬(compensation)。如果你的公司有晋升流程,经理会以某种方式参与其中。对于通过委员会(committee)晋升的公司,你的经理会指导你完成准备晋升材料包(promotion packet)的过程——也就是委员会将审阅的那套材料。如果晋升由你的经理或管理层级直接决定,那么你的直属经理在为你争取晋升并获得批准方面至关重要。
无论晋升以何种方式发生,你的经理都应该对「你是否具备晋升资格」有判断。当你有兴趣晋升时,非常重要的一点是请经理指出为了获得晋升你需要重点提升的具体领域。经理通常不能保证晋升,但好的经理知道体系在寻找什么,并能帮你建立那些成就和技能。再说一次,这也有极限。在更资深的层级,晋升机会要稀少得多,你的经理可能需要你自己去寻找并提出能让你达到下一级别的成就。
问问首席技术官:远大的抱负(Ask the CTO: Big Ambitions)
我刚开始工作,但已经知道我的职业目标是有朝一日自己成为首席技术官(CTO)。我现在应该做什么来让这成为可能?
你首先需要学会的是如何工作。也许你已经知道了,但我刚大学毕业时,真的完全不知道该怎么干活。因为技术的日常工作与学校非常不同,关于「成为一名工作中的工程师」这件事,你可能会有很多东西要学。我具体的建议是:找一个能让你在做事方面得到指导(mentorship)和培训的工作场所,比如测试(testing)、项目与产品管理(project and product management)、协作(collaboration),同时也能学到新的技术技能。你要建立扎实的技能基础,因为你需要它们来取得成功。
我还建议你尽可能找到最好的经理和导师,观察他们如何工作。努力找到那些既推动你成功、又为你的成功给予回报的人,那些激励你挑战自己的人。要认识到,挑战自己不只是学习新技术:优秀的首席技术官除了良好的技术判断力之外,还拥有强大的沟通能力、项目管理能力和产品直觉(product sense)。不过,你也要花大量时间写代码,并且真正擅长理解高质量代码是如何写出来的。这可能需要几年的专注,急不来。
此外,我鼓励你建立并经营一个强大的同侪网络(network)。职业生涯早期的工程师往往意识不到的一点是,他们现在的同侪将来会变成他们的工作机会。这个同侪群体包括从同学到队友,再到你在会议和聚会上认识的人。有点害羞没关系,但大多数首席技术官都必须学会与各种人打交道,并在公司之间建立强大的网络。
最后要认识到的一点是,大多数首席技术官是小公司的首席技术官。他们往往是初创公司的技术联合创始人。如果你想走这条路,最好的做法是去一家有「员工离职创办新公司」传统的公司工作。在那里你会遇到未来的联合创始人,并发现尽早加入新公司的机会。
如何被管理(How to Be Managed)
成为好经理的一部分,就是弄清楚如何被管理。这与向上管理(managing up)不完全相同,尽管它们相关。对自己的工作体验建立起一种主人翁感和自主权,不依赖经理来为你俩的关系定下全部基调,是掌握自己职业和职场幸福感的重要一步。
花时间思考你想要什么(Spend Time Thinking About What You Want)
你的经理可以指出成长的机会。她可以给你展示项目。她可以对你的学习和成长领域提供反馈。但她不能读心,也不能告诉你什么会让你快乐。无论你是职场新人还是已经工作了 20 年,弄清楚你想做什么、想学什么、什么能让你快乐的责任,都在你肩上。
你的人生中可能会经历职业不确定的时期。许多人在毕业后的头两到五年里感到非常不确定,因为他们正步入独立的成年生活。我当时感到非常不安,于是去读了几年研究生——结果发现那是在熟悉的学术环境中寻找安全感,逃避一份我不知道该如何应对的工作。在爬上技术阶梯后,我在一家大公司里感到有些无力,于是又一次遭遇了不确定。再后来,我爬上管理阶梯,遇到了高管领导力的挑战,又一次陷入了不确定。按照我的过往经验,我预计每 5 到 10 年我就会经历一次,直到退休。
当你经历职业生涯的不同阶段时,你会开始意识到这个世界有多少不确定性。一个相当普遍的真理是:一旦你得到了你以为自己想要的工作,那种快乐最终会消退,你会发现自己又在寻找别的东西。你以为你想去那家酷炫的初创公司工作,到了那里却发现它一团糟。你以为你想当经理,结果发现这份工作很难,而且回报方式并不像你预期的那样。
在所有这些不确定性中,唯一能依靠着撑过去的人就是你自己。你的经理无法替你做到。用你的经理去发现在你所在之处什么是可能的,但要想清楚自己接下来想去哪里,你需要去了解自己。
你对自己负责(You Are Responsible for Yourself)
了解自己是第一步。第二步是去追求你想要的。
当你有需要谈的事情时,带着议程去参加你的 1-1。当你想参与项目时,开口去问。为自己争取。当你的经理帮不上忙时,去别处寻找帮助。主动寻求反馈,包括关于改进之处的建设性反馈。当反馈来临时,优雅地接受,即使你并不认同。
当你持续不开心时,要说出来。当你卡住时,要请求帮助。当你想要加薪时,去争取。当你想要晋升时,弄清楚你需要做什么才能得到它。
你的经理无法强迫你实现工作与生活的平衡(work-life balance)。如果你想回家,就设法把工作做完然后回家。有时候你必须逆着文化的主流去设定自己的边界,那会让人不舒服。反过来,有时候如果你想要更大的职位,你可能不得不投入更多工作时间来获得它。
你不会得到你要求的每一样东西,而且开口要求通常不是一件有趣或舒服的事。然而,这是前进最快的方式。如果你的经理有责任心,他会欣赏你的坦率。他可能没有责任心,或者可能因为你开口要求而没那么喜欢你,那么你就了解了当前的处境。我不能向你保证结果会好,但如果你为自己设定了一个目标,你就有责任尽己所能去实现它。
给你的经理一点喘息(Give Your Manager a Break)
这是一份工作。你的经理有时会压力很大。她会不完美。她会说一些蠢话,或做一些让你觉得不公平、对你有害的事。她会给你你不想做的工作,并在你抱怨时感到恼火。她的工作是做对公司、对团队最有利的事,而不是不惜一切代价让你时时刻刻开心。
你和经理的关系就像任何其他亲密的个人关系一样。你唯一能改变的人就是你自己。你当然应该给经理反馈,但要明白,无论你认为她多么应该听,她可能都不会听、不会改。如果你发现自己开始因为任何原因而积极怨恨你的经理,你可能需要换一个团队或找一份新工作。如果你发现自己怨恨每一个共事过的经理,你可能需要想想原因是在他们还是在你。也许你在一个没有经理的工作里会更快乐。
尤其是随着你变得更加资深,记住你的经理期望你带来解决方案,而不是问题。尽量不要让每次 1-1 都变成「我需要什么」「哪里出了问题」「我还想要更多」的抱怨会。当你遇到问题时,与其要求经理替你解决,不如试着问她对这个问题会怎么处理。征求意见永远是表达尊重和信任的好方式。
明智地选择你的经理(Choose Your Managers Wisely)
你的经理能对你的职业生涯产生巨大影响。所以,尽可能在评估工作机会时,不仅考虑工作、公司和薪资,还要考虑经理。
强大的经理知道如何在他们的公司里玩转这个游戏。他们能让你晋升;他们能让你获得重要人物的关注和反馈。强大的经理拥有强大的网络,即使你不再为他们工作,他们也能帮你找到工作。
强大的经理和你喜欢作为朋友的经理、甚至你作为工程师而尊重的经理之间是有区别的。很多优秀的工程师成为低效的经理,因为他们不了解或不想处理公司里领导力的政治。一位强大的工程师可能会成为某个职业生涯早期的人很好的导师型经理(mentor-manager),但对更资深的人来说,却可能是个糟糕的代言型经理(advocate-manager)。
评估你自己的经历(Assessing Your Own Experience)
以下是你在发展这部分职业生涯时值得思考的一些问题:
- 你遇到过你认为很好的经理吗?这位经理做了什么让你觉得有价值?
- 你多久和经理开一次 1-1?你会带着要讨论的话题去参加 1-1 吗?如果你的 1-1 是状态汇报会,你能用其他方式传达那些状态吗?
- 你觉得当你有重大人生事件时,能告诉你的经理吗?你觉得你的经理对你个人有所了解吗?
- 你的经理给过你好反馈吗?坏反馈呢?或者任何反馈吗?
- 你的经理帮你设定过今年的工作相关目标吗?
指导(Mentoring)
对许多工程师来说,人员管理的第一幕往往是非正式的。他们通过抽签般的运气,发现自己要指导某个人。
指导对初级团队成员的重要性(The Importance of Mentoring to Junior Team Members)
导师(mentors)通常被分配给团队的初级成员,比如刚毕业的新员工或学生实习生(interns)。许多组织在入职流程(onboarding process)中为所有新员工配备导师。有时导师是团队里另一位初级人员,也许她自己进入组织才一两年;她还能清晰地记得自己当年入职或实习的过程,能与新人产生强烈共鸣。另一些时候,导师是一位高级工程师,除了帮助新人跟上流程之外,还能充当技术导师。在一个健康的组织里,这种入职指导角色被用作双方的机会。导师获得机会体验「对另一个人负责」是什么感觉,而被指导者(mentee)则得到一个只专注于他一个人的监督者,没有其他下属来争夺导师的注意力。
我记得我的第一位导师,他引导我度过了作为软件工程师(software engineer)第一次正经工作的体验。我当时是太阳微系统公司(Sun Microsystems)的实习生,在一个编写 JVM 工具的团队工作。这是我第一份要构建真正软件项目的工作,我很幸运有一位很棒的导师,一位名叫凯文(Kevin)的高级工程师。凯文是一位令人难忘的导师,因为尽管他是我们所做领域的高级技术领导者,他还是为我腾出了时间。他没有给我指一张桌子然后让我自己去琢磨到底该做什么,而是花时间和我讨论项目,和我一起坐在白板前,一起过代码。我知道自己应该完成什么,当我卡住时,我可以向他求助。那个夏天对我作为软件工程师的成长至关重要,因为在他的指导下,我开始看到我真的能做真实世界的工作,我能够成为一名有生产力的员工。与凯文共事是我职业生涯最早的重大里程碑之一。这段经历教会了我指导(mentorship)的价值。
成为一名导师(Being a Mentor)
如果你发现自己坐在导师的位置上,恭喜你!这不是每个人都能得到的经历:一个以相当安全的方式了解管理工作、体验对另一个人负责的感觉的机会。你不太可能因为当不好导师而被解雇(当然,除非你的行为不当——请不要对你的被指导者动手动脚!)。对许多导师来说,最坏的情况无非是:a) 被指导者消耗他们的时间,导致他们完成更少的编码工作;或者 b) 他们做得太差,以至于一个组织本来可能想聘用/留住的人有了糟糕的体验,没有加入组织,或者比本来更早地选择离开组织。可悲的是,第二种结果远比第一种常见。优秀的人才有时会被软弱的导师浪费掉,这些导师几乎什么都不做,只是无视他们负责的人,用琐碎的项目浪费他们的时间,或者最糟糕的是,恐吓和贬低他们,让他们再也不想加入组织。但是,亲爱的读者,你不想这样做。你想成为一名伟大的导师!或者也许你已经是经理了,希望让你的团队在需要承担的指导关系上更有效。你如何建立良好、有效的指导关系,同时又不让开发速度放慢太多呢?
指导实习生(Mentoring an Intern)
我们要讲的第一种指导关系是针对临时雇员(temporary employee)的。对大多数科技公司来说,这是一个暑期实习生,一个仍在攻读学位、希望通过在你的公司工作获得宝贵经验的聪明学生。筛选这类学生的流程各不相同;许多公司把这些机会视为直接从大学招聘优秀人才的管道,但如果你接收的人距离毕业还有一年多,更现实的预期是:这位候选人 a) 几乎什么都不懂,b) 除非他有一段惊艳的体验,否则明年很可能会去别处实习。别有压力。
所以你发现自己要指导一个几乎没有实际经验的大学生。你如何确保他的夏天棒极了?即使你的公司不喜欢他,你也希望他喜欢你,因为他回去后会把在你公司工作的那个夏天告诉所有朋友。这会对你从毕业生中招聘全职员工的能力产生很大影响,而且你从那所学校招了实习生,这本身就表明你很可能认真考虑招聘应届毕业生做全职。但别担心!让实习生开心不是什么高深科学。
你需要的首要之物,是让实习生做某种项目。如果作为导师的你不用绞尽脑汁想这个项目的主意就好了,因为想项目可能是一项艰巨的任务。没有项目,你的实习生很有可能整个夏天完全迷失方向、无所事事。对有经验的新员工来说,弄清楚在职场上该做什么已经够难了,对实习生来说更是难上加难。你必须心里有一个项目——至少要有能让他头几周起步的东西。如果你真的毫无头绪,看看自己当前项目中那些只需要几天就能完成的小功能,从那里开始。
实习生的头几天会与任何新员工相似:入职、熟悉办公室、认识人、学习系统。头几天尽可能多地坐在他旁边。让他开始安装 IDE(集成开发环境)并检出代码。一天多次联系他,确保他不会因为海量的新信息而感到迷失或不知所措。与此同时,为他的项目做好准备。
一旦有了项目,就开始把你正在萌芽的项目管理(project management)知识应用到手头的任务上。这个项目分解成里程碑(milestones)了吗?如果没有,在实习生任职的头几天花点时间把它分解。和你的实习生一起过一遍分解结果。对他来说讲得通吗?倾听他的问题并回答。记住,你在练习的技能,是如果你将来决定成为经理就会需要的技能。在这种情况下,这些技能是:倾听、沟通需要发生什么,以及根据他的回应进行调整。
仔细倾听(Listen carefully)
倾听是管理人员最基本的第一项技能。倾听是同理心(empathy)的前奏,而同理心是优秀经理的核心技能之一。无论你的职业生涯走向何方,你都需要这项技能;即使是没有任何下属的首席工程师(principal engineers),也需要能听到别人真正在说什么。所以,当你的被指导者对你说话时,注意你自己的行为。你是不是把所有时间都花在想自己接下来要说什么上?你是不是在想自己的工作?你是不是在做除了听他嘴里说出的词以外的任何事情?如果是,那你倾听得不好。
领导力(leadership)的早期课程之一——无论是通过直接管理还是间接影响——是:人们并不擅长用别人能完全理解的方式精确说出自己的意思。我们还没有实现博格人的蜂巢思维(Borg hive mind)或瓦肯人的心灵融合(Vulcan mind meld),所以我们不断把复杂的想法挤过语言这根针眼。而语言,大多数工程师并没有掌握其细微之处和解读之道。所以倾听不止于听到被指导者说的话。当你与他人面对面时,你还必须解读他的肢体语言(body language)和他说话的方式。他看着你的眼睛吗?他在微笑吗?皱眉?叹气?这些小信号会给你线索,让你知道他是否感到被理解。
准备好用不同的方式把任何复杂的事情说几遍。如果你觉得没有理解被指导者问的事情,用另一种方式重复这个问题。让他纠正你。如有必要,使用办公室各处散落的白板画图。花你需要花的时间,让自己感到被理解,也让自己理解被指导者。记住,在被指导者眼中你处于巨大的权力位置。他很可能紧张得要命,生怕搞砸这个机会,竭尽全力取悦你,拼命不让自己显得愚蠢。即使他不理解,他可能也不会问问题。让你的生活更轻松,把这些问题从他嘴里挖出来。相比实习生因为没问够问题而彻底走错方向的可能性,你所有时间都花在回答问题的可能性要小得多。
清晰地沟通(Clearly communicate)
话虽如此,如果实习生确实花了太多时间向你求助,从不自己寻找答案呢?嗯,这给了你练习另一项管理技能的机会:沟通需要发生什么。如果你期望他在问你之前自己做研究,告诉他!请他向你解释一段代码,或某个产品、某个流程,并指给他你认为能解释清楚的文档。如果他连有提示都做不到,那么你开始了解这位实习生的潜力了。如果其他方法都不奏效,给他项目的第一个里程碑,让他独自做一两天。这就是在实习生开始工作之前分解项目的价值所在:你已经预先承担了一些更难的思考。他可能会出乎意料地比你预想的快得多地完成所有事情,但那是多么令人开心的惊喜!一般来说,你需要一路提供一些推动和清晰度,让实习生保持在正确的方向上。
校准你的回应(Calibrate your response)
这把我们带到你要练习的最后一项管理技能:根据实习生的回应进行调整。在这段指导关系的进程中,可能发生的事太多了。他可能远远超出你的预期。他可能连简单的任务都挣扎。他可能很快产出工作,但质量很差;或者他可能做得很慢,产出过于完美的东西。在实习的头几周,你正在了解需要多久和他联系一次,以便提供正确的调整。可能是一周一次。可能是一天一次。也可能比一周一次更少,但我建议无论如何都尽量每周联系一次,并把任何额外的时间当作公司额外的面试/推销环节。
希望夏天以良好的关系结束。他完成了一个有一定价值的项目。你练习了倾听、沟通和调整。他带着对你的公司的美好想法离开,而你也获得了洞察:你现在、不久的将来或将来是否想尝试做管理这件事。恭喜!
问问首席技术官:指导暑期实习生(Ask the CTO: Mentoring a Summer Intern)
我本该指导一个暑期实习生,但我完全不知道从何开始。实习生应该做什么?我该如何准备,帮助这个人度过一个精彩的夏天?
为暑期实习生做准备不应该花太多时间,但它对你指导他的成功至关重要。以下是你要做的基本事项:
为他的到来做准备。 你知道他哪一天到吗?如果不知道,去弄清楚。然后确保他到达时,物理和数字环境都已为他准备好。他会有一张离你很近的桌子吗?一台电脑?访问系统和软件的权限?即使在大公司,很多这样的步骤有时也会对实习生被忽视,而没有什么比满怀期待地来上班却发现没地方坐、没有系统访问权限更糟糕的了。
给他一个项目做。 最好的实习是有明确项目的实习。确定实习生项目的诀窍是:你想要一些具体但不紧急的东西,与团队相关,但也得是初级工程师大约在你实习生待的时间的一半内能完成的东西。所以如果他待 10 周,就给他一个你认为新员工大概 5 周能完成的项目。这实现两个目标。它给了他充足的时间,所以如果他有很多其他活动要做,比如参加你的实习项目安排的培训或社交活动,他仍然有时间完成它。如果他在项目结束前完成了,那太好了——他应该已经对你代码库的某些部分足够了解,可以在剩余时间里做其他工作了。记住,这个人是实习生。他还在上学,还在学习,所以预期他动作慢,如果他超额完成,就当是愉快的惊喜。
计划让他在项目结束时展示他做的工作。 这帮助他获得除了你和其他导师之外的曝光度,也给他明确的期望:你希望他完成一个项目。你很可能在公司是否给这位实习生全职录用通知、或者如果他还没毕业是否让他回来再过一个夏天的决定中扮演重要角色。你可能需要花一些时间辅导他如何做演示。如果你的团队有定期的演示日(demo days)或团队会议,演示应该遵循那种形式。演示不需要长或详细,但向团队展示他的作品是帮助你的实习生觉得他的工作有意义的好方法。我向你保证,那些觉得公司欣赏他们工作的实习生,最有可能在毕业后回来。
指导新员工(Mentoring a New Hire)
我大学毕业后的第一份工作在一家非常大的科技公司。我们叫它大科技公司(BigTechCo)。我被放在一个即将发布一个酝酿多年项目的团队里。我的经理把我带到我的办公室,然后留下我一个人自己去琢磨需要做什么。我不知道该如何求助,而且害怕求助会显得自己像个傻瓜。不出所料,我变得气馁,在气馁中我决定最好的选择是去读研究生。于是我去了。
我研究生毕业后的第一份工作完全不同。没有人给我指一张桌子然后放任不管,而是给我安排了一位导师。他鼓励我问问题。我们做了一些结对编程(pair programming),让我学习代码库,以及这个项目的测试方式(我第一次尝到单元测试(unit testing)的滋味!)。我几天内就有了产出,在这份工作的头几个月里学到的东西,比我在大科技公司整个工作期间学到的都多。我几乎把这完全归功于我入职时得到的指导。
指导新员工至关重要。你作为新员工导师的工作包括:入职引导、帮助这个人有效地适应公司生活,以及建立你和她在公司里的人脉网络。这可能比指导实习生更容易,但这种关系和指导通常会持续更久。
这是一个通过新鲜的眼睛看你公司世界的机会。很难记得第一次体验你的世界是什么感觉。工作是怎么完成的?成文和不成文的规则是什么?例如,你可能在人力资源手册里有一条标准的休假政策;这是成文的规则。不成文的规则是:感恩节后那一周你不休假,因为你们是做电商的,那一周对业务很重要。一条更微妙的不成文规则规定了:你大概应该自己挣扎多久,然后才向别人求助。有很多流程、文化和行话的碎片,对你来说习以为常,以至于你可能意识不到它们对一个新人来说完全是陌生的。注意到这些东西给了你澄清它们的机会。不成文规则不仅让新人更难融入,也可能让你更难做好自己的工作。所以好好利用这份新鲜视角的礼物。
高效的团队有提供给新员工的良好入职文档。像逐步设置开发环境(development environments)、学习跟踪系统(tracking systems)如何运作、熟悉工作所需工具这样的指南,对新员工至关重要。这些文档应该不断演化,以适应工作场所本身的变化。通过帮助她完成这些文档来指导新员工,并让她用入职过程中遇到的任何意外来修改这些文档,传递出一个有力的信号:你对她的承诺。这向她展示,她既有能力也有义务去学习,并把她学到的东西分享出来,造福你们整个团队。
这里指导机会的一部分,是把新人介绍出去。公司充满了用来快速传递知识和信息的人际网络。把这个人带入你的一些网络,会帮助她更快上手,也会让你在她于公司期间形成并加入的任何网络中获得新的入口。打算在同一家公司长期工作的人,尤其是在大公司,往往通过非正式网络找到机会。你的被指导者有一天可能会加入你感兴趣加入的团队,或者你有一天可能想把她带进你在另一个领域领导的团队。
即使你对管理完全没有兴趣,在任何拥有多个团队的公司里,如果不建立一个强大的、可以与之分享信息和想法的可信赖人脉网络,就很难建立职业生涯。职场建立在人与人的互动之上,这些网络构成任何职业生涯的基础,无论它是围绕管理还是围绕个人技术贡献。你可能是个内向的人,或者觉得社交不容易,但有意识的努力和练习——去认识新人、帮助他们成功——会得到回报。你对这件事的态度将决定成败。采用这样的心态:建立网络是对你时间和精力的值得的投资。
技术指导或职业指导(Technical or Career Mentoring)
这个话题我只想说几句,因为这类指导通常与管理的路径没有直接关系。话虽如此,在我们职业生涯的某个时刻,大多数人都会在某种程度上参与技术指导(technical mentoring)、职业指导(career mentoring),或两者兼有。我们中的许多人也会被分配一位导师,或者被鼓励去找一位导师。你如何让这类指导变得有效?
最好的指导关系是自然演化的,并且在更大的工作背景下发生。当一位高级工程师指导团队中的初级工程师、帮助他提高生产力时,他们可以一起解决对双方都相关的问题。高级工程师获得价值,因为被指导者写的代码更好、需要的修改更少、开发得更快。初级工程师显然获得了手把手指导的价值,以及接触到一位对自己工作背景有深刻理解的人。这类指导通常不是正式关系,可能被期望是高级工程师工作的一部分,因为它为团队带来太多价值了。
许多公司运行正式的指导项目(mentoring programs),把跨团队的人配对起来,虽然这些项目有时能增强网络,但它们往往对导师和被指导者双方都是一个含糊的义务。如果你发现自己处于这样的关系中,你能做的最好的事情就是围绕它明确你的期望和目标。
当你是导师时(When you are a mentor)
告诉你的被指导者你对他有什么期望。如果你希望他带着提前发给你的问题来参加你们的会议,那就提出这个要求。明确你的时间承诺。然后在他提问时对他诚实。如果连利用那段职业距离给他提供那种他可能从经理或同事那里得不到的坦诚建议都做不到,那么指导一个相对陌生的人就没有意义。
对指导说「不」也是可以的。有时你会觉得有义务对每个向你求助的人说「是」,但你的时间很宝贵。除非你认为这对你和被指导者都有回报,否则不要做。如果有人请你当他的导师而你无法接受,最好直接说你做不到。不要觉得因为他问了,你就必须给他一个理由。当你的经理让你指导某人而你没有时间做时,说「不」就比较棘手了。你可能需要给经理一些理由,比如你当前的工作量、计划好的假期,或者其他会让指导无法进行的承诺。无论你做什么,都不要答应了却不去真正做指导工作。
当你是被指导者时(When you are a mentee)
想想你想从这段关系中得到什么,并为你的会面做好准备。如果你从公司之外的人那里获得指导,这一点尤其重要——那个人没有报酬,是出于善意自愿帮忙的。你不浪费她的时间,是对她应尽的责任。如果你没有时间准备,或者觉得准备没有必要,问问自己:这段指导关系真的是你需要的吗?有时我们最后有了导师,是因为有人觉得我们应该有,但能坐下来喝咖啡的人就那么多,一天也就那么多小时。你不一定非得有导师。也许你需要的反而是朋友、心理治疗师或教练。我们很容易低估导师的时间价值,因为你通常不为此付费,所以要尊重它,也可以考虑找一位付费的专业人士来帮你。
好经理、坏经理:阿尔法极客(Good Manager, Bad Manager: The Alpha Geek)
在一些办公室里,无论是否在指导关系中,你都会遇到「阿尔法极客」(alpha geek)。阿尔法极客被驱动着成为团队里最好的工程师,永远有正确答案,成为解决所有难题的人。阿尔法极客把智力和技术能力看得比其他一切特质都重,并认为这些属性应该决定谁来做决策。阿尔法极客通常无法处理异议,很容易被她认为试图抢她风头或可能盖过她的人威胁到。她相信自己是最好的,只对支持这一观点的信息做出回应。阿尔法极客试图创造一种卓越的文化,结果却创造了一种恐惧的文化。
阿尔法极客通常是一位出色、高效的工程师,她进入管理层要么是因为被推着进去的,要么是因为她相信团队里最聪明的人应该当经理。她倾向于通过贬低下属的错误来削弱他们,而最糟糕的时候,她会不打任何招呼就重做队友的工作。有时阿尔法极客会把团队做的所有工作的功劳都归于自己,而不是承认团队成员的实力。
在最好的情况下,阿尔法极客可以激励年轻开发者,尽管他们看起来很吓人。他什么答案都有。她 10 年前参与过那个系统的原始版本,至今还记得作者们;如果你需要搞清楚什么,她能毫不费力地做到。他确切地知道你想做的事为什么行不通,而当它真的行不通时,相信我,他会提醒你他早就告诉过你了。要是你当初听他的话、按他的方式做就好了!阿尔法极客有很多可以教你的,只要他们愿意,他们能设计出让人乐于参与构建的优秀系统。总的来说,阿尔法极客如果不非常聪明,也走不到今天的位置,所以他们确实有很多可以教给团队的,许多工程师尊重那份才智,足以忍受那些缺点。
在最坏的情况下,阿尔法极客不会让任何人获得荣耀,除非他们也能分一杯羹。所有好主意都是他们想出来的,而坏主意与他们无关——只不过他们早就知道那些主意会失败。阿尔法极客相信每个开发者都应该确切地知道她知道的东西,如果你不知道什么,她会兴高采烈地指出你的无知。阿尔法极客对事情应该怎么做可能非常僵化,对不是他提出的新想法封闭排斥。当人们抱怨他们构建的系统或批评他们过去的技术决策时,阿尔法极客会感到非常受威胁。他们绝对讨厌不得不听从任何他们在智力上不尊重的人的指挥,并且可能对非技术岗位上的人非常轻蔑。
阿尔法极客的习惯往往在工程师第一次当导师时开始显现。如果你曾好奇为什么尽管你的技术能力明显很强,人们却似乎不来找你帮忙,问问自己是否表现出了一些阿尔法极客的迹象。你是否把自己看作一个直言不讳、总是想到什么就说什么的工程师?你是否急切地寻找「抓到你了」的时刻、搜寻错误、不愿意承认别人有过好主意或写过好代码?你是否相信正确性比其他一切都重要得多,以至于总是值得为你认为正确的东西奋力争取?
如果你怀疑自己可能是阿尔法极客,指导可以成为打破这个习惯的好机会。如果你把被指导者看作要教导和引导的人,你的目标是以最适合她的方式帮助她,你就能开始看到你的强势风格是如何让她更难学习的。练习教导的艺术能帮助我们学会如何培育和辅导,如何措辞才能让其他人愿意听,而不是把他们吼下去。反过来,如果你不愿意为了帮助被指导者成功而改变自己的风格,那就请不要自告奋勇去当导师!
阿尔法极客绝对当不好经理,除非他们能学会放下「自己是房间里最聪明的人、团队里最懂技术的人」的身份认同。高度技术化、亲自动手的经理对小型的高级工程师团队可能有好处,但阿尔法极客往往更适合不进入管理层,而是更多地聚焦于技术战略和系统设计。你往往会看到阿尔法极客担任技术型初创公司的首席技术官角色,在那里他们专注于设计和开发,而与之相对的是专注于执行的工程副总裁(Vice President of Engineering)。
如果你有机会把人提升到管理层,在把团队管理职位交给你的阿尔法极客时要非常、非常小心,并密切留意他们在这个职位上的影响。阿尔法极客文化对协作非常有害,会深深削弱那些觉得自己无力反击的人。那些相信自己的价值来自比别人懂得更多的阿尔法极客,还可能为了保持优势而隐瞒信息,这让团队中的每个人都效率更低。
给导师的经理的建议(Tips for the Manager of a Mentor)
你衡量什么,就会改进什么。作为经理,你通过创造清晰、聚焦、可衡量的目标来帮助团队成功。我们常常没能把这条基本智慧应用到分配导师的过程中,但它在这里与其他任何地方一样适用。当你需要为你的新员工或实习生分配导师时,先弄清楚你希望通过建立这段关系实现什么。然后,找到能帮助实现这些目标的人。
首先,弄清楚你为什么要建立这段指导关系。在我前面讨论的两种情况下,指导关系的存在都有一个非常具体的目的:帮助团队中的新人——无论是全职新员工还是只待几个月的人——上手并变得有产出。当然,这不是公司运行的唯一一种指导项目。有时人们建立指导项目是为了帮助初级人员与团队之外的高级人员配对,以实现职业或技能成长。这些项目可能不错,但导师和被指导者往往除了「你们被配对在一起了」之外几乎得不到任何指导。大多数时候,这类项目对双方都收效甚微。如果导师不投入或太忙,没时间在这件事上花时间,对被指导者来说就是失望。如果被指导者不知道如何求助,或者不知道该如何对待这段指导关系,它往往感觉像被强迫的社交,对双方都是浪费时间。所以如果你的公司在为新员工和实习生之外的人建立指导项目,在把人推进去之前,尽量确保项目有一些指导和结构。
其次,要认识到这对导师来说是一项额外的责任。如果导师做得好,她的生产力在指导期间可能会有所下降。如果你有一位工程师正参与一个时间敏感的项目,你可能不想同时把他推去指导。因为这是一项额外责任,就像对待你交出去的任何其他重要的额外责任一样对待它。找一个你认为能胜任这个角色的人,一个希望在编码能力之外脱颖而出的人。
无论指导安排源于何处,常见的指导陷阱包括:把它视为低地位的「情绪劳动」(emotional labor)岗位;假设「同类必须指导同类」;以及未能利用这个机会亲身观察团队中的潜力。
情绪劳动是一种思考传统上属于女性的「软技能」(soft skills)的方式——也就是满足人和团队情感需求的技能。因为结果很难量化衡量,情绪劳动常常被贬低为不如写软件重要的工作。人们假设它应该被无偿提供。我并不是建议你付额外的钱让人当导师,但他们投入的工作需要得到认可,导师应该被视为一等公民,与其他可能承担的责任同等对待。如我之前所说,为它做好规划,给导师时间来把工作做好。你已经为建立这段指导关系投入了,无论是花在招聘上的数千美元和大量时间,还是创建指导项目的开销与协调工作。值得把投资继续下去直到开花结果:认识到指导是需要时间的工作,但它也以更好的员工网络、更快的入职和更高的实习生转正率(internship conversion)的形式带来宝贵的回报。
当我说不要假设同类必须指导同类时,我的意思是你不应该期望女性只能指导女性,男性只能指导男性,有色人种(people of color,PoC)只能指导其他有色人种,等等。这在指导项目中经常出现。这类指导关系有它们的位置,但作为科技行业的一名女性,我个人厌倦了指导只围绕多样性这条线展开。当你在考虑建立指导关系时,除非指导项目的目的本身是由多样性驱动的,否则给人们最适合他们情况的导师。同类指导同类确实有一种情况是合理的——即拥有相似职位角色的导师。当指导预期包含工作技能培训成分时,最好的导师将是那些在掌握被指导者试图发展的职业技能方面走得更远的人。
最后,利用这个机会奖励和培养你团队未来的领导者。你现在已经知道,领导力需要人际互动才能存在。培养耐心和同理心,是在任何以团队为基础的环境中工作的任何人职业道路的重要组成部分。才华横溢、内向的开发者可能永远不想正式管理,但鼓励他们进行 1-1 指导,能帮助他们发展更强的外部视角,更不用说他们自己的网络了。反过来,一个没耐心的年轻工程师,在被委以帮助实习生成功(在你的监督下)的任务时,可能会找到几分谦逊。
问问首席技术官:招聘实习生(Ask the CTO: Hiring Interns)
我的公司收到过几次询问,问我们是否招聘实习生。我们过去没有招过,但我很想开始这样做,以扩大我们的招聘池。我应该考虑什么?
实习项目是公司扩大招聘管道(hiring pipeline)、在优秀候选人毕业前发现他们的好方法。然而,许多公司认为实习项目的目标是雇佣会为他们做大量工作的实习生,因此他们错失了项目的价值。我确实有几条建议:
- 不要雇佣在实习结束后的那一年内不会毕业的实习生。 如今,技术项目的大学毕业生有太多选择,你雇佣的离毕业还远的实习生,不太可能回来为你全职工作。你的实习项目不是你夏天多干活的方式;它是你识别和吸引人才的方式。距离毕业还有两年或更久的人,很可能在投入第一份全职工作之前寻找新的机会去探索。当你只雇佣少数几个实习生时,你希望他们都有成为全职员工的高潜力。
- 雇佣实习生比雇佣全职毕业生相对容易。 对实习生的需求就是更少,因此你应该有很多选择。你可以用很多方式利用这个机会,但我鼓励你争取雇佣来自代表性不足群体的候选人。实习项目的多样性会转化为新毕业生招聘的多样性,进而转化为组织的多样性。
给导师的关键要点(Key Takeaways for the Mentor)
作为导师,专注于对自己三件事很重要。
保持好奇和开放(Be Curious and Open-Minded)
随着你在职业生涯中成长,你会经历很多可教的时刻,很多关于事情应该如何或不应如何的教训。这些可能是「最佳实践」,也可能是错误留下的伤疤。这种无意识的积累会蒙蔽我们的思维,降低我们的创造力。当我们封闭思想、停止学习时,我们开始失去维持和发展成功技术生涯的最宝贵技能。技术总在我们周围变化,所以我们必须持续体验那种变化。
指导提供了一个培养好奇心、用新鲜眼睛看世界的好机会。面对被指导者的问题,你可以开始观察你的组织中哪些东西对新人来说不那么显而易见。你可能会发现一些你以为自己理解、却无法清晰解释的领域。你会有机会审视你在工作中积累的、也许值得质疑的假设。虽然许多人认为创造力是关于看到新事物,但它也是关于看到对他人隐藏的模式。当你拥有的唯一数据点是你自己的经历时,很难看到模式。与正在第一次学习事物的新人一起工作,可以照亮这些隐藏的模式,帮助你建立否则可能不会建立的联系。
倾听并说他们的语言(Listen and Speak Their Language)
指导,做得好时,会开始塑造每个未来领导者都需要的技能。即使对那些不会把管理当作职业的人来说,花些时间指导并从经验中学习也有明显的好处,因为指导迫使你磨练沟通技巧。它要求你练习倾听,尤其是,因为如果你听不到别人问你的问题,你就永远无法给出好的答案。
高级工程师会养成坏习惯,其中最糟糕的一个就是倾向于对任何不理解他们或不同意他们说法的人说教和争辩。要与新人或更初级的队友成功合作,你必须能够以那个人能理解的方式倾听和沟通,即使你可能要试好几次才能做对。在大多数公司里,软件开发是一项团队运动,团队必须有效沟通才能做成任何事。
建立联系(Make Connections)
你的职业生涯最终成败取决于你网络的力量。指导是建立这个网络的好方法。你永远不知道——你指导的人可能会为你介绍下一份工作,甚至将来来为你工作。反过来,也不要滥用指导关系。无论你坐在导师的位置上还是作为被指导者,记住你的职业生涯很长,科技世界可能很小,所以要善待对方。
评估你自己的经历(Assessing Your Own Experience)
以下是你在发展这部分职业生涯时值得思考的一些问题:
- 你的公司有实习项目吗?如果有,你能自愿指导一名实习生吗?
- 你的公司如何看待入职?你们会给新员工分配导师吗?如果没有,你能向你的经理提议试试这样做,并自愿指导某人吗?
- 你曾经有过一位很棒的导师吗?那个人做了什么让你觉得他或她很棒?导师是如何帮助你学习的——他或她教了你什么?
- 你曾经有过一段没有成功的指导关系吗?为什么没有成功?你能从那段经历中吸取什么教训,以避免将来出现类似的失败?