文章 答疑

左耳朵谈个人成长:做正确的事,等着被开除

MegaEase创始人。永远都会写代码的程序员。前亚马逊高级研发经理,阿里巴巴资深架构师,路透金融数据中心研发经理。19年软件开发相关工作经验,10年团队管理经验,对高性能,高可用性,分布式,高并发,以及大规模数据处理系统有一些经验和心得。
文章 答疑

前天我写了一篇叫《我看绩效考核》的文章,说了一下 KPI 考核制度下的一些问题。同时,也提到用平常心面对那些对事又对人的公司给你的评价,因为那只代表一时并不代表一世。最后还引用了一个“非常危险”的观点——“做正确的事,等着被开除”。其实,对此,我还有很多东西还想和大家交流交流。

所以,想和大家就有关绩效方面和个人成长方面的话题和大家做一定的交流。下面是我想和大家交流的几个问题。

  1. 什么叫做正确的事?正确的事有哪些?为什么要做正确的事?

  2. 如何才算是:“用一颗非常严肃的心来面对自己的个人发展和成长”?

  3. 什么才是一个人真正的绩效?

  4. 如何才能做到可以不委曲求全追求正确的事?

  5. 主管和公司不认可我的绩效,我应该怎么处理?

  6. 公司要求的KPI要强制分布,我作为一线主管,怎么办?

  7. 对于能力真的不行的员工该怎么办?

  8. 如果用绩效来考核事,那么人怎么考评呢?

一、什么叫做正确的事?正确的事有哪些?为什么要做正确的事?

所谓正确的事有如下特征

  • 能够让公司或个人有长期收益的事(不是短期收益)。所谓长期收益,意味着,做的这个事可以在3-5年内有收益,而不是做一次有一次的收益。

  • 能够让公司或个人有质的改善或成长的事。

  • 能够提高效率的事。(效率=有用功/总功)

  • 能够解放生产力的事。

  • 能够让公司或个人更有竞争力,增加更多的可能性的事。


对于工程师来说,正确的事有哪些?

  • 多关注自己得到的,而不是自己失去的。平庸的人才会更关注于自己失去的,而优秀的人则都是会“投资”的人,一个人的“时间”、“金钱”、“青春”、“精力”、“经验”、“能力”等都可以拿来做投资的,而聪明的投资人都是关注自己会得到的东西,而不是自己失去的东西。

  • 简化和自动化。做可以提高效率,解放生产力的事。至少先从提高自己个人的效率,解放自己的生产力开始。(注意:效率不是做的快,效率=有用功/总功,所以,要么降低总功,要么提高有用功)

  • 学习并使用更优秀的技术。尤其是那些可以解放生产力的技术。

  • 用通用的技术解决公司内特定的问题。case-by-case的解决问题只会让你得到“术”,而不会让你得到解决问题的“道”,只有能用的技术才能让你逼近本质上的东西,而这才是让你能成长,能达到更高位置的东西。

  • 不要加班,并让自己条件受限,这样才能逼迫自己只能使用智力而没法使蛮力。

  • 远离劳动密集型的工作(那些用加人加钱来完成的事),远离流程重审批重的工作,亲近知识密集型和相信员工的工作。

  • 用技术解决问题,而不是用管理解决问题(参看酷壳的《AWS 的 S3 故障回顾和思考》)

  • 坚持用高的标准来做技术。因为,取法其上,得乎其中,取法其中,得乎其下,取法其下,法不得也。

  • 严谨地对待技术。严谨的设计和代码、评审、测试、运维,而不是用workaround或是hack的方式解决问题。这会让你的技术水准更上一层楼。

  • 做有思想的软件,而不是拼凑出来的软件。(参看《Unix编程艺术》等书)学习各种基础技术的原理和思想,而不是应付工作。


为什么要作正确的事?只因为一个原因!

我们处于这个IT浪潮一波接一波的时代是一件相当相当幸运幸运的事。就好像我们生活在了“工业革命”的时代,如果我们委曲求全,没有做正确的事,那么我们就是在浪费我们的人生和上天给我们的幸运,而我们也辜负了这个时代。

举两个我个人觉得我活到现在做的两个最正确的决定:

  1. 放弃了银行的工作和分房。离开了家乡,来到大城市经历互联网IT的浪潮。

  2. 放弃了路透的工作,降级降薪到了Amazon。


