程序员中的老司机们,30 后的路该开向哪里?

2017-12-29  叶顺平 

程序员中的老司机们,30 后的路该开向哪里?_第1张图片


我是程序员,也是老司机。我已过而立之年,也还没过而立之年——年纪是到了,却还没有立,不论是立德、立言还是立功。你问我慌不慌,我问你路在何方。


我当程序员数数日子,八年有余,自封老司机也不算太过分,至少写过的代码比吃过的盐多。那些碰到过的臭虫,被指派的需求,请求的网页,搜索的问题,都是沿路的风景。你问我风景美不美,我问你前路在何方。


我写过客户端、做过网站、写过后端服务,踩过的坑,多过别人埋过的地雷。网页开发很无聊,客户端适配也枯燥,服务器高并发只能靠重启。你问我焦虑不焦虑,我问你午夜加班键盘声,是不是如同窗外蛙鸣焦躁不安。


你问我迷茫不迷茫,我问你前方该左移还是右移。


30 了,写代码十年八年了,老司机们 coding 的时候很熟悉左移和右移,但是开车到这个年纪……想想当年读着侯捷的书,看着人家「左手程序右手诗」,羡慕着他的功成名就,文笔风流。到如今,开始流行「左手右手一个慢动作」,动作一慢下来,就开始在想:


30 岁以后的路,该怎么走?是该继续码代码,还是转管理?还是左手程序,右手做点其它的营生?那几年以后,左边的手艺是不是该放下了?还是勇敢创业?30 岁后的路,该左移还是右移?


代码能写一辈子么?这是个问题。英国的莎士比亚并没有告诉我们答案。85 年的我,身边不少 30 岁左右的程序员。一起看看,在写代码的这条大路上,老司机们的焦虑和迷茫。


左:代码写到底?右:果断转管理?


不少朋友,30 左右,开始考虑是否要转管理。左转还是右走?


向左转有什么好处?让我们来看看:


代码写到底,生活简单。


升高级工程师,升架构师,升资深架构。从技术菜鸟,到技术大拿,到技术大神,一路打怪升级,也算是技术人的封神之路。


管理做不来,沟通好累。"与人斗,其乐无穷",只是可惜,咱欣赏不来。


开会好无聊。一天到晚各种开会,人生简直各种虚度啊。


有的人很喜欢写代码,总感觉写代码的时光是最纯粹、最幸福的。


管理比较虚,后面不好找工作。技术积累一步一个脚印,这家挂了,还有下一家。


程序员中的老司机们,30 后的路该开向哪里?_第2张图片

程序员中的老司机们,30 后的路该开向哪里?_第3张图片


上图是网传的百度薪资,你看,技术层级蛮多的,够打怪升级很久了。不少人天池有限,可能到 T7 左右就到尽头了。不过别丧气,T7 package 上限也能到近百万了,北京房价是贵了些,但是买个小房子过一辈子总是没太大问题。非技术行业的人,能搞定年薪百万的又有多少?

向右什么好处?让我们来瞅瞅:


代码写到一定层次,发现也就那么回事。


技术转管理,新的挑战,新的趣味,还能接触各种管理层,扩展人脉。


我就是这么外向,管管人挺有挑战,挺有趣味。


管理人是们艺术,而写代码只是技术。艺术是活的,代码是死的。


走管理,未来创业可以当 CEO,而走技术,未来创业,更多的是 CTO。


程序员中的老司机们,30 后的路该开向哪里?_第4张图片


我身边的朋友,面试过的人,多少也有类似的困惑。


有些朋友,在三五百人的公司做管理,类似总监角色,管几十号人,技术中等,薪资和高级架构师差不多,五六十万的样子。朋友觉得公司发展一般,偶有混日子的感觉。身边不少同事都跳槽去微软百度之类的,转纯技术了,他依然坚持做管理。


做管理不容易,找方向,做产品,执行,人员招聘,和老板争取员工福利等,都是你的事情,可能不用忙着写代码, 但是心也容易累。要是一个技术岗位摆在他面前,年薪 100 万,你问我他跳不跳槽?我相信肯定跳。从这类技术人可以看出,技术不见得薪资低,管理不见得钱多事儿烦心事少。选择路径的时候,要看到好的闪光点,也要看到潜在的烦恼三千。


