这一期的话题很早就想写了,其实是对整个程序员生涯的一个复盘,但复盘这么多年的过往一定是个大工程,懒癌始终让我无法动笔。
最近新读者越来越多了,很多读者上来就会问我在哪工作呀,对新入行的程序员有没有什么建议之类的问题。一个个回复真的累的慌,那就给所有老板股东们汇报下过去多年的职场经历,也让大家更了解洋哥呀。
这篇详细拆解了洋哥每一段工作经历及得到的认知和洞察,全文超过5000字,阅读需要一点点耐心,相信或多或少会有收获。
好了废话不多说了,我们开始吧:
1.初入腾讯
2008年硕士毕业就加入腾讯游戏部门了,也算开局比较顺利,哪怕是在我们那个985计算机硕士还比较稀少的年代,毕业进腾讯勉强也能算top 25%。
能加入腾讯有一个很重要的原因:刷题+计算机体系基础知识牢固,这里前文讲过不少,就不啰嗦了。
重点强调下校招其实是可以临时抱佛脚的,那时候在面腾讯之前,我把刷过的算法题重新看了一遍,没想到面试官问的两个算法题都是我做过的。
最近秋招结束了,明年的春招马上也要开始了,还在找工作的朋友要加油了,关于应届如何进大厂大家可以看看这篇旧文:CS年薪百万,YYDS? (opens new window)。
在腾讯的工作是非常繁忙的,每天基本都是11点下班,周末跑去加班会发现同事都在,项目排期都是倒排,老板直接告诉你deadLine,我们的老板要求也巨高,一不小心就会挨批,卷是真的卷不过收获也很大,在工作的第一年养成了精益求精、使命必达的职场品质,这些品质在随后的职场生涯中让我受益匪浅。
2.北上加入人人网
2009年在人人网工作的师弟小强的一个电话让我产生了跳槽的冲动,彼时的人人网刚完成4亿美金的融资,正准备冲击上市,这一下就吸引了我。
彼时人人网的极客非常多,比如今天方正证劵的CTO曲浩大神、微软大佬穆总、现在担任腾讯的技术专家的欢哥、移民加拿大顶尖公司的小白等等,相对来说公司也不怎么加班,大家基本到点就走,氛围非常轻松愉快。
在人人网我开始带团队,领导欢哥给了我一个任务:研发人人游戏大厅,是一个网页版游戏大厅要用到很多插件技术。
刚接到任务之际压力非常大,毕竟之前没接触过插件技术,能力不行加班补,并且在腾讯的经历也让我形成了自觉加班的习惯,这个习惯也影响了我很多年,是好是坏暂时不表,最起码在人人网那段攻坚时间,这个习惯让我扛住了压力,按期将人人游戏大厅推上线了。
上线后,这个产品一度做到100万日活,领导们对我也非常满意,半年时间连续拿了两个A级绩效,同时给我的团队加了两个人。
这个时候还算春风得意,刚毕业1年多就担任技术组长了,并且得到了老板们的支持。
但接下来发生了一件很意外的事情:公司COO在一次宣讲期权政策中透露,后续的期权授予将减少,甚至不再授予。
这和当初HR的承诺直接矛盾了,感觉就是被坑了,这之后我开始心猿意马,感觉初心无法在这家公司实现了。
恰巧人人游戏大厅需要查杀功能,老板们选择了和360合作,合作完之后,对方开始挖我。
从各方面了解到360的信息:发展迅猛、老板大方、员工能力强,我迅速做出离职加入360的决策。
今天回看这个决策,充满了风险与挑战,因为毕业1年7个月就跳槽两次,一旦跳槽失败,可能就是万劫不复了。
幸运的是,后来的经历证明了这次跳槽是对的。
3.360的那五年
我在360工作了五年,伴随360从500人发展到1万人规模。刚加入360担任高级工程师,离开的时候管理整个部门的产品技术,几十人的团队承担了6个产品业务。
在工作中我不会给自己设置边界,刚进360我是一个码农,但会很积极的参与到产品的讨论中。
我们部门做的是远程人工修电脑业务。通过公司研发的远程控制平台,由我们的电脑专家给用户远程解决各种电脑问题。
我发现我们的支付流程有好几步,这个过程用户流失严重,于是我做了一个JS注入帮用户自动输入后续的步骤,用户输入一次之后就会看见一个支付流程动画,等待几秒后支付就完成了。
这个改动上线后的第二天副总裁发现公司销量涨了30%,一问才知道是我主动做的优化。
从这以后副总裁就特别认可我了,进入360半年后赶上发期权。副总裁直接给我争取了总监级别的期权,并且很快让我担任技术经理。
在360,我完成了从技术骨干到二级管理者的跨越。技术骨干其实相对单纯,比如3q大战的连续通宵编码,和腾讯打攻防。
从技术骨干跨越到一级管理者,有三点最重要的改变:
团队贡献者思维替代个人贡献者思维
深耕技术的同时,熟悉业务,了解产品和商业
从管理自己到管理他人的跨越,开始教练员工和提拔骨干员工
一级管理者跨越到二级管理者也说三点:
深刻理解商业、业务、产品,并开始用技术驱动业务
时间管理上,放更多时间在重要且不紧急的事情
从管理他人到管理经理的跨越,技术视野更开阔,对其他职能的了解更深入
在360还有个很重要的心得:「技术驱动生产力的进步」:
中国最快的远程控制软件
在360周鸿祎要求我们要把远程控制做到极致的快,于是我们开始自研远程控制软件,从各种角度出发去提升远控的速度,技术角度挖掘完了,我们就从产品流程角度去创新:
(360远控软件的优化方案)
这个方案,是产品和技术的深度结合。传统远控软件是传整个用户界面到云端,我们把用户界面等分成36块,每个小区域产生改变才上传
这个方案结合图片压缩传输优化,我们的远程控制软件的控制速度做到了行业第一,实现了单点突破,形成用户口碑,进而击败竞争对手。
AI替代人力提升10倍运营效率
我们在分析电脑专家给用户远程修电脑的工作场景得出一个重要结论:90%的远程控制工作可由自动化方案解决(AI远控操作)。随后,我们研发了一套和AI结合的远程修电脑的方案。
通过技术实现自动化方案,首先通过AI自动回复及分析,拦截50%无效用户问题。真正需要远程介入的用户问题分配给电脑专家后,先自动分析用户电脑情况,运行自动化AI程序。只有当用户感觉电脑没被处理好,按下求助键,这个时候才真正让电脑专家介入。
这样一套解决方案,直接让我们的电脑专家每天处理的用户量提升了10倍。也就意味着原本需要500人的团队,一下只需要50人。这套系统给公司节约了巨额的运营成本。
(我们研发的远控自动系统架构示意图)
技术和商业、产品、业务深度结合所产生的巨大推动力,是难以估量的。这也是技术人最值得骄傲和自豪的点。
4.创业做手游
2015年,深感360已经成长为一家巨头公司,而我依然是创业者的工作方法,这种工作方法和一个成建制的组织格格不入,我也开始各种不适应。
这之后我决心创业,说干就干,很快离职拿到500万天使投资,组建团队开启游戏研发,很快我们研发出一款画质、流畅度都非常高的2D卡牌对战游戏:《死神Q传》:
虽然创业做了CEO,公司有20多个员工,编程依然是我的热爱,技术攻坚我依然冲在最前面。
这期间我们尝试过2D手游、2D对战游戏、3D格斗游戏,无奈最后惜败,这段经历大家可以看看我的这篇文章:一个价值10亿的教训 (opens new window)。
这期间,错过了巨大机遇后,公司要转3D研发,从没接触过Unity 3D的我,依然冲在最前面。找专家咨询、自学,一时间又是997的节奏。
当我们的第一款3D格斗游戏demo跑起来的时候,那种荷尔蒙的感觉再度袭来!
手游创业随着风口和环境的变化,最终失败,2016年底我将公司出售给一家金融巨头。而直到今天,曾经建的《死神Q传》玩家群还有人在问这款优质游戏为什么要关闭?很无奈,从某种意义上来说,我征服了代码却无法征服商业。
5.第二次创业
2017年年底,和赶集网创始人之一的刘洋一起合伙创业(赶集网40亿美金出售给58,这位大佬已经财富自由),融资一亿,做少儿在线教育。刘洋要求产品在1个月内上线,彼时我带着10来个技术快速攻坚,基本住在办公区。
直播系统(第一版非自研)、教务系统、教学系统、一个小的CRM系统、网站等等,这么多系统,时间就只有1个月。还记得出来创业的时候已经临近过年,只好放弃休假,大年30都在编码。
最后,我们真的在一个月把公司的产品做上线了,2018年年初,第一个用户付费使用我们服务,那一刻真的是开心无比。
这一次创业我们可谓是兵强马壮,但很遗憾因为各种问题依然惜败。
这次失败之后,我认识到创业成功真的是一个小概率事件。
5.担任独角兽公司VP
18年我加入哒哒少儿英语,担任技术VP和创新事业部总经理。在哒哒少儿英语,我完成了二级管理者到三四级管理者的跨越,第一次开始带接近100人的团队。
上任的第一件事就是参与重构整个公司的架构,深入了解了下,我们首先把公司当时的架构画出来了,简单点说就是个大泥球架构:
这家公司的数据库是单库模式,一张表就有几百个字段,简直搞死人。
当时公司已经惨到只要改一个功能就得测试2周的悲惨境地,线上出一个故障技术团队更是惶惶不可终日。
耗时2周我们才完成第一步:深入了解了这个大泥球和对应支撑的业务。
接下来耗时1个月,采用ddd领域设计:
在充分了解业务之后,基于领域模型,我们做了对业务的拆解:
接下来我们最终确定了新架构的六大关键元素:
- 前端业务模块
- 支撑业务模块
- 核心业务模块
- 中台服务模块
- 平台服务模块
- 基础架构模块
基于领域模型的拆解,我们还确定了六大关键元素之间的并列、包含、支撑关系。
然后我们设计出了新的架构:
以上,是我们确定的公司的新的技术架构图,紧接着团队攻坚3个月,按照架构图的设想重构了公司的技术框架。
重构完成后,公司的程序员们再也不用为了一个bug拔光自己的胡子了。
完成重构后,老板指派了一个新任务:负责dadababy业务,从这个任务开始,我从一个技术管理者步入了业务管理者的行业。
在哒哒另一个关键字是裂变,在哒哒可以说实践了几乎所有的互联网C端裂变方式。一年左右时间,0成本做到了100万用户量。
在这个过程中也让我对互联网运营有了深度了解。详细裂变方法和过程,大家可以看看这篇聊聊用户裂变的那些事 (opens new window)
在哒哒,我才真正理解战略上的勤奋思考和聚焦要比战术上的勤奋重要太多。特别是业务决策者,必须具备真正的战略思维。
6.第三次创业
创业的确是一件可以让人上瘾的事情,在哒哒工作了一年多之后,这个心瘾又开始折磨我了。
在一个好友的推荐下,认识了土豆教育CEO,在对方的热情邀请下,我加入了这家只有200人的公司,担任CTO。
加入团队后首先重组了产品技术设计团队,引入了数名非常优秀的小伙伴。其中有几个产品技术小伙伴,放到上市公司都能到总监级别。
其次,参与公司战略制定,并根据公司战略制定产品的战略和打法,明确了未来3个月,半年,一年的产品目标。
再次,梳理了产研流程,搭建了敏捷研发及发布体系,工具的使用,推动团队数据驱动思维的转变。
进公司发现团队已经在使用微服务架构,基本属于一个子功能一个微服务,服务端团队没多少人,微服务倒是有几十个。这半年,我们砍掉及合并了10来个无用的微服务,并从业务角度重构了我们的服务架构。
服务重构前:
服务重构后:
重构主要解决了以下问题:
- 服务耦合,通用服务没有抽离
- 服务分的太多,服务治理及维护成本高
- 用户服务没有统一的入口,管理混乱
- 分层混乱,没有面向业务的分层思想
重构后的服务体系应该能支撑公司业务后续2年的发展。并且我们是在优先支撑业务需求的前提下做完整个服务重构。
我们的大刀阔斧最终在C端产生巨大效果,实现用户量扩大10倍,公司内部的支撑产品也走向正轨。
这次创业的前半段非常顺利,公司产研运营体系在我的推动下日趋完善,公司的业绩也突飞猛进,但这一切在黑天鹅疫情之下戛然而止。
疫情发生之后,出国业务近乎冰封,这期间公司的一切开始变得困难重重。
7.加入网易
2020年,是我创业的第N个年头,这些年做过小公司CEO,再到A轮公司的联合创始人,属于屡战屡败、屡败屡战。
我开始焦虑、反思,并不是因为收入少了,而是反思能力是否能够支撑创业这件高难度的事情。
最后我不得不认清一个现实:创业成功是个极小概率的事情,比起期待成功,更重要的享受创业的过程。
那么,我还享受吗?答案是显然是否定的。想清楚这些,我决定回归打工人行业继续充电。
好巧不巧因为网易有道CEO周老师看见了一篇我写的公众号技术管理的文章,并转发到网易内网:
这之后网易HR开始持续联系我,最终我也选择了加入网易。
加入网易这一年,负责的业务是公司最核心的业务之一,依然压力山大,但这种压力跟创业真的不一样。
毕竟,我不再需要操心公司财务、员工工资、办公房租和水电费,对不对?
我只需要专注个人成长、团队成长、公司的业务成长,即可。在一个相对宽松的环境,继续高速成长,对现阶段的我而言,尤其重要。
当然打工的生活也不是风平浪静,今年我们遭遇了双减,团队也在艰难转型中。
在网易具体做了哪些事,推进了哪些东西,现在的确不方便说,留到日后有机会再给大家说。
最后唠叨几句:
过去十三年,我做过程序员、技术经理、技术总监,也带过产品运营团队,也经历过创业失败的绝望,最近两年转型业务管理者,但程序员的初心永远没有迷失。
当腾讯的游戏上线之际、人人游戏大厅突破100万用户之际、360的产品日活破千万那一刻、创业的游戏有了第一个用户之时,那种喜悦,真的只有程序员才能体会。
一直到今天,毕业之际的梦想依然无处安放,但我早已不再焦虑:每个人的起步和节奏都不一样,但每个人又是这个世界独一无二的存在,满满奋斗、满满探索,这一生找到自己就很好!
今天这篇可能是最近一年写的最长的文章了,希望对大家有启发、有帮助,也感谢大家一直以来的支持和陪伴。
更多原创:
腾讯收入证明泄漏,税后250万,月均20万... (opens new window)
**摊牌了,再见! (opens new window) **
PS:最近腾讯公众号正在改版,会引入更多推荐算法,这意味着很多读者不一定能收到订阅过的公众号推送,大家方便的话,建议将洋哥的公众号设置为星标,以防失联。