程序员真的要失业了么?毕业两年,我在抖音学到了什么

​最近听到有一些朋友吐槽,说我们这些服务端的程序员真的是要失业了。原来还可以自诩 CURD (增删改查)BOY,现在有了微服务,数据都是下游给你准备好的,真是连 CURD 都没有了。感觉自己分分钟就要被替代的节奏。

 

虽然只是开玩笑,但是也确实透露出作为程序员的一些担忧。自己的成长速度到底能不能跟得上时代的发展,自己会不会有一天被替代掉?其实我之前也有类似的担心,但是在抖音工作一段时间之后,我发现“写代码”其实只是一个服务端研发工作中很小的一部分。那些真正让你变得强大而不可替代的,很多都是编程之外的东西。今天我们就结合这我在抖音的一点经历,跟大家简单聊聊在我的眼中,那些真正让你不可替代的东西都是什么,以及如何去获取这些东西。

 

1. 既然大家都是做技术的,那我们就从技术开始聊起。

程序员真的要失业了么?毕业两年,我在抖音学到了什么

(1)书谁都买得到,但是经验买不到。在搞技术的圈子里,大家都有一个共识,那就是技术做的越深越好。但是如何把技术做深,每个人的看法又会有所区别。从我的观点看,要想把一个技术做好,不仅需要努力地学习,更重要的是你需要实践的机会。而你手中的工作就是你把学到的知识付诸实践、检验其效果的最佳场所。我们几个同事聊到面试的事情,就会有一些面试官抱怨说有一些候选人,虽然背了很多知识,但是你一旦深入地追问,他们就回答不上来,也不知道里面的原理到底是什么样的。但是你跟他们不一样,因为你的工作中需要实际用到,所以你就知道不同类型的存储选型的时候,到底需要考虑哪些因素;你也知道一个服务搭建的时候,到底需要考虑哪些风险点。知识在你这儿不再是知识,而是结合你的经验升级成了可用的技能。这正是你能从绝大多数“码农”当中,脱颖而出的关键。

 

(2)那些没能杀死你的,使你更加强大。除了自己的主动学习之外,在工作中你还会遇到大量的“线上问题”。这些问题在一些人眼中确实是一堆麻烦,但反过来讲它也是宝贵的资源。道理很简单,你能解决别人不能解决的问题,那你就比别人更值钱。那么如何证明你能解决那些别人解决不了的问题呢?最简单的办法就是你解决过。相信大家都知道,研发工程师面试的时候一般都会有这么灵魂三问:你之前做过最重要的项目什么?遇到了什么挑战?你是怎么解决的?很多人只能回答第一个问题。第二个问题就卡住了。还不是因为项目太简单,确实没什么挑战。但是你就不一样,因为你解决了很多问题嘛,那你自然就有的可说。我现在还记得,之前跟一个前辈聊天说到这个问题,他跟我说:“问我遇到了什么挑战?我能跟他连说三天三夜”。

 

(3)性能真的是最核心的指标么?搞技术的人容易陷入到一个“运动会思维”,那就是我做出来的东西要 NB,要“更高更快更强”。但是在我看来,性能并不是唯一重要的指标。在很多场景下,有很多其他的问题比性能更加重要,比如代码的可维护性。我想说的并不是一个意识或者价值观的问题,而是一个确确实实的技术问题。因为在多人合作开发并且需要快速迭代的场景中,一个蹩脚的代码结构将会是所有研发人员的灾难。它会降低所有人的开发效率,更会让代码的 owner 痛不欲生。所以在代码结构的设计之初。就需要把后续的维护、拆分、快速迭代、高速地排查问题,甚至是人员的组织架构都考虑进来。而这些东西显然不是通过“闭关修炼”可以学习到的。

 

2. 技术说完了,我们再来聊聊事务,也就是如何推进一个项目的顺利进展。

程序员真的要失业了么?毕业两年,我在抖音学到了什么