有些朋友,技术中等,能大概知道技术选型和解决思路。一线指导不行,不过指下方向,几个技术讨论没有结论的时候,拍板决定还是没问题的。这位朋友就很擅长管理,知道怎么招聘,知道发现人才,知道怎么给有能力的技术空间,知道怎么激活团队氛围,知道怎么给优秀的人奖励,知道怎么处理好团队和老板的关系。


总之,技术好的人,不会觉得他技术差,不配当自己领导,反而,觉得自己的能力容易施展,有的甚至怀有知遇之恩。这类人就挺适合当管理的。他当过两三家公司的 CTO,能说话,会演讲,擅长鼓舞士气,在朋友中算颇有人缘。这类人,天生适合转管理。


程序员中的老司机们,30 后的路该开向哪里?_第5张图片

年薪五六十万,不高也不低,后来觉得无聊,跳槽去 BAT 或者 微软了,反而一身轻松。可能不再带人了, 也可能带的人少了,两三个,三五个,人是少了,带的人水平却高了,产出高,沟通简单,写代码真心爽。这类朋友,就挺适合走专家路线。


凡事有利有弊,别人适合转管理,不代表你就适合当领导。30 岁的你,在考虑转型之前,不妨问问自己几个问题:


我真的喜欢管人吗?


你善于管理自己么?


我看会的时候是不是经常在写代码?


我是不是讨厌开会?


自己实现代码,实现产品功能,或者生活中的问题,我是不是莫名的满足?


碰到别人问自己各种难缠的 Bug,我是不是很喜欢解决?


我擅长帮助别人解决问题么?


我擅长沟通么?别人是否喜欢问我问题?


我在学生时代是否当过计划班干部?


管理的人越多越有成就感,还是越少越舒服?


管理的价值是什么?给团队带来的价值有哪些?


想清楚上面的一些问题,可能适不适合转管理,你自己就有了答案了。时间的路有千千万万条,条条大路通大道。希望大家都能到适合自己的路。


左:做工程?右:转算法?


我虽然工程出身,不过也涉猎算法,面试过的算法候选人也有几百个了。有一个面试的原则是,算法得在白板上写写代码。不写代码,那是耍流氓。不是说模特都开始学习 Python 了么,光简单写写 Python 脚本,就敢号称自己是深度学习的高手,那我们找一个数学系的学生得了。


人到 30, 虽然还不算人到中年,还不需要保温杯,不过前路到底如何走,也是操碎了心。身边有不少朋友,觉得自己写不动代码了,打算转算法。


总结了一些写代码的人想转算法的理由


算法工资高,年薪几百万美金的科学家不少。


算法可以长久做,很多科学家都是大器晚成。


担心自己再过几年写代码真写不动了。


写代码的市场竞争力在走低。


写代码有点过时了,现在人工智能和深度学习这么火,应该趁热打铁。


目前是算法工程师溢价的最佳时期,正如是人工智能泡沫最大的时期(假如有泡沫的话)。


有个朋友他目前所在的团队,工程是他从业的公司里最好的,比一些大公司还出色。跟我说基于一些考量,想找个专注做算法的工作机会。我说,其实我身边不少做工程的人,都能拿到年薪一两百万。你身边专门做算法的,现在能拿到年薪百万的有几个?朋友已经做了决定,怎么劝都没用。


很有意思的是,我之前面试过一个学生,算法基础很好,在微软实习过。但是他觉得做算法很无聊,学不到太多工程的经验,大部分时间在调整网络结构,调试模型参数,跑实验,改脚本。想找一个能好好写代码的工作。


可见,你想往东走,可能东边的人正想往西走。如同围城,城外的人想冲进去,城里的人想逃出来。各有各的苦恼。做工程就一定比做算法差么?事实并不见得:


1.工程的工资也不低。


谷歌传奇 Jeff Dean 就是偏工程的大佬,他的工资可不见得比任何机器学习的大佬低。能搞出谷歌三大神器(Bigtable, Mapreduce, GFS),做出机器学习平台 Tensorflow,照样牛逼。算法不够好,我们不妨了解算法专注工程啊。算法也需要训练、GPU、分布式、存储、嵌入式,都是工程师的机会。


程序员中的老司机们,30 后的路该开向哪里?_第6张图片


2.不见得每个做算法的都可以长久


算法干得长久的固然有,但不见得每个做算法的都长久。举个简单的例子,大家回顾一下整个数学发展,出过的少年英才多,还是大器晚成的数学家多?高斯,欧拉,伽罗瓦,阿贝尔,哪个不是少年成名?