前者,让我失去了房子让我失去稳定的工作,但是让我拥有了活在这个时代最有价值的经历和人生。因为,我放弃了一般人不敢放弃的东西,所以我更清晰的清楚自己要得到什么,也让我更为专注的一心一意的去追逐自己要的东西。

后者,让我放弃的公司高管的职位。但是,让我收获了更广阔的眼界和更为牛逼的思维方式,为我打开了一扇通往一个辽濶天地的大门,让我深深地感受到了这个时代最强的脉搏,除了感到活得值了,同时也能感到这段经历定会让我受益终身。

二、如何才算是:“用一颗非常严肃的心来面对自己的个人发展和成长”?

所谓自己的发展和成长并不完全是在公司的升职和加薪,而是:

  1. 自己是否能能进入世界一流的公司并在里面干一流的活。

  2. 自己是不是能找到稳定的?所谓稳定并不是找一个稳定的工作,而是无论世界怎么变,自己都能找到一流的工作。

  3. 自己是否可以做到大多数人干不出来的事?大多数人干不出来的事就是两件事,一个是困难的事,一个是麻烦的事。

  4. 自己是否有领导力?一种别人有问题会来请教你的现像,一种老被别"

2017年8月1日,周二晚上8点30分。前亚马逊高级研发经理,阿里巴巴资深架构师,路透金融数据中心研发经理。19 年软件开发相关工作经验,10 年团队管理经验,MegaEase 创始人陈皓带来了主题为《左耳朵谈个人成长:做正确的事,等着被开除》的交流。以下是志愿者哈比整理的问答实录,记录了作者和读者问答的精彩时刻。


内容提要:

  • 您当时选择去 Amazon 的时候,是本身就预想了会获得 「更广阔的眼界和更为厉害的思维方式」还是去了之后才发现这一点大收获。请问在没有办法确认哪个选择更好的情况下,您做选择有什么考虑吗?
  • 对于连续两次不达标而被开了的员工,是否也意味着他无法再次进入这家公司了?对曾经的员工,是否会有区别对待?
  • 有些公司会自己设置淘汰机制,逼迫主管和员工去思考这个最末 10% 的问题,也算是一种鞭笞。请问在中小型公司的话,在什么时间选择终止掉一份劳动关系,是最优或相对较优的时机?
  • 「良禽择木而栖,找到和自己对味的领导或公司」,该如何实践?很多人是面试几轮直至正式上班的时候,才对自己的领导和同事有真正意义上的了解。在面试之前都很难有一个清晰的主观印象。您有过这方面的问题吗?有什么好招吗?
  • 请问这句话怎么理解?「如果你是一个技术公司,你就会更多的相信技术而不是管理。相信技术会用技术来解决问题;相信管理,那就只会有制度、流程和价值观来解决问题。(注意:这里我并没有隔离技术和管理,只是更为倾向于用技术解决问题)你是要建一个 “高可用的技术系统” ,还是一个 “高用的管理系统”?」
  • 您是如何爱上编程的?
  • 一般公司都有几个核心部门,而在非核心部门或者岗位工作不容易出成绩。请问找工作的时候可以选择这种部门吗?选择这种部门有什么利弊?
  • 您对于生涯规划有建议吗?有哪些可以学习的资料?
  • 什么是领导力?领导力如何去实践?请问 OKR 如何正确使用?
  • 「良禽择木而栖」,请问怎么样去识别真正的方向和适合自己的木?
  • 对于很多并不擅长或者并不具备领导力的人,怎么达到自己的真正绩效,怎么在快速变化中自处?
  • 如何把员工的个人目标和团队目标有效结合起来?
  • 每个人都希望自己越来越好,也希望自己的绩效及薪酬越来越好,但小公司的资源有限,特别是当组织绩效一般的情况下; 面对这样情况,作为部门级中层领导,怎么处理好组织利益与个人利益的关系?特别是让老板与员工间满意,且双方都亲密无间,该怎么办?
  • 作为小型公司的绩效考核到底是明晰量化考核还是个人绩效干系人一起开会评估比较好,请问您是怎么看待这个问题的?
  • 我已经工作三年,在产品设计,研发,还有运维方面都有一些积累,但是总觉得差一口气,请问您对于这样的职业状态有什么建议吗,或者说能讲讲您个人职业生涯的发展历程以供参考吗?
  • 从行业和团队的角度,如何衡量一个创业公司是否靠谱?
  • 出身前端,之前管理一个 12 人的前端团队,现跳槽到一家创业公司,请问您从个人技术和团队管理上如何带好一个 1 前端、2 PHP、2 IOS、2 安卓的研发队伍?
  • 在外企的工作氛围跟国内大厂的有什么不一样?遇到负责的业务出现故障如何问责?
  • 国内互联网行业普遍产品主导,技术配合,怎么看待这个现状?对业务导向的工程师发展有什么建议?
  • 往高薪发展,虚岁 30。一个 7 年 Phper 如何突破自我?
  • 公司的绩效考核是按照做出来相关产品活动的效果(比如,带来多少用户,多少收益等),身为技术,做了很多活动相关的开发,但是效果并不好,因而每次绩效都很低,这个身为技术有什么办法吗?
  • KPI 考核时,对同一职位的考核环境不同,从而造成考核结果不公平,这种由于非员工原因造成考核结果不同的情况,有何看法,并对员工有何建议?
  • 请问您之前是否涉及到跨地区技术管理,如果涉及到能简单介绍下是怎么管理的吗?
  • 作为一名工程师,很多时候我知道“正确的做法”是该怎么样,但我同时也是一名创业者,权衡到成本和效率,就很难用一种工程师理想化的方式来管理开发和进度,长期来看是对的,但公司目前未必能按那种方式存活下去。最近被这个矛盾困扰着。如果站在老板的角度,如何来平衡好这个矛盾?
  • 每次有 Deadline 而且感觉心里没底的时候,心里难受,怎么办?
  • 很多技术实质上就是工具,会用了感觉能力上并没有很大的提升。作为程序员,在个人提高上,是去研究算法还是专注于更熟练地使用工具解决业务问题?

问:您当时选择去 Amazon 的时候,是本身就预想了会获得 「更广阔的眼界和更为厉害的思维方式」还是去了之后才发现这一点大收获。请问在没有办法确认哪个选择更好的情况下,您做选择有什么考虑吗?

答:我从路透去亚马逊的时候纠结了几个月,因为要降职降薪,但最终我还是决定去了。做这个决定主要有三个原因:

  1. 亚马逊这家卖书的公司做出了世界上第一个推荐算法和世界上第一个云平台,这让我觉得这家公司太神奇了,而且你几乎在互联网上查不到这家公司的分享,所以我非常好奇,我心时想,这应该是一家技术公司。

  2. 2000 年从工行出来的时候,我就想去互联网公司了,但是遇到了互联网泡沫。10 年后全部互联网公司全部重来,我觉得我不能再错过。

  3. 我在入职亚马逊前,问过美国老板他是不是把中国员工当外包来用?老板说并不是,他说亚马逊是因为重视中国市场才来到中国的,并不是为了外包。而且也说,我们要做的这个项目是创新项目,风险非常大,做不好就砍掉。基于这三点,我决定来亚马逊。

总结一下我做决定的依据:

  1. 这段经历是不是我想要的?比如说有技术含量的、最刺激的、最前沿的、最有挑战的,能不能为我开启更多的可能性。

  2. 另外,我也不能保证我的选择做得对,但是选错了公司也没事,因为这个世界上有好多公司可以去。做错选择么可以换的。

关于选择,参看我在 知乎的一个回答


问:对于连续两次不达标而被开了的员工,是否也意味着他无法再次进入这家公司了?对曾经的员工,是否会有区别对待?

答: 是也不是。这里有一个真实的案例。国内某大厂的员工,相当于阿里的 P6,因为绩效不好被劝退。之后在家里努力学习了一年,哪也没去,就不停地钻研技术。后来他面试过了微软,然后在微软升了两级,四年后又被原厂挖了回去,不过他没有回原厂。如果他回去的话,他那时候的级别已经相当于阿里的总监级别。国内某些公司对于这种有案底的员工是会区别对待的,我个人觉得这点挺不好的。


问:有些公司会自己设置淘汰机制,逼迫主管和员工去思考这个最末 10% 的问题,也算是一种鞭笞。请问在中小型公司的话,在什么时间选择终止掉一份劳动关系,是最优或相对较优的时机?

答:我不太清楚,这个问题是中小型公司想终止员工的劳动关系,还是员工在中小型公司想终止自己和公司的劳动关系,到底谁是主体?

  • 如果主体是公司的话,我个人觉得任何一家公司都有权利终止劳动关系,只要提前一个月告知就行。这是劳动法规定的,不过需要 N+1 的补偿。

  • 如果主体是个人的话,我个人觉得无论是公司是大是小,在一家公司呆 3-4 年就差不多了,除非你对这个公司和老板有非常强的认同感。为什么是 3-4 年,因为 3-4 年的时间,基本上可以让你了解这个公司的所有事情了。我个人觉得,人生还是应该多体验一下不同的公司,因为这样你就会有比较,有比较你才知道什么是好,什么是不好。我觉得有比较,有更多的不同的经历会是一个更好的人生经历。


