05 职业成长:从校园到职场的蜕变

极客时间:我们会很关心用户的成长,我们平台也会有一部分用户,可能刚毕业面临一些职业选择,会有焦虑,会对自己的未来发展方向有迷茫,所以我们挺想从你的故事里让大家去找找自己的答案。

张雪峰:我明白你的意思,我用那句话回答你吧,就是“幸福都是相似的,不幸的各不相同”。其实我感觉我还算幸福的,我还没到毕业就工作了,最后一年是在我们教授的实验室里做项目,那时候也算接触了互联网初期阶段。

但我说的不一定大家可以借鉴,因为这种其实就是硬币的两面,你去做项目固然可以长见识,但也可能你前面三年还没打好基础,把地基打扎实也很重要,这个要因人而异。如果感觉基础没打扎实,那我建议不要直接去外面的企业实习,意义不大。

只是我感觉我自己还OK,所以最后一年我就去实验室做项目,接触外面的世界了。我们当时做了上海第一个电商网站,那时候电商才刚起来,当然我只是打杂的,在后面做一些东西,能接触到一些不同的技术。

迷茫也很正常,绝大部分人都是那样,天赋异禀毕竟极少数。沉下心来做事情,多和高手聊、多向前辈请教。

极客时间:2000年前后,做程序员对你们来说是一个很好的选择吧?大家都想干这行吗?

张雪峰:是,我学的是计算机科学专业,就业还是挺不错的。当时我毕业的时候,1800块已经算可以了,还有600块补贴。

所以到了毕业的时候,我有一点底气。当时我同学有的投了100多份简历,我因为在实验室有项目经历可以写上去,所以还好,我就投了5份,拿到了2个Offer。最后我去了一家初创公司,就在上海交通大学旁边,三个创始人都是交大的。

那会我就觉得我们老板真的很有个人魅力,我上下班来回通勤要四个多小时,没有地铁,更没有座位,两部公交车都是长距离,一部横穿浦西市区,另一部横穿浦东住宅区,上下班高峰都非常拥挤,那时候也没有加班打车福利,但我也很开心,乐在其中。没别的,就觉得每天工作都能学到东西,都有进步。

现在大家讲所谓内卷,可能985的计算机专业都不一定有好工作,找工作都讲什么介绍、内推的,我们那时候没有的,搞编程的企业就没多少。大家比较倾向去大外企、大国企或事业单位,那时候民企是很难赚钱的。另一个靠编程赚钱的路子是做共享软件,但能做到一定规模且口碑好的很少,而能靠共享软件赚大钱的,就更少了,印象最深的就是 NetAnts、Foxmail,我自己也一度产生过是否做共享软件赚大钱的念头,还好很快掐灭了冲动的火苗。

第一家公司是做教育软件的,简单说就是学校校园网的信息管理,包括考勤系统、排课系统、成绩系统,还是能赚一点钱。我们老大,在这我必须提一下大名以表感谢和敬佩,他叫毛向辉(Issac Mao),非常有技术前瞻性,比如说我们是国内最早搞XML研究和布道推广的。当时还成立了一个对应的组织,依托交大和交大学生在外面做布道,我们那时候做布道可起劲,研究各种基于XML的技术和标准,后者虽然很难,但极有成就感。

同时,我印象中这位老大也是国内最早的Blogger(博客),好像没有之一,够超前吧?虽然第一家公司的业务最后没做起来,但这位老大是对我这么多年职业生涯中影响最大的一位,没有之一。之后我见过无数比这位老大更成功、更有名望、更有前瞻性的技术人,但即使算上王坚博士、行癫、鲁肃这样国内数一数二的人物,也没能再引发我当年那种对技术的无比狂热、无限憧憬,不能不说是个遗憾。

那时候编程语言的话,主要用Visual Basic、Visual C++,也接触了一些国际化标准,很超前,还有包括局域网这种概念,怎么样把电脑串起来,在这家公司我基本上都体验到。但这家公司后来挂掉的原因之一也是技术(idea/prototype)太超前了,从今天来看都还有点超前,定义了很多教育行业的标准(不只局限于校园网或国内教育相关领域),也做了一些 prototype(原型)。

第一段工作经历,对我个人的影响,直至今天都是巨大的,也让我在之后二十多年工作中,逐步看清了国内做软件或行业标准的无比艰难,从此不再有奢望。

这中间,我还经历过Leader离职,他也是创始人之一。那时候我很震惊,感觉是不是公司快倒闭了,因为有一天他突然跟我说,雪峰,我可能要离职,部门交给你了。我很懵啊,我都没管过人,但后来还算顺利,因为主要是CEO有人格魅力,对我非常信任。

极客时间:在第一家公司,你是自己在自驱地成长,还是说你前面其实有一个更强的人带着你成长?

张雪峰:我自己成长。我的领导人很Nice,他都是把任务甩给我的,就让我自己摸索,我在学校有C++基础。入职后直接给了我一个月,让我做一个制作课件的软件。

我自己用VC做,我VC上手其实还挺快的,因为我大四实习就用VC,但是独立做一个软件还是第一次,然后我就自己摸索,反正出了很多Bug,还把公司的一些东西误删掉了。后来我就自己折腾用恢复软件,好在恢复出来,没造成大的损失。反正就让我各种折腾,公司氛围主要是老板非常包容。

所以,还是回来说刚才的问题,我觉得每个人都要走自己的路。刚毕业,没钱、没经验,但是有时间,所以一定要多折腾,怕什么,你一个光脚的怎么能怕穿鞋的啊。

极客时间:你在第一家公司待了多久?

张雪峰:两年。后来第二家公司也是教育软件公司,做培训+考试的,这也影响了我之后对教育行业的持续关注。现在K12被双减,职业培训就上来了,但都是民间驱动的职业培训,我们那时候职业培训主要靠政府组织,相当于是政府的定点供应商。

我在这家公司的主要收获,不在技术方面,而在于收入翻倍。但现在看来,虽然工资高了,但是我职业方面的成长几乎没有。

生活上,我在第二家公司任职期间,当了丈夫,当了父亲,这也是比较大的变化。

极客时间:要说技术底蕴,反而第一家公司会更好,对吧?

张雪峰:那绝对,第一家公司甚至超过了我自己“掌勺”的饿了么,因为饿了么我有很多要迁就的地方,但第一家公司我几乎是可以“为所欲为”的。

刚才说了,第二家公司除了钱,其实对于我的职业生涯没有太大提升(接触Delphi是唯一亮点)。那时候才开始思考自己的成长问题,因为第一家公司给我的成长空间太大了,之后包括微软、饿了么在内,都没带给我这么大的技术成长空间,导致我的期望值过高,第二家公司虽然薪水双倍,但兴奋不到一年也就淡了,然后就投简历去了。

后来到第三家公司,让我知道了什么叫正规化作业。第三家公司算是外企,名义上是外包软件公司,实际上也是有自己核心的东西。他们是用B/S架构,后来才知道原来美国这么先进,人家B/S早就已经如火如荼了,我们国内还在C/S呢,真是落后。

现在你说AI、云计算这些是不是落后美国五年,我不好说,可能国内看着好像很繁荣,其实也有水分的。但我们那时候感觉真的是美国先进,他们包括3层架构、4层架构、N层架构,我以前只是听说过,没有实践过。

那时候还没有感觉外包公司那么烂,现在外包公司就不怎么样了。那时候互联网公司没人愿意去,就感觉朝不保夕,因为我们被2000年“.com”泡沫吓怕了,那会造个网站就能融资的,2000年绝大多数就挂掉了。尤其在上海,以前的毕业生大家都希望去金融企业,去世界500强。

不过,第三家公司我得到了晋升,很正式的,要去答辩的那种。我感觉那次的兴奋度超过了我在第二家公司薪水翻倍那次,因为双倍薪水的快感没多久就淡了,举个不恰当例子,那些财务自由的同学们,估计过阵子就淡了,心中依然期待财务双倍自由、财务无限自由。但晋升通过我是感觉很意外的,因为当时基本没抱什么期望,就当走过场,后来晋升了之后,就让我独立带一个项目,开始跑客户了,不是做销售,主要是了解、分析需求,和客户对技术方案。

我还记得我那时候的领导是一个女孩子,岁数比我稍微大一点,她英文非常好,我有一天跟她说我要走了,她说是不是去微软?如果你去微软我就不拦你了。那时,好多 .NET 程序员,最大理想就是去微软。

其实我去微软也有曲折的,去微软是面第二次才进去的。第一次面试对我打击特别大。其实我并不想去做顾问或做微软的架构师,我一直想做微软的研发,就做它的核心软件。微软那个时候有个成立不久的亚洲工程院(ATC),主要是做一些工具,比如Visual Studio,我很喜欢。当时面试我准备了很长时间,但最后没过,对我打击太大了。

那个时候,我一直期待邮箱里收到一封邮件说经过怎么样怎么样我们决定怎么样怎么样,但后来等了一段时间,终于等到了一封“感谢你”,之后整个人都不好了,很长一段时间没缓过劲来。

你看,这就是我经历的较大挫折之一,之后还有很多,包括饿了么期间。我真心觉得我天资普通,普通人怎么可能那么顺利呢?这次失败之后,我也在复盘、调整自己,当时我还想了挺多东西的。具体就不和大家说了,我想换作任何人,那个年龄,遭遇失败,都会反思。

失败没有价值,失败之后的反思和行动才有价值。

极客时间:那个时候你觉得自己技术很厉害是吧?

张雪峰:我感觉还行,我那时候写文章也有些读者,文章的阅读量也还可以。那会很少有左耳朵耗子这样的持续布道牛人,当时我们就自己买书研究,书都不便宜,比如说Windows核心原理、MFC编程这种东西,这些对我来说问题不是太大,也有兴趣研究。

后来第二次面试,面了5轮,我拿了Offer,去了MCS(微软咨询服务部)。当时这个岗位要出差,我那时候还比较傻,我说如果出差是不是要我自己出路费住宿费餐饮费什么的,有没有出差补贴就更不敢问了,老大说这怎么可能?全部是公司出。因为以前没出过差,就闹了这么个笑话。

极客时间:你在微软待了几年?

张雪峰:5年半,后来就出来创业了。其实我最后几个月已经跟北京的HR说我准备离职。HR说,“雪峰,能不能帮我个忙,最近离职太多了,我有指标压力,你能不能延到明年1、2月份,或者3月份再离职,或者到时候我们再沟通一次,能不离职就更好了”。

我说我现在没法干微软的活,我也不好意思拿微软的薪水,因为接下来上班时间我要去搞另外一个事情,她说没关系,你可以做你的事情,没有薪资,但公司给你交社保公积金,微软这方面做得还是非常好的,后来接触多了,发现名声好的外企这方面都差不多。也因为这件事,我知道了一个专业术语:No Pay Leave。

那时候发现还有这种操作,真的很牛。我后来在饿了么也尝试这样的办法,为了留住一些员工,我会说先让他做自己喜欢的事,哪怕回老家休息都行,我给你把社保交了,让它不要断。

这里,和年轻的朋友说下,社保真的很重要,千万不要等闲视之,即使决定要离职休息几个月,也尽量通过第三方平台自己续上社保。我面试的时候,对于断过社保的同学会打个问号,因为我会想,这哥们是不是目光短浅,还是说家里有几套房?

极客时间:微软这份工作给你带来最大的收获是什么?

张雪峰:我认为最大的收获不在技术上,而是在视野上。因为我进了一个需要去一线的团队,需要自己解决各种问题,我要跟客户去解释,你这100万花得很值,接触这些东西,让我知道这是在做一个Business(生意)。

