Skip to main content

向上管理,搞定老板...

 

市面上有很多讲Manage Up的书,

Image
Image
扫码回亚麻购买

但大多都注重在针对老板的缺点进行向上管理(比如如何应对撒手不管的老板,如何应对micro-management,之类的)。

我工作这几年碰上的几个老板都还不错,但依然需要actively manage up才能让合作效率最大化——这里想分享一下如何manage up才可以更好地leverage自己的老板,即便是很优秀的老板,可能主要适用湾区互联网公司偏tech的部门 (research, engineer, data)

首先定义本文context中的“好老板”

核心特质:

▪️ 对下属在某些方面出众的能力会给予认可

▪️ 对于下属的不足,客观地看待并给出中肯的建议,而不是踩/PUA

▪️ 相信Manager应该是“Support”而不是“Manage”

▪️ 愿意用自己的影响力为下属争取利益

▪️ 自己在Organization中的地位相对稳定/巩固

▪️ 管理带宽并没有很紧张(一般就是管理人数不要太多,比如超过20个)

另外有一些属于有算加分,但不是必须的特质

▪️ 对技术细节有很好的把握

▪️ 个人性格 alpha > beta (alpha性格的manager一般而言在外面为下属争取利益更给力)

假如你的老板大致符合上面的特质,那么希望下面的内容能够帮助你更好的manage up/leverage你的老板, 从而让你的career更爽。

Manage Up Tips

1. Constantly ask for feedbacks, 无论正面负面

▪️ 你可以把你的老板想象成程序员debug时候的小黄鸭,是你的peer,是一门让你更好地了解自己的明镜。所以你老板的feedback应该对你是有指导作用的。

▪️ 如果你的老板目前对你没有什么feedback,因为你问TA了,TA会更主动去为你收集feedback(从其他人那里),这也是让你得到更多建设性意见的机

▪️ 可以提早address负面的feedback。Performance Review的时候你肯定不希望突然跑出来一条你完全没有context的负面feedback喷你对吧——所以尽早知道这些潜在的负面feedback,然后要么自己改进,要么跟manager argue说这个人是在搞事情,我希望你可以保护我的case

▪️ 对于正面的feedback应该尽可能发扬光大——特别如果你是senior+的IC,你一般在Org里面是要有自己的人设的(你是TL路线还是Fixer路线还是Coding Machine路线,之类的),而你的Manager对你的强项的判断,对你的人设的建立影响很大。当然如果manager判断错了,你也得及早纠正

2. 争取信任

你的老板是个好老板,但不等于老板对于下属都是一碗水端平的(真的一碗水端平很打击积极性),而是一般会给更信任的人更大的responsibility,来帮助TA lead/support一下组里面的其他人;更重要的project(因为不能fail);或者更大的自由度去做自己喜欢做的事情。所以赢得这种信任对于自己来说是有好处的。

这种信任的来源一般就是靠建立success track record —— 对于老板交代的项目稳定地能deliver,最好有时可以exceed老板心目中的expectation,TA对你的印象自然就会有加分。

BTW,别想着踩低别人提高自己——好的老板对于这种有毒的行为是会给负面评价的。

3. 管理期望

好的老板会事先跟你align好期望,而不是TA强加一个不可能完成的任务给你然后让你Fail。我们应该好好利用这个机会跟老板客观地讨论项目正确的expectation是什么样子,以及有哪些潜在的Blocker和Risk。以下是一个例子:

老板:项目XXX 可以在一个月以内做完么

我:理论上可行(别把话说死),但是属于非常乐观的情况。这个项目依赖于AAA,BBB,他们可能要延迟两周的时间。我们跑实验/开发过程中很可能会遇上一些新的feedback需要解决,最好再预留两周的时间应对这些。两个月是一个比较稳妥的估计。如果在环节C/D/E出了幺蛾子,可能得延迟到三个月

老板:那我给你加人,能一个月做完么

我:(拿出人月神话)有一些关键部件加人没有用。其他一些简单的活加人可以加速——如果你额外派一个Engineer,我可以预计时间缩短到1.5月

老板:OK

以上就是一个商量expectation的例子。

值得注意的是这个过程中你还可以名正言顺地找老板要资源帮你做事情。这里面还有另外一个principle就是expectation一般都是一个范围,而不是精确的一个点——我一般倾向于给保守的估计,因为under-promise + over-deliver总是比over-promise + under-deliver要好。

4. Ask for Recognition

当你做了一些不错的工作,你应该尽可能借助老板来扩大你的影响力。你可以建议老板在TA自己的工作汇报中提到你的project作为一个highlight,或者让老板提名你的项目去整个Org的All-hand讲一下。

你在和老板说这件事情的时候,可以把它frame成是在提高整个组的影响力和visibility(which is true),那么你的老板自然更愿意为你也为整个组谋求这种Recognition跟visibility。

5. 就合作方式达成统一

Manage Up的很多书都建议自己去适应老板的工作方式,即使跟自己的工作习惯差的很远。但是如果是个好老板而且你们之间相互信任,则可以开诚布公地讨论一些合作方式上的问题,比如我可以说:

▪️ 我不喜欢被ad-hoc ping,影响我干活,要当面聊事情咱们可以约一个会

▪️ 我自己的决策框架是ABCD……(都列出来),如果你对我某个项目的决定有修改建议的话,那最后可以顺便指出我的决策框架中哪一步出了错,或者说出你的决策框架,我们在方法论上统一一下

▪️ ...

在这些方面如果可以统一的话,那么自己的生活会变爽很多,需要花在跟老板维护良好合作的关系上的精力也会变少,有更多时间可以做别的事情。

6. 找老板要合适自己需求的项目

当你跟老板有了足够多的信任之后,其实就可以慢慢主动跟老板提需求说自己想做什么项目。比如说:

▪️ 如果你想升职,那你就找老板要一个可以证明Level+1能力的项目

▪️ 如果你想做一个特定的方向,那就跟老板说让TA帮忙留意一下有没有这样项

▪️ 如果你生活最近比较忙,你也可以跟老板说想做一个WLB更好一点的项目

关键是一定要主动提出来——好的老板分配项目的时候,除了考虑每个人的能力,也会考虑每个人的兴趣。如果你不说,老板就assume你无所谓,到时候可能分到一个你其实不喜欢的方向/项目,那坑的就是自己了。你说了,有时候就算老板手里没有类似的项目,TA可能也会去找大老板要项目给你。

Comments

  1. 我以前经理教育我的,always under promise, over delivery. 你觉得你三天能做完,最好在一开始就从各个角度说明有多难,要求五天,万一你第四天就做完了还能给人一种提前完成目标的亚子。感觉讲故事和往外推的能力重要性不亚于会干活的重要性

    ReplyDelete
  2. 公司一般都这套路。你做了100,他们就期望你做200,你做了50,他们就期望你做100。一开始就要先囤着点货,慢慢往外发。这样你会源源不断出kpi,而且整个project可以全掌握。

    ReplyDelete
  3. last minute才让老板知道无法deliver是大忌,早点向老板反映问题不代表你weak,前提是要给老板提出可行的解决方案,需要什么支持,而不是只抱怨困难
    第二个learning不够深刻,根本问题不在于太注重细节,而是在有限的时间内没有很好的prioritize task

    ReplyDelete

Post a Comment

https://gengwg.blogspot.com/

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...