(1)调研和复盘,我在抖音学到的大杀器。我们第一个要讨论的问题,就是怎么避免在项目开展的过程中出现比较大的事故。相信大家都知道管理学里面有一个叫做 PDCA 循环(Plan,Do,Check,Act)的做事方法,但是在践行 PDCA 方法的实践上,我从未见过比抖音更加认真有效的。无论是做业务迭代还是技术需求,都是要先把所有的问题和风险点调研清楚,写一个方案出来。然后再由大家来一起坐下来评估这个方案还有哪些问题,有哪些需要进一步调研。方案评估是不是大家正襟危坐,去“怼”出方案的人哪里设计的 SB。而是利用大家的经验和头脑,提前去发现未来可能存在的问题,减小犯错的成本。一个合理的方案应该是易于执行,并提前考虑了未来可能遇到的各种突发状况。刘邦说:“运筹帷幄,决胜千里”。做方案的时候把“筹”运好了,实际执行起来自然就顺利。复盘也是一样,它可以避免你同样的错误犯两次。在我个人看来,复盘不一定就非要开个复盘会,他的目标是为了让我自己能够意识到之前的项目哪些做得好,哪些做得不好,并且把不好的地方改正过来。只要能实现这个目标,哪怕是自己坐在那想个十分钟,也是一次很好的复盘。

 

(2)及时 check 各方进度,保证最终结果。我觉得大家在工作中肯定遇到过类似的问题,就是偶尔会遇到跟你一起合作的人不是很可靠。其实人是最需要信任的,也是最不可信任的。在合理有效的监督下,人就能发挥最积极最光明的一面。如果没有及时的 check 和跟进,那么懒惰、拖延甚至是遗忘就全都暴露出来了。除非之前有比较愉快的合作经历,否则永远也不要相信别人给出的口头承诺。一个工作需要三天才能完成,约定 15 号交付,如果 12 号还没开始开展,那就一定会延期。所以单去 check 他的最终结果是不行的。为了保证结果目标能够完成,所有的里程碑目标也需要确保完成。我之前就遇到过类似的场景,每天都要催,确实很费心力,最后还是有轻微的 delay。但是如果你不催,最后一定就完不成。还是那句话,人需要监督,他知道你会来检查,他就会干的快一点。当然,你也可以说干不完不是你的责任。话是没错,但是这样会导致你本来的计划完不成,你的项目又怎么办呢?所以一个对自己工作负责任的人,可以因为不可抗力而失败,但是他永远不会把自己放在“受害者”的位置上,也会想尽办法避免让自己成为受害者。所谓“君子不立危墙之下”嘛。

 

(3)找别人帮忙的时候,多替别人考虑。还有一个经常遇到的问题就是,别人配合你工作的时候积极性不高。其实这种也很常见,因为在公司里大家都有太多事情要忙。对于新人而言,因为没有合作过的经历所以在别人心中也没什么威信,这种问题就更加的明显。我记得有一回找一个下游查稳定性的问题,怎么推也推不动,他们说查半天也没有响应,到后来根本就不回消息了。这种怎么处理?我只能自己用我手中能用到的所有资源自行排查。最后定位到他们服务到底是哪台机器有问题,怎么处理都给他想好了,又重新联系了一下,结果问题很快就解决了。所以后来我就明白了,你要知道他是怎么想的。人嘛都是有惰性的,大家都希望稍微付出一点就能得到巨大的回报。当多个工作摆在他面前的时候,他就会找那种性价比最高的工作来做,这样最有成就感。所以你需要做的事情很简单,就是把那些你俩都能做的事情,你都给他做好,他只需要做那些必须由他来做的事情就行了。这样一来,你减轻了他“不必要的成本”,他就更愿意去帮你做事。

 

3. 最后我想聊聊心态,也就是价值观的问题

程序员真的要失业了么?毕业两年,我在抖音学到了什么

