大家好,我是findyi,前段时间写过一篇关于大龄程序员的文章:那些40岁的程序员都去哪了,引发了大家的思考和讨论,不少读者私聊问:除了这些出路,还有没有其他可能?
最近想起身边有一位年过35岁的朋友:军哥,军哥最初混迹小公司,薪资只有1000多,但通过勤奋和选择成长为贝壳的技术总监,而他应对35岁危机的方式更是有些独特性。
于是付费请他写了这篇文章,全文较长大约4000字,请耐心阅读,干货真心不少。
下面是军哥的自述:
从2005 年进入程序员行业,截止到 2010 年,我一共呆了 3 家公司,前两家都是程序员不到 10 人的小公司,另外一家是中兴通讯。在职场的初期,我跳槽算是很频繁了,主要原因就是穷,第一份工作保持温饱都成问题,这也是起点低的无奈。如果要去总结这五年,我的一些改变,我总结了以下三点:刚工作时,就 1800 的工资,除了吃饭房租基本没有剩余的。那个时候也想过搞副业,接私活说实话也真接到过,不过你怎么赚钱,为期三个月的一个项目才 5000,搞的自己累死累活。于是,我就在思考怎么赚钱,我想了一下只能提升自己的编程能力,然后跳槽。在工作中遇到很多的技术难题,我记得当时上csdn、Javaeye发帖求解,还认识了左耳朵耗子和南京一位技术大神,之后我有搞不定的技术难题,就找他们问,不过为了感谢他们,我也多次去他们城市见他们并请吃饭。于是建立了深厚的感情。曾经在csdn认识的一位朋友告诉我,你下班后的时间安排决定你的未来,我对此很不解,他就说你以后就明白了。在他的鼓舞下我开始买各种技术书籍,还有各种学习视频,经过如痴如醉的学习之后终于工资有了不错的涨幅,也跳到了当时还算不错的公司——中兴通讯,彼时的月薪终于达到7000元。
2010年3月,我加入 PC 电商 1 号店,这一待就是四年,这四年我从刚入职的高级开发、做到技术经理、然后做到公司架构师,真是以肉眼可见的速度在成长。但刚入职的时候,真的是非常困难,第一、公司使用的框架技术从没有用过,第二、我负责的业务我也是第一次接触。基本早上第一个到,最后一个下班,不懂就问老同事和业务人员并多次去业务现场,晚上回来还要坚持读技术书 1 小时,周末也是如此,就这样坚持了三个月,我逐渐上手了并且可以加速,负责的模块不但开发速度快,质量还很高,几乎没有什么线上 bug。又过了三个月部门老大找到我,说有一个开发 team 缺一个负责人,问我愿意试试不?说实话有这样的机会既开心又担心,开心的是可以带领团队打战了,担心的是怕做不好,毕竟管人我还是一个小白。那一夜失眠了,想了很久,第二天找到了老大说:“我愿意接受挑战”。从此我成了 TMS (物流系统)的技术负责人(共 3 人),然而刚上任不到 1 月,团队里仅有的 2 个小伙就要离职了,这让人哭笑不得。经过两周痛苦的反思,才发现是我自己事无巨细了,让下属没有了发挥空间。由于物流订单(5w 到 20w)激增,需要开发更多的业务功能和系统,只能疯狂招聘,那时候一边招人一边恶补管理知识,终于在半年后搭建了一只10人左右的技术团队。这期间发了一起比较大的事故,那次事故我和兄弟 team 的同事整整排查了一天一夜,一开始我认为是他们系统的问题,我只是来帮忙的,后来定位是我们系统的问题,原因是在数据库某张表过百万数据时,数据查询没有走事先建好的索引而走了全表查询,导致我们系统某个接口的耗时从 10 毫秒延长到 500 毫秒。接下来又花了一年的时间,我把老的系统重构升级,从之前的单点系统改成分布式系统,数据库重新设计,核心业务流程重新设计,还给中国平安开发了新的 TMS 系统,那段时间真的充实。当团队和业务进入稳定状态后,我却陷入迷茫,虽然对 B 端系统经验逐渐丰富了,可是我对 C 端高并发还是很陌生,我想每一位技术人都很憧憬 C 端的海量用户带来的技术挑战吧。另外我感觉自己太年轻就走向了管理岗,而各种底层技术比如高并发、高可用却并不深入。我毅然决定放弃管理岗位,内部应聘 C 端核心交易部门的架构师,在经过与负责人面谈并和 CTO 面试后,终于如愿以偿。刚转过去的三个月那种焦虑感又回来了,第一、C 端业务不熟悉,第二、对 C 端的技术架构说实话只是停留在看书水平,第三,很多开发同事还会找我问各种技术问题、线上问题需要我来协助排查。焦虑之余静下心来把 C 端的核心代码都看了一遍,包括会员体系、SSO、购物车、订单、库存、商品、营销和第三方接口服务等等,核心代码 3 万行以上,这让我对 C 端技术有了深刻的认识和实践的机会,之后开始负责秒杀架构设计、订单分库分表改造设计、用户库和订单库拆分、分布式缓存优化等设计。也正是这一次历练,让我的技术视野(总结一下就是异步 + 消息 + 队列 + 缓存 + 高可用/高并发)和 C 端产品的理解和业务有了飞速的提升。回顾这四年,我的职位从高级开发——技术经理——架构师,经历了太多事和人。不断走出舒适区,不断挑战自己,人生不就是这样吗?一直在路上......2014 年初,1号店管理层变动频繁,工作也越来越不开心,经朋友介绍,离职加入一家 P2P 公司任首席架构师。在这家公司我把之前积累的技术输出了一次,技术没什么提升,值得说的就是这家公司比较传统,老板把人当成工具,在经历多次内斗、站队之后,我选择退出:玩不过他们只能选择跑了。2015 年 4 月,我加入饿了么担任技术总监,入职之际只有自己一个人,堪称光杆司令,随后不断组建招募团队,在半年后组建了几十人的技术团队。在饿了么经历过三次组织架构调整,三次换领导,每换一次领导如同再过一次试用期,如履薄冰,不过这些经历让我成长加速。2018年三月我因为个人原因离开饿了么,这 3 年多的经历,让我在技术和产品广度、深度、商业思维等方面都提升很大,对于管理团队也有了自己的经验和方法论沉淀。我非常感恩,曾经的 CTO 如此信任我,让我有机会从 0 到 1 操盘公司多个战略级的产品,也认识了众多优秀同事(他们来自腾讯、滴滴、阿里、facebook、linkedin),从他们那学到了很多经验让我受益终身。我的最后一份职场的工作是在贝壳担任技术总监,在贝壳待了一年多时间,同样经历了公司各种组织架构调整。这个时期,我在技术、产品、管理上都已经有了很不错的积累,薪资收入也挺不错。在其他人眼里看起来,这个人应该知足了,但一种痛苦、焦虑感却开始折磨我。在职场经历了这么多之后,我发现职场的沉浮真的是完全不受控制的,商业、业务、领导、政策有一点点变化,带给打工人的可能就是推倒重建了。在贝壳工作不到两年,我选择了离职单干,想在人生的下半场能扼住命运的咽喉。我做的事情是自媒体+商业咨询+产品创业尝试,算是自由职业吧。
1、通过自己的爱好或者其他优势,至少要找到两件可以持续赚钱的事
我通过自己写作和爱思考的优势,通过写公号一年多时间做到了五万粉丝,光这块的收入已经超过我当总监的现金收入了。
另外我还给一家上市公司做技术和产品咨询,一周就去一次,但是收入比之前当总监还高,这两项加起来就是以前打工时工资的 double 了。
同时我还在奈学教育当兼职讲师,希望自己的知识、经验可以传授给更多人,让更多人受益。
这个过程我发现离开大公司也可以获得相同甚至更多的收入,真正的能力完全可以不依赖于任何公司或平台。
2、多读书、多向优秀的人学习
我平时喜欢读书,一周至少要看一本书。而且我看书都是喜欢带着问题去看书,而不是随意找一本来消磨时间。
看完书后,我会写读后感并把书的主要内容用思维导图来加深记忆,之后就是将知识进行实践。
另外通过写作我认识了很多优秀的人,比如易总、右导等大佬,更开阔了视野,他们都身在大厂且积极分享自己的知识和见解,并且他们副业收入都非常可观。
总之就是不断向牛人靠拢,不断进步就对了。
3、技术不是唯一,技术要么是我们的兴趣、要么是赚钱工具
程序员也罢,架构师也罢,技术总监也罢,我都有所涉足。我非常怀念当程序员的日子, 让我有了很好的逻辑思维和结构化思维能力,让我可以很好的去解决很多确定性的问题。
当我负责产品之后,又不断补充自己的产品思维、商业思维的能力还有对人性的洞察力,从而一次次面对很多不确定性的问题并将其转化为确定性问题。
这个过程挺让人兴奋,一旦一位程序员的拥有了这样(产品和商业)的思维,可以说就是拥有了更广阔的天地。
未来我大概率还会自己创业,目前已经在筹划自己的产品,未来的日子,邀请大家一起见证。
写在最后:
受易总邀请,回顾了自己亲身经历四个重要节点,总结一下:
1、职业规划很重要,找到自己喜欢的方向,然后坚持才能拿到结果,这可能需要的 10 年时间。
2、技术只是起点,不是我们技术人的终点,想要往上爬,请注入产品和业务思维,并且我们每个阶段需要的能力并不一样。
3、一般来说,要想「成长」就必须经历「痛苦」,经历的越多成长越快。
4、不断走出舒适区,坚持终身成长,另与优秀的人为伍或学习,做一个靠谱的、真诚的人!
一直在路上,共勉!
洋哥唠叨:
军哥在技术层面和管理层面都做的很不错,但我更佩服的是军哥敢于不断挑战自己的那份勇气。