问:「良禽择木而栖,找到和自己对味的领导或公司」,这句话如何实践?很多人是面试几轮直至正式上班的时候,才对自己的领导和同事有真正意义上的了解。在面试之前都很难有一个清晰的主观印象。您有过这方面的问题吗?有什么好招?

答:首先,你得知道自己的口味。我们每个人都要认识到自己的长处、兴趣和自己的一些特点。比如说自己是属于加班老黄牛型的,还是想把技术做好的或想把代码写漂亮的?到底是哪一种类型,自己得有个定位。如果是前者,加班老黄牛型的,可能去一些创业公司或那种需要这样努力的员工的公司,有很多公司就是需要这样的人;如果是后者,想把技术做好的,那就得要去技术型的公司,或是对技术有很高要求的公司。

除此之外,也要明白自己到底是适合做产品型的软件还是技术性的软件?是业务层的还是底层的?更适合做抒情的产品还是做商业化的产品?不同的公司有不同的 DNA。找到和自己相似 DNA 的公司和团队,才能如鱼得水。

关于面试,我觉得多多少少也是可以问出来的,这要看你怎么问问题。一般面试官都会给应聘者留一些时间去询问公司的一些情况。比如说我喜欢问面试官,你觉得你在这家公司里最开心的事,和让你最难受的事是什么?我想听听你个人的故事。我也会问:你们一线技术经理里面,目前还有多少人在写代码?我两年前面试某国外大公司的时候,我对所有的面试官都问这两个问题,他们给了我五花八门的答案。后来我大概知道这家公司有很大部分的一线经理或者技术主管是不写代码的。我问他们为什么不写代码?你不写代码,你管什么?他说管人。我又问,那么你们招的人那么厉害,这些人还需要你管吗?我追问下去后才明白,他们其实有 KPI。比如他们做一个小功能,上线三个月,如果效果不好就得砍掉,而且还有这些跨团队的协作这种各式各样的问题,所以经理门都忙这些事去了。我虽然面过了,但我觉得这家公司不太适合我。

不过,话又说回来,你很难找到一家完全没有问题,完全适合你的公司。所以,你需要更多的关注自己的得到的,而不是自己失去的(也就是说,要学会抓主要矛盾)


问:请问这句话怎么理解?「如果你是一个技术公司,你就会更多的相信技术而不是管理。相信技术会用技术来解决问题;相信管理,那就只会有制度、流程和价值观来解决问题。(注意:这里我并没有隔离技术和管理,只是更为倾向于用技术解决问题)你是要建一个 “高可用的技术系统”,还是一个“高用的管理系统”?」

答:我相信你是从《AWSS3故障回顾和思考》这篇文章中看到这句话的。这句话可以这样理解:如果你相信技术,那你就会用技术来弥补人的短板和不足,或者说是用技术来取代人。于是你会做出各种各样自动化的工具,甚至设计出一种高可用的系统集群。但是很多公司发生故障以后,它不是不相信技术,它是不相信人。于是它会用各种各样的方式来管理人。比如一些权限系统、审批系统、惩罚制度……。其实我们都知道,不管有没有这些东西,人还是都是会犯错的,这就是人不如技术的地方。


问:您是如何爱上编程的?

答:我这么回答吧。我从 98 年毕业到现在这个时代就是编程的时代。我觉得我很幸运,专业学对了,时间也对,不是每个人都能赶得上这个时代的。比如我的父母赶上的就是像文革、下乡插队、下岗这样的时代。所以我觉得这个时代对我来说就是天上掉馅饼,你不能辜负这个时代,所以我还有什么理由不喜欢编程呢?


问:一般公司都有几个核心部门,而在非核心部门或者岗位工作不容易出成绩,请问找工作的时候可以选择这种部门吗?选择这种部门有什么利弊?

答:当然是要削尖脑袋去核心部门的,因为核心部门的价值更大。分享我的两个故事,我以前也不是开始就在核心部门的。

