专栏名称: 程序人生
十年漫漫程序人生,打过各种杂,也做过让我骄傲的软件;管理过数十人的团队,还带领一班兄弟姐妹创过业,目前在硅谷一家创业公司担任 VP。关注程序人生,了解程序猿,学做程序猿,做好程序猿,让我们的程序人生精彩满满。
目录
相关文章推荐
OSC开源社区  ·  30岁的CSS卸下“盾牌”——更换成紫色Logo ·  4 天前  
码农翻身  ·  形势很严重,劝全体码农们做好准备吧! ·  6 天前  
程序员的那些事  ·  Linus 大佬展现恐怖业务实力:只改动 ... ·  1 周前  
程序员小灰  ·  真的建议赶紧搞个软考证书!(红利期) ·  1 周前  
51好读  ›  专栏  ›  程序人生

软件工程师成长之路

程序人生  · 公众号  · 程序员  · 2017-08-10 18:00

正文

在公众号里,被问得最多的问题就是:如何选择一个能够让自己成长的工作?以及,如何在工作中成长?

我们先看第一个问题:如何选择一个能够让自己成长的工作。

这个问题在我 2015 年转的我 2014 年答读者问的文章里已经写过(看,有些问题就是这么任性地反复折磨我们),稍作摘录:

这个问题在『黑客与画家』里Paul已经给出了答案:选择那些具备 可测量性 和 可放大性 的工作。

我们来详细说说。注意以下的话跟「敏捷宣言」的措辞类似 —— 当你有选择的权利和能力时,优先选择前者而不是后者。但,这并不意味着后者不好。

首先是行业的选择。蓬勃发展的行业 要优于处于稳定的行业。比如说同样是软件行业,互联网就是比传统软件行业发展速度快得多的行业。

在一个蓬勃发展的行业中,机会要多很多,市场不断被拓展,饼越做越大。这很好地符合可放大性。而在一个稳定或者缓慢增长的行业里,市场版图已经划分地差不多,总体而言,好的位置和职业机会(但并非绝对)已经被之前进入这个行业的人占据得差不多,所以可放大性差了些。

选好了行业,再看公司。同样的,处在上升期的公司 优于成熟稳定的公司。当公司以火箭般的速度发展时,个人只要充分表现,很大机会能进入职业生涯的快行道。这还是个可放大性的问题。但让人难受的是,怎么鉴别谁是处在上升期的公司?这个一半是靠趋势的研究和把握,一半靠运气(如果你长期做股票,你就能理解)。我们都是事后诸葛亮,如果将时针拨回事件发生之前,很少有人会认为乔帮主回归后的苹果能重返一流公司的行列,也几乎不会有人在微博最红火的2012年初预见到微博现时的衰败。选公司有时候跟选股票一样,只要你做足了功课,从各种资料中得出自己的分析,那么,剩下的交给运气吧。

选定了公司,再看团队。重视个人能力的小团队 优于过分强调集体智慧的大团队。如果可能,尽量避免进去就做一颗「螺丝钉」的团队。当然,如果不可避免地做了螺丝钉,也要努力让自己的价值高过一颗螺丝钉。公司和个人对某个普通职位(非高管)的定位是不同的:公司希望每个普通职位都有备份,具备可替代性;个人希望自己在团队中是独一无二,无可替代的。小团队的优势在于你的工作的可测量性要强不少。当一个软件需要五千人一起做出来时,你的作用就如大海中的一丝浪花;但当一个产品只需要五人就能做出来,那么,即使平均下来,你也是其中的五分之一。

选团队的同时也要考察老板。敢打敢拼敢担当的老板 优于过于温情柔顺的老板。没有担当的老板不要选(你可能会成为替罪羊),没有想法只想维持自己地位的老板不要选。在工作中,不要认为老板是管你的,你也要学会管理老板。尤其是他的时间、精力的分配。

选团队时还要看队友。优先选择那些拥有 更多优秀队友的团队。优秀的人往往能成为你的标杆,激励你前进。这跟球员要尽可能去欧洲踢球而不是留在国内一样的道理。鹤立鸡群的感觉尽管很好,但久而久之,可能会成为井底之蛙。