算法更新较快,更需要创造性。我敢说,国内的大部分公司,并不需要科学家,也请不到称得上"家"称号的科学家。原因很简单,聪明的工程师看看论文也能实现出来。做得快,训练快,调试快,各种超参数、网络结构等快速做实验,靠工程能力,快速高效搞定优质的大数据,效果比什么都管用。


3.工程师究竟能写到几岁


程序员中的老司机们,30 后的路该开向哪里?_第7张图片


程序员中的老司机们,30 后的路该开向哪里?_第8张图片

C++ 之父


4.写过的代码,都是你的财富


写过的代码版权归公司,但都是你的财富。写一百遍一样的代码,没法增值,但是踩过一百个不同的坑,就是你独有的经验和价值。刚毕业的人没法有,正如刚毕业的人没法有岁月雕刻的皱纹一样。


有一个很有意思的问题,我面试的大部分工程师,哪怕比较资深的,对机器学习都没什么概念,别说 DNN,CNN,LSTM 等,对决策树,SVM,CRF 也完全陌生。相反很多北大清华的应届生,对这些目前热门的机器学习算法都比较熟悉,不少在相关的领域中,使用这些算法发表过论文。换句话说,年轻人搞新算法更有优势。


5.人工智能和深度学习这么火,工程要趁热打铁


程序员中的老司机们,30 后的路该开向哪里?_第9张图片


6.泡沫总会过去


泡沫,总是容易过去的。等你学好了吴恩达的机器学习课程,做好了面试准备,可能到时候你的竞争力还不如普通架构师值钱。


上面泼了这么多冷水,不是说做工程的转算法就不行。什么样的鞋子适合自己,穿一穿就知道了。给几个自己的看法:


AI 公司很多,这些公司的工程师职位更多。


不要什么热抢着去做什么。安卓热,你做安卓,小程序热,你怎么不转小程序?


算法好的,不妨学学写好代码。代码的优化,对算法的效果也很重要。


工程好的,不妨学学算法,看看机器学习的资料和论文,了解常见的 Task 使用的算法,了解主流的机器学习算法、工具、平台。


是武学奇才的话,不妨练练老顽童的双手互搏,算法和工程兼修。向谷歌大牛 Jeff Dean 看齐。


擅长什么,不要放弃。擅长工程,就不要眼红人家搞算法的。坚持到底,路才能更宽,走得更远。


左:打工赚钱? 右:创业冒险?


当技术积累到一定程度的时候,大部分人都会技痒难耐,考虑创业。原因有几个:


给别人写代码,期权从几千股到几万股, 比例从毫不知情到万分之几、千分之几就不错了。自我感觉很好,但并不是创始人,也不是早期员工。高回报和自己关系不大。


公司发展很快,不代表自己发展很好。


你需要给自己一次超越领导的机会,需要一次弯道超车的机会。


你喜欢什么事情你来安排,你说了算。你不喜欢别人指指点点,尤其是那些不那么让你服气的人。


你喜欢冒险,未知的世界真刺激。


你喜欢挑战,挑战技术、管理、产品、运营。在全方位的挑战中,你的阅历得到丰富,思考得到升华。


你有好的产品想法,想要让它在你手里变成现实。让用户喜欢、受益、着迷享受,你喜欢着用户的喜欢,你忧伤着用户的不便。


……


30 了,写过的代码如同作家,早已著作等身。30岁的你,坐在冷板凳上,可能写过了网站,写过了 Java,写过了 C++,甚至也赶上了机器学习、深度学习的热潮。你发现,你需要更大的挑战。于是,很多人创业了——不管是万事俱备,还是仅凭一腔热血,总之,你冲上去了。听说创业成功的比例万中无一,但是你管不了那么多,且行且走吧。


一些朋友,是连续创业者。十个人以内的小团队,坚持好几年,这个项目不见起色,就换另一个项目。什么都需要自己干——融资自己想,项目自己拉,招聘自己做,核心代码自己上——真累啊。有些人坚持了几年,产品没用户,收入不见增长,终于放弃了。这类朋友,可能加入 A 轮后的公司,当个技术负责人。也许了此余生,也许只是短暂的休息,等待下一次的创业旅程。


程序员中的老司机们,30 后的路该开向哪里?_第10张图片