(1)owner 意识。为什么最后还要聊聊价值观的问题,因为我觉得上面的这些东西,技术也好,业务也好,都是一些外在看得见的东西。这就好比一棵大树,别人看见的都是巨木参天、枝繁叶茂,但其实支撑它们给它们提供养分的,是土壤下看不见的根须。我一直都相信,决定一个人命运的不是智商,而是价值观。他是怎么想的会决定他怎么做,而他怎么做会决定他最终的结果。就拿 owner 意识来说,确实是有那种人就是别人让干个啥干啥,自己也没有规划和思路。这种人在老板的眼里就是一个机器,关键还是半自动的,你想让他干个活,还得花挺大的力气去处理他。不仅不解决问题,还会带来新问题。公司需要的是全自动的机器嘛(笑),我就认识一个同事,跟 PM(产品经理)讨论问题的时候,PM 说这个地方需要加一个功能,他说我早就预料到你要在这儿加功能,都提前准备好了。这件事情对我影响很大,我觉得无论是做技术还是做运营,都应该做到这种地步,这才叫“做到位了”。

 

(2)心中有正能量,有合作意识。还有一个事情我们对我影响比较深的,就是有一次遇到了一个线上问题。遇到问题大家的本能都是保护自己,“不是我造成的” 甩锅给别人。但是这时候就有一个同事站出来说:“我们现在先不要纠结是谁的责任,我们先齐心合力把问题解决了”。所以大家就把关注点放在解决问题本身上,最后很快解决了这个问题。而问题解决了之后,其实大家的火气也就没有那么大了,责任的问题反而好处理。我记得之前网上有一个问题讨论的很火热,就是毕业之后是去大公司好还是去小公司好。我相信能看到这篇文章的你,毕业之后去小公司也不会混的很差。因为你在小公司会收到更多的重视,而且带你的人也会是非常优秀的。但是如果你在一个比较大的公司,在一个比较优秀的团队里面,你会发现这是一个全明星的阵容,每个人身上都有不同的优点。这个时候你就有机会博采众长,而不是所有的东西都从你的 mentor(企业中带你的导师)身上去复刻。我认为这个是其他的地方很难提供的机会。

 

(3)有胆量,该上的时候不要怕。我认识许多成长比较快的同事,我对他们快速成长的原因做了一个总结。就是他们的“胆子”比较大,遇到事情敢上。他们敢于承接那些稍稍超出他们能力边界的新工作,并不断地在这些新工作中学到新东西。另一方面,他们也更敢于去和别人沟通,不怕暴露自己不如别人的地方,所以他们就有机会学到弥补自己认知的不足。这里大家可能会有一个普遍的心态,就是我如果做不好不仅会丢人,而且还可能带来损失。其实我以前也有类似的想法,但是我跟一些同事沟通之后,得到的结论是:不要总看着失败,你要想着如果你做好了,公司和你都能受益。至于怕做不好的问题,就在提前想好验证的方式,如何才能确保自己上线的工作是没有问题的,并且严格地去执行它。什么都不做,就永远不会犯错,但是无论从公司和自己的角度出发,我觉得更 agressive(有野心)一些总是没错的。

 

程序员真的要失业了么?毕业两年,我在抖音学到了什么

说了这么多,其实也不过是两年经历中的九牛一毛而已。甚至在很多大佬眼中,这些都只是一个 base(基本要求)。不过我把这些东西分享出来,主要是想说明一件事儿,那就是只要你愿意去吸取,还是有很多东西能够让你变成不可替代的存在的。你能够让别人意识到:不是所有的牛奶都是特仑苏。顺带一提,正好我们抖音服务端在火热招人中。如果你觉得自己可以,而且有兴趣加入抖音这个团队,你可以通过下面任一的方式和我取得联系,我会以内推的方式帮你争取同样的机会。即使你不是做服务端的也没有关系,把简历发给我并且告诉我你的诉求,我会尽量帮你推到最合适的岗位上。

 

我的联系方式:

(1)社招请发简历到邮箱:[email protected],并注明是来自 CSDN 的

(2)校招请官网投递:https://job.bytedance.com/campus,并使用内推码:BZPS7F

 

 

相关文章: