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