面试过几个候选人,在创业公司当过 CTO或者合伙人 ,技术深度一般,擅长的是技术广度。其实很多创业公司的产品,技术含量并不高,哪怕你做了前端,又管理后端,你的能力在市场上不见得比 BAT T6 以上的高。加上天天会议,代码生疏,技术深度并不够,大公司的高管你搞不定;A 轮+明星创业公司,技术总监你也搞不定。这几年忙各种需求,人工智能的算法也完全陌生。这类候选人,也许三四年前在 BAT 是 T6 的级别,面试过后我们也只能给到 T6 的待遇。因为没有人会为你全面但不突出的能力买单。


每个人都有自己的路,别人的路不一定合适你,适合你的路也不一定适合别人。大家都需要根据自己的能力,心态,综合决策,再做出是继续给别人打工,还是单枪匹马出去闯江湖。


张爱玲说,「出名要趁早」。你看 00 都开始创业了,再不创业,眼看就成老老一辈了。不过,成名的毕竟少数,创业成功更是凤毛麟角。30 岁左右的我们,在放弃稳定的工作之前,也先别慌,了解下行业,了解下商业,再决定要不要踏上创业这条孤独的不归路。


不创业,也没问题。平凡之路,也有其幸福,有其荣耀。


左:打工赚钱? 右:创业冒险?


互联网是高科技,高科技是第一生产力,生产力高,自然薪资也高。于是,这几年,互联网行业水涨船高。尤其是人工智能时代的来临,各行各业都开始忧虑了起来:我们行业会不会被 AI 取代?要不被取代,如该何想办法和 AI 结合?AI + 农业怎么样? AI + 医疗怎么样?AI + 教育呢?AI + 传统零售呢?总之,三百六十行,行行出 AI 。


互联网这么火,人才这么贵,那么为什么还有很多人要离开互联网,转行到传统行业呢?想了想,至少有以下原因:


互联网太累。累了容易过劳死,累了还容易脱发。君不见,互联网行业的写字楼电梯里,经常看到生发的广告—— XXX,这是一个神奇的生发灵药。


互联网竞争太激烈。做个团购,一下子涌现出来几千家,最后剩下一两家。做个互联网金融,出来一波就是几十几百家,一死便是几十上百家。做个智能音箱吧,大厂小厂,先别管有 AI 没 AI,大家一起上啊先,马上形成百箱大战的局面,红海一片,过几年肯定也是哀鸿遍野。


互联网技术更新换代太快。前几年还学着 ASP.NET,过两年就开始学 C Sharp,学完了C Sharp,还没见自己犀利( sharp )起来,大家又开始集体玩 Java了。写 C 的人写代码的日子加了几年,开始学 C++,转眼 C++ 的那拨人,又学谷歌内部发明的 Go 语言。


互联网人太单纯。单纯本来没啥不好,但是有了孩子,有了社会关系,太单纯就不容易玩得转了。可能你钱攒了一些,但是社会地位还是低。大家自嘲叫码农,叫程序猿,叫屌丝。最近就出了几个码农届的大新闻:一个是某家公司产品更新日志里赫然写着要杀程序员「祭天」,真是语不惊人死不休。另一个则更是惊天动地,当老板的某程序员,被其前妻逼死了,原因是被敲诈,要么赔一千万的精神损失费,要么等着去把牢房坐穿。0 和 1 构建出来的虚拟世界很复杂,但是真实世界并非只有 0 和 1、对和错,真实世界复杂到程序员们玩不转。


互联网人才市场太火热。太火热本来是好事,但是当聪明人都往互联网涌时,压力就来了。互联网火,奥赛冠军们都学计算机去了,搞理论的都进产业界了,北大清华学霸们都和你抢饭碗了,海归大牛们都纷纷回国谋求机会了,你说竞争激不激烈?自诩聪明的你,也不得不今天学习统计学,明天看看深度学习,后天关注自然语言处理。


今天一个消息,互联网巨头网易卖猪肉去了;明天一个消息,互联网人创业去做肉夹馍了;后天一个消息,大佬去做新零售了。你可以说他们转行了,也可以说他们还在互联网。


还有一些朋友,受够了北上广深的压力,呼吸够了帝都的霾和魔都的风,他们要逃离北上广。北京,北京,「我在这里欢笑我在这里哭泣,我在这里活着也在这儿死去,我在这里祈祷我在这里迷惘」。妈蛋,通通给我滚蛋。于是,念起了陶渊明的《归田园居》:「归去来兮,田园将芜胡不归?既自以心为形役,奚惆怅而独悲?悟已往之不谏,知来者之可追。实迷途其未远,觉今是而昨非。」北京不好混,那咱们一起回家混呀。