第一个故事,我刚入行的时候在某公司做一些外围的东西,但是外围那些东西很简单,所以我就有时间去看一些书。比如我在看《TCP/IP 详解》这本书。一次,公司的软件在网络通讯出了些问题。用户交了费以后要到调用一个第三方的系统,结果用户的钱倒是扣了,可是和第三方系统的连接有很大概率网络出问题,造成事务不一致。于是,公司里最厉害的人到用户那边看了一星期都没找到原因,这时有个人就说,我看陈皓在看《TCP/IP 详解》的书,要不让他来试试?老实说,我才刚刚开始看这本书,也没什么经验,被叫过去的时候很紧张,但是我就记得 TCP 的那些状态机。然后这个问题重现的时候,我就用 netstat 一看,连接的状态是 CLOSE_WAIT,意思是对方断连接,说明是是对方系统的问题。然后我就去了对方系统那边帮他们看了一下代码,后来发现是他们的 if 语句写错了。这个 if 语句本来是 AND,结果他写成了 OR,然后条件满足了,下面就是断开连接。因为 OR 的条件更宽泛。这件事我花了两个小时就解决了,公司就觉得我好厉害,后来就让我加入了核心团队。

第二个故事,我去一家中型公司做业务,用 Powerbuilder。我入职的第一天,他们告诉我这里有个内网论坛,你有些什么技术问题可以到里面问。然后我看到里面 C++ 板块里有 20 多个未解决问题,我就用了一下午时间,把这些未解决问题全部回答掉了,而且我还给出了很多的代码。临下班的时候来了一个人就问谁是陈皓,我说我是,他说收拾一下,搬到核心项目组,就把我调过去了。其实回答这些问题没什么,就是那个年代是 2001 年。我就是多看文档,很多文档都在英文社区。Windows 下面就是 MSDN。我就把 MSDN 读一读,然后谷歌搜一搜,基本上就这样把那些问题解决了,其实也没什么。

说白了,我牛吗?我根本不牛,我无非就是学习了一些基础知识,基本原理,这样解决问题的时候容易找到问题原因。另外,对于不懂的东西,知道到哪里去寻找知识。仅此而已。

最后,我想说一下,其实,任何事情都是有挑战的,不要以为做业务就没有挑战,其实我反而觉得做业务,解决业务问题的一些技术点更有挑点。比如,业务上需要分布式一致性,业务上的分库分表,业务上的模块分析和设计……


问:请问您对生涯规划有什么建议吗?有哪些可以学习的资料?

答:人生的规划,首先是提高自己的竞争力。你有了竞争力以后,你的可能性和选择才会多,你有了选择以后才谈得上个人规划。如果你没有选择,没有可能性的话,去谈个人规划其实是没有意义的。那要怎么去提高自己竞争力?我给大家一点建议:去学习基础技术。有很多东西到了基础,基本上都是一样的。比如到了操作系统的调用,无论是 Java 虚拟机、Python 解释器还是 Node.js,最终都跑不掉操作系统的调用。一些编程上的网络通讯技术到了 TCP/IP 的甚至更底层的网络原理也是同理。所以学好这些东西后其实一通百通。如果你学了一些表面的技术,你就会觉得技术很多,但如果你学到了一些本质,你会觉得也就这么点东西。

关于学习资料,其实我在博客里推荐过好多书,有的可能有点过时了,但是很多都是一些比较经典的基础的书。比如像《算法》、《计算机原理》、《Unix高级环境编程》等等,还有《TCP/IP 详解》、《C 语言编程》这样的书……


问:什么是领导力?领导力如何去实践?请问 OKR 如何正确使用?

答:关于领导力,我在《技术人员的发展之路》这篇文章里说过。关于如何实现自己的领导力,接着前面那个话题说,一个是注重基础,另一个是你需要找到你自己的信息渠道。如果你现在的信息渠道是微信朋友圈、微博、知乎或是今日头条,那你完蛋了。我倒不是说这里面没有有价值的东西,我想说这里面有价值的东西很少,99% 都是垃圾,只有 1% 的有价值。但你为了要找到那 1% 的有价值信息,必须要看完那 99%,这其实挺浪费时间的。

另外,如果你用百度或中文搜索,或者在中文社区里能够找得到你想要的东西,那你已经远远落后这个时代了;如果你用英文才能找得到你想要的东西,那说明你能跟得上这个时代;如果你没办法,只能到 Github 或去那些开源社区里找里面的人去问,或是去看代码才能找到你想要的这个"

即可阅读全文

打开微信"扫一扫",将本文章分享到朋友圈

快给朋友分享吧!

收藏 收藏

1236人已收藏