这是大白话,不解释。

第二个问题:如何在工作中成长?

如果你对第一个问题做了明智的选择,那么,成长所需的外因基本都具备了,第二个问题更多的就只关乎内因。

软件工程师是个很好的职业,非常有利于个人的成长。由于工程师的效能直接关乎着企业的成败,所以不少企业都卯足了劲,提供各种各样的机会(项目和产品的试错,在职培训,行业会议等)帮助工程师成长。然而,同样的外部条件,大家成长的速度千差万别。

去年我回国组建 Tubi TV 的中国团队时,曾经应一个好友的邀请,去他的公司跟团队介绍我个人成长的一些心得。

这次回国,大致相同的内容在另一个朋友处小规模地分享了一下。朋友说看我写的,和听我说的,感觉有些不一样,语言比文字更容易引起共鸣。我想想也是,本来想线下搞个讲座,又怕麻烦,于是便搞了这个知乎 Live:软件工程师成长之路。

本次 live,我会就我自身的职业发展,以及在过去十五年的职业生涯中的经验,谈谈软件工程师如何更好地把握好个人的成长机会。大致的大纲如下:

  • 自信自律

  • 自我学习

  • 建立自己的方法论

  • 重新认识听说读写

  • 学会选择

  • 学会问问题

我假设读者对于类似的主题,听「目标管理」,「一万小时理论」等都听得耳朵起了老茧,所以我略过这些部分(尽管它们很重要);大纲里的内容不乏鸡汤,但你若是程序人生的资深读者,自然知道,程序君的鸡汤熬的不太一样。

顺手拿自信来说 —— 自信是抓住成长机遇的非常重要的一个特质 —— 很多工程师别的不缺,缺的就是一份舍我其谁的自信。自信需要培养,培养的方式跟你打游戏没有两样:赢下一个有机会赢的对局(小目标),然后再怼下一个更难些的。在 Juniper 生涯早期,我是个很害羞的工程师,尤其害怕用英语当众发言。为了克服这个缺点,我的小目标是每次总部大佬过来做 all hands meeting,我都要至少问一个问题。每次达成目标,自信的天平上就填了一座砝码。如今我站在台上,用英文做个一小时的技术讲座,或者在会议上 bla bla bla 毫无压力。这次北京出差前,我们的投资人要给旗下的 portfolio 公司做校园招聘,找到我让我给介绍 Tubi TV 的技术架构和招聘需求,我讲了一个多小时,期间挡下了好些刁钻的问题(比如:作为一个面试者,我为什么不去 netflix,而要来 Tubi TV),最后投资人跟我说:你是我 portfolio 公司中讲得最好的 VPE,真希望你能给我们旗下其他公司的 VPE 培训一下如何介绍自己公司的技术架构和工程师文化。

我写专利,在 Juniper 和 Tubi TV 做 BBL,创业,跑马拉松,写书,去美国工作,建立中国团队,都是在做一些自己没做过的事情。在我看来,建立自信的过程就是去冒险做一些自己从未做过的事情的过程。这个过程中失败不可避免,但 experience is what you get when you didn't get what you wanted。

这个知乎 live,我要讲的不少内容其实是反人性的 —— 比如自律,自我学习。说来好玩,我们可以在游戏中锲而不舍,极度自律,忍受简单,耐得住寂寞,却在人生中知难行易,趋利避害,选择最好走的路。然而,如果二十多岁的时候你不敢试错,三十来岁的时候不去积累,那么人到四十,你没法上下交代。听了这句恶意满满的话,是不是有种脊背发凉的酸爽?这就对了,《余生皆假期》里说:人会因为恐惧和不安而有所行动

来吧,点击「阅读原文」,或者在知乎 app 里搜「软件工程师成长之路」,参与一下于下周三(8/16)晚上 8 点开播的,我的处女知乎 live 吧。也许,听了听我个人的方法论,能够稍稍缓解一下你内心中的不安。:)

(iOS 用户,憋赞赏了,参与知乎 Live 吧)