都说北平的秋好,天气那个新鲜劲。回到老家,也许还四季如春呢?人比人,气死人。城市比城市呢?恐怕城市里的人只能发疯了。


有的朋友,在 BAT 或者其他大厂,干了三四年,攒了一笔钱,决定离开北京等大城市,回家发展。可能回到了家,没有了引领时代潮流的弄潮儿气概,却有了「采菊东篱下,悠然见南山」,「却道天凉好个秋」的闲情雅致。


有一个朋友告诉我说,他要从工程转算法。同时,他老婆也要去读个书,慢慢从互联网行业转出去。也许过几年,她老婆先在老家开个超市,先卖杂货,或者开个饭馆,如果一两年下来,没亏并且还能赚一些钱,到时候他再辞职去帮把手,双双离开互联网,开个夫妻店。他告诉我这样安排比较稳妥。否则过几年,两个人都在互联网,哪天一起失业了,风险太大。这个朋友能力还可以,有过互联网大公司的工作经历。我给他分析他的优势,告诉他不用担心失业,告诉他我有一些朋友,四十几岁了还在一线写代码,告诉他我能告诉的所有事情。然而,一百条理由,顶不上他一个执拗的借口——他已经决定了走上转行的道路。这条路也许需要几年,但是他已经在有计划地开展了。


程序员中的老司机们,30 后的路该开向哪里?_第11张图片


有一些朋友也在想,要不在北上广工作几年,攒一些钱,回家去花。正如人家在美国赚美金,回中国来花人民币。老家也许房子还不贵,也许一百万就能买不错的房子?咱们大城市奋斗几年,小城市买上它三套房,一套用来住,两套用来租,每天一觉呼呼到天明,我们也过上小时候梦想的收租金的生活啦——翘着二郎腿收租金的日子,过得真他妈舒服啊。


当然,回家做个小生意,开个小卖部,或者开一个超市,或者开一个饭馆,都是路。30 岁了,既然前进的路多歧路,那就看看退路——到处都是退路。条条大路都是余生的路。


有人在退,也有人在进。不少其他行业的朋友,也在看着互联网的机会。比如我有个朋友,在小县城,但是眼光却一直在互联网。教书的闲暇时光里,他运营着几个网站和公众号。一个公众号十几二十万粉丝,注册个公司,请两个小编,让外面的技术做些小活,一个月接几单广告,一年下来也有三五十万的收入了。在他们眼中:


互联网充满机会。前年你开个网店,你可能就月入十万了。去年你做个代购,可能就财务自由了。今年你运营个公众号,抄一些网上的水货文章,可能就锦衣玉食了。明年你做个小程序,兴许就衣食无忧了。


程序员中的老司机们,30 后的路该开向哪里?_第12张图片


互联网里人人都能当英雄。买卖域名能捞得盘满钵满,倒腾流量也能做到肥得流油。机会少了?没关系,咱还有消费升级呢。机会有的是,慢慢来。快速试错,勇敢迭代,这才是互联网的风格和做派。


程序员中的老司机们,30 后的路该开向哪里?_第13张图片

程序员中的老司机们,30 后的路该开向哪里?_第14张图片

程序员中的老司机们,30 后的路该开向哪里?_第15张图片


不管是出于帝都魔都居之不易的考虑,还是你本来就喜欢传统行业,厌恶互联网,总之在考虑要不要换行前,以下几点值得思考:


你是不是单纯的技术人。线下真实世界的玩法你熟悉吗?你习惯吗?


你能玩转传统行业的人情世故么?你能喝酒么?你会抽烟么?


你的口才怎么样?你善于应酬么?


你是否善于管理?你会催款么?


你喜欢快节奏还是喜欢悠闲?


其他行业就没有竞争么?那里的竞争,你是否更有竞争力?


互联网好多于坏?对你而言,互联网的种种好,是否真的已经超过了坏?


结语


程序员中的老司机们,30 后的路该开向哪里?_第16张图片


做工程,还是转算法?


代码写到底,还是果断转管理?


打工赚钱,还是创业冒险?


互联网混到底,还是转行收房租?


30 岁了,不管是否三十而立,总归我们都是成年人了。面对困惑,我们都应该深思熟虑,做出成年人的选择。


这世界真好。

你可能感兴趣的:(技术前沿,学有所思,程序员,发展)