我以前是一个很纯粹的工程师,虽然我在第二家公司第三家公司也去客户现场,但那只是了解需求,还是为了代码服务,但我在微软的时候,才知道做成一个Business有多么艰辛,哪怕已经完成签约、只是完成一个合同上的Milestone(里程碑)让客户验收通过、客户最终同意公司寄出发票、公司确认收到客户打款等等,都很艰辛。

刚进微软时太天真,以为只要用Windows或Office的客户,那还不是手到擒来?只要自己嘴不太笨、整体架构不太烂、适配好所有上下游接口(那时相当多精力需要花在这上面),IBM、Oracle这些公司不都得靠边站?但是最终,每次的客户现场,都给了我最大锻炼。说人话就是,分分钟教你怎么理解业务、做好乙方。

微软这段经历之后,我发现永远是人适应环境,不可能别人来取悦你或适应你。我那会也算做了半个售前(另外1/4个架构师+1/4个程序员),喝酒也是商业的一部分,这个东西只要在国内就很难避免,你就要去适应这个环境。即使我在饿了么有不小的“权力”了,但我也必须经常去适应别人(当然不是喝酒),还有业务团队。所以我变得真正发自内心愿意,而不是忍受地去适应,这是对我最大的触动和改变。

还有,我们经常说去大公司学技术,我觉得不只是这样。对于一个工程师而言,技术是立命之本,但商业、管理这些东西也很重要,有机会,你还是应该跳出技术,理解技术之外的东西。

极客时间:你刚才说忍受着去适应到发自内心地去适应,这应该是你成长中的一次变化,至少从微软这段经历来讲。

张雪峰:对,因为我以前也经常不能换位思考,比如夫妻吵架。其实我刚从阿里退下来的时候,我跟我老婆刚过两人世界,吵架反而越来越多,后来和好,我老婆跟我总结说,以前有你爸妈在带小孩,你又在外地,念你辛苦,回来你累得要死,我也不找你发火。现在闲下来了,火气越来越大。后来我也知道她只是要找一个倾诉者、倾听者,这在企业里面也类似。

我老婆和我有一阵子生气,两个人不讲话,就背对背用微信聊天,有时候我看她只要打表情包了,我就知道怒气稍微下去一点(笑)。换位思考、设身处地为对方着想,真的说易行难,我现在做得还很不够,但是微软这段经历可能是我一个转折点,我知道了商业的不容易,就是知道了在我角色之外的不容易。

这个词说的简单,我毕业的时候我就说我算是一个很能换位思考的人,因为我有一定的包容性,但大部分还是忍受的包容,你不爽的时候,其实就存在你要忍受了。但是微软让我感觉可以尝试着真的去站在对方的角度思考,因为真正和你因仇恨而撕的人能有多少呢?

很有意思,你看,就同样一个事情,你心态一变,结果马上就能发生变化。

极客时间:刚开始到饿了么整体感受如何?

张雪峰:饿了么我是很有感情,我不是饿了么第一任CTO,其实饿了么第一任CTO是科班出身的,听说他有点完美主义,跟现在很多架构师也是一样,希望完美地去上线,但是Mark(张旭豪)希望快点上线,先做出一个版本来(饿了么创业时就有MVP萌芽),我听说两人意见不一致。

后来是Raymond(汪渊)接任CTO,他的第一家公司并不是饿了么。他的经历很有意思(之前InfoQ还拍过一个短视频),汪渊在第一家公司干了三个月,然后他觉得没意思,自己也不能掌控一些事情,于是就离开了。这里我说个题外话,他第一家公司的老板叫黄峥,他的直线老板是阿布。所以我跟汪渊说,你到哪都是“真龙天子”。

他心胸很宽广,其实创办饿了么的这批人都能容人,格局很大,否则他们也很难接受我这么一个中年大叔,我去的时候已经40岁了,他们都是85后,还有90年的,要考虑到也许我们之间可能很难融合,但这个团队最终还是选择并接受了我。