先简单介绍一下背景吧。一位名不见经传的985本科硕士毕业,2017年加入滴滴。他在找工作的时候,也在牛客这边跟大家打过架。今年下半年,他跳槽到今日头条,一直从事后端研发相关工作。之前没有实习经验,算是两年半的工作经验吧。两年半的时间里,我完成了升职,换了公司,有过快乐满足的时光,也有过迷茫挣扎的日子,但我已经从一个职场菜鸟成功转型为资深桨手。在这个过程中,我总结了一些比较实用的划水经验,有的是自己学的,有的是和别人交流中学来的。我想在这里与大家分享。学会深入思考,总结沉淀。首先我要说的是,要学会深入思考,总结沉淀。这是我认为最重要、最有意义的事情。我们先深入思考一下。在程序员圈子里,经常听到这样的言论:我这个工作没什么技术含量,天天就是CRUD,然后写if-else,这TM能学到什么?撇开一些调侃和戏谑的论调不谈,这可能确实是部分同学的真实想法,至少我曾经是这么认为的。后来随着工作经验的积累,和一些高年级的同学讨论后,发现这个想法其实是非常错误的。之所以产生没有什么可学的感觉,基本上是懒惰思考的结果。任何看似不起眼的事情,只要深思熟虑,纵向深挖一点,横向拓宽一点,就足以淹没在知识的海洋中。举个例子。有一次,一位同学告诉我,这周有个服务OOM了。检查了一个星期,发现有一个地方的defer写法有问题。改了几行代码,上网修复。周报写不出来。可能大家都遇到过这样的场景,还是比较有代表性的。实际上,就BugChecking而言,就是一个发现问题、排查问题、解决问题的过程,包括触发、定位、复现、根因、修复、重放等多个步骤。花了一周的时间做这个,肯定有一个不断试错的过程,其实有很大的思考空间。比如定位,如何缩小范围?走过哪些弯路?使用了哪些分析工具?比如rootcause至少可以研究一下linux的OOM,k8s的OOM,go的内存管理,defer机制,函数闭包原理等等。如果真的没有涉及到这些,而且还花了一个星期的时间做这个,那复习的时候应该有很多思考,想出几十个WHY也没关系。。。说说总结和沉淀吧。我想这也是大部分程序员比较欠缺的地方。他们只要努力工作,就能把一件事做得很好。但我几乎从不做抽象的总结,以至于工作了几年,掌握的知识还是零星的、不系统的。及时做一些总结和沉淀是非常重要的。这是一个从术到道的过程,会让你从更广阔的视野、更高的层次看问题。遇到同类问题,可以按照总结出来的方法论,系统、分层地推进解决。还是举个例子吧。作为后台服务,今天优化了1G内存,明天优化了50%的读写时间。能不能总结一下性能优化?比如在应用层,可以对服务对接的应用端进行管理,梳理其访问的合理性;在架构层,可以做缓存、预处理、读写分离、异步、并行等;在代码层,可以做的事情更多,资源池化、对象复用、无锁设计、大key拆分、延迟处理、编码压缩、gc调优,以及各种语言相关的高性能实践……等下time对于需要性能优化的场景,一整套思路立马套用,剩下的就是工具和实操了。有同学说,我天天和PM打架,是为了满足需求,而不是优化性能。先不讨论能不能做性能优化,单从业务需求上来说,也是有可以总结的。比如系统建设怎么做?有没有想过系统核心能力、系统边界、系统瓶颈、服务分层拆分、服务治理?每天和PM讨论需求,那么作为一个技术生,如何培养产品思维,引导产品方向,如何让架构走在业务前面,这些问题也是可以考虑和总结的。想想看,牵手维护别人的烂代码这种痛苦的事情,竟然能让MartinFowler想出一套重构理论,而且看起来高大上,我们真的没必要贬低自己的工作……所以说学习和成长是一个自我驱动的过程。如果你觉得没有什么可学的,那大概率不是真的没有什么可学,而是因为你太懒了,不仅懒于行动,也懒得想起来。可以多写技术文章,多分享,强迫自己思考和总结。毕竟文章不够深入,大家也不好意思公开分享。积极学习并保持对技术的热情近两年在互联网圈广为流传的一种焦虑理论,被称为35岁程序员现象。不可否认,互联网行业在这方面确实不如公务员等体制职业。但是本题中35岁的程序员并不是绝对生理意义上的35岁。应该是指那些工作十几年,干了两三年的程序员。下面的工作基本都是吃老本,没有主动学习和充电。35岁和25岁差不多,没有25岁的学习和成长欲望,反而给家庭生活增添了许多琐事,薪资要求往往更高。从企业的角度来看,这确实没有太大的竞争力。而如果我们积极学习并保持技术能力、知识储备和工作年限,35岁又如何焦虑?这样的大牛我想应该是各大公司都在抢吧?但是学习这件事其实是一个反人类的过程,需要我们强迫自己跳出舒适区,主动去学习,保持对技术的热情。滴滴有一句话大致是这么说的,当你主动跳出舒适圈,感到挣扎和压力时,往往是黎明前的黑暗,那是你成长最快的时候。相反,如果你觉得自己每天都过得很惬意,而工作只是在浪费时间,那么你可能真的是在温水煮青蛙。刚毕业那段时间,往往有很多空闲时间,正是努力学习技术的好时机。利用这段时间打好基础,养成良好的学习习惯,保持积极的学习态度,应该会受益终生。至于如何高效学习,网上有很多大咖写这样的帖子,而且到了公司后,在内网上也能找到很多这样的分享,就不说了.你可以加入公司内外的学习小组和技术社区,关注前沿技术。主动出击,及时交流反馈。前两个是从个人角度。希望每个人都能提升个人能力,保持核心竞争力。提供商业价值并为公司服务。虽然学校招生一般都有一定的培训制度,但实际上公司并没有义务帮助我们成长。能为公司做事,创造价值,我觉得最重要的几个词就是主动,主动承担任务,主动沟通,主动推动项目进度,主动协调资源,主动反馈,主动创造影响。电源等。刚进公司的时候,基本上是按照领导布置的任务做好本职工作,然后再做本职工作。我几乎从来没有主动和别人交流过,也没有想过可以帮助项目发展的点子。原以为保质保量完成本职工作就够了,后来发现这样做还不够。这只是最基本的要求。而有的同学的做法是leader只需要同步最近要做的事情的方向,后面的一系列事情基本不需要leader操心。我喜欢这样的学生当领导。入职后经常听到的一个词是ownerawareness,大概就是这个意思。在这个过程中,还有一个很重要的一点就是及时的沟通和反馈。如果项目进展不顺利,遇到什么问题,及时与领导同步。如果对技术方案没有把握,可以和leader一起讨论。如果有些资源不能协调,可以找领导帮忙。不要有太多的顾忌,以为这些会很麻烦,领导其实是在做这件事。.如果项目进展顺利,不需要领导插手,也要及时反馈项目的进展情况和获得的收益,有什么想法也可以商量,向领导征求意见目前的进展以及其他哪些方面需要改进以消除信息错误。做这些事情一方面是为了合理利用领导的各种资源,另一方面也可以让领导了解自己的工作量,掌控整个项目。毕竟,领导也有领导,必须汇报。可能算是大家比较反感的向上管理吧。有内味儿,其实我在这方面做得不好。但最基本的一点,不要接受任务而努力工作,甚至与世隔绝。一个月没跟领导同步了。想着忍住大招什么的,那基本上很酷。你必须采取主动。您可以从强迫自己在各种公共场所讲话开始。如果您有任何问题或想法,您应该及时一对一。除了以上几点,还有一些我觉得比较重要的点。下面列出了首先要建立的内容。相信无论是校招还是社招,刚入职的第一件事非常重要,直接决定了领导和同事的第一印象。入职后的第一件事一定要做好,最起码要顺利完成,不能出任何意外就行。这件事的目的是建立信任,让团队觉得自己至少是靠谱的。如果这件事情做好了,接下来的旅程就会更加顺利。如果这件事变得复杂,一些领导可能会再给它一次机会。如果做得不好,以后就很难了。这对于社会招聘来说更为重要。但是刚进公司的时候,公司的技术栈并不精通,而且业务复杂,很难梳理头绪,压力确实比较大。这个时候,一方面需要自己投入更多的精力,另一方面也需要和群里的同学多交流,有不懂的地方要问。最高效的学习方式,我觉得不是看书,也不是学习视频,而是直接和对应的人对话,让别人给你讲解,基本上什么都能听懂。这个效率比阅读文档和代码要快很多,不仅省去了过滤无用信息的过程,而且还了解到了业务的演化历史。当然,这需要一定的沟通技巧,毕竟同事们也都很忙。脸皮要厚,多跟人说话,快速融入。最忌讳的是有问题不谈,孤立自己。Exceedingexpectations和exceedingexpectations的引申范围很广。比如领导要求做一个价值周,回答用户群里大家的问题。结果不仅回答了大家的问题,还收集了这些问题进行分类,然后做了一个智能问答机器人,解放了一周的人力,也算是超预期了。比如领导要求做一个运营的小工具,结果做了一系列的工具,甚至开发成一个平台,变成了一个完整的项目,超出了预期。超越预期需要我们有把事情做大的能力,也就是想到领导没有想到的地方,创造实际价值,获得商业利益。这个能力其实很重要。在我的工作中,我发现有些人可以把小盘子做得越来越大,而有些人恰恰相反。那么那些勇于创新,经常超出预期的同学显然有更大的发展空间。.这个其实就看个人能力了,暂时还没想到什么好的捷径,还是再考虑一步吧。系统思考,系统建设,这是在推广过程中总结出来的一句话。总体思路是,系统建设要有全局视野,不能局限于某个小点,要有良好的规划能力和清晰的演进蓝图。比如今天加个监控,明天加个报警,这些东西不应该成为孤岛,而是稳定建设第一阶段的一小步。本期稳定建设要做的工作是告警配置和监控,包括机器监控、系统监控、业务监控、数据监控等,预计获得XXX收益。这项工作还有一个后续路线图。第二阶段稳定性建设需要容量规划和接入压力测试。第三阶段需要做降级演练,更主动的容灾,第四阶段……给人的感觉,这个人想的很全面,很系统,很有计划。平时积极总结积累,多与人交流,形成方法论。提升你的软素质能力这里的软素质能力其实是指PPT、沟通、表达、时间管理、设计、文档等方面的能力。说实话,我觉得我当时能升职是因为我在PPT上做得比较好。。。可能大家对这些能力不太重视,我之前也不太重视。可能没有想象的那么简单。比如推广时PPT+演讲+答辩的工作,其实涉及到很多细节的思考,比如内容如何选择,版面设计如何设计,观众情绪如何引导,评委提问如何回答,等等。升职的时候,看到很多同学的PPT内容杂乱无章,演讲过程不流畅自然。虽然他们确实做了很多实际工作,但在表达上却缺乏很多。对于对外部门的评委来说,吃亏是可以预见的。公司内网一般都有一些软素质的培训课程,可以找一些场合刻意培训一下。以上就是这些分享,也算是比较光明正大了,但是社会并不是都那么美好。.下面的内容往往是负面的。对三观特别肯定的同学和感觉不舒服的同学建议略过。阿谀奉承真的很好吃。在我加入公司之前,我非常反感奉承。当初之所以想进互联网公司,是因为互联网公司没有那么多人。事实证明我错了。进公司前几天,部门组的利达领导发了一条消息,紧接着,立马有几十条点赞。我学会了并且喜欢它。真的很好很优秀。说是红旗飘扬、锣鼓锣鼓、鞭炮齐鸣、鞭炮齐鸣也不为过。.除了惊叹大家超强的信息接收能力和处理速度,我还发现,连拍马屁都是有阵营的。一级部门的领导发来消息,几个二级部门的领导跟上。最后是大家的狂欢,让我怀疑奉承的速度决定了我事业的发展前景(是的,我不再怀疑了)。说实话,我不习惯群里奉承,但也不反感了。可以说,我把这件事当成了笑话。不是我没有那个口才和能力(其实我不需要什么口才,大家都简单直白),有的时候为了活跃气氛,我也可以在嘴上抹点蜂蜜,甚至写古诗彩虹屁都是给教主安排的。反而发现我的直属领导在群里其实不太会拍马屁,所以我表面上不拍马屁,实际上暗地里迎合了领导的喜好。。。不过拍马屁只要掌握了还是可以的总体不错。是的,顶多没用,至少不会有什么坏处。每个人都有相似的能力。每一次在集体中献媚的机会都是一次露脸的机会。按照同事的说法,这叫建立个人技术影响力。。。想舔就舔,不愿意就不用害人。尊重伟大。永不缺席的撕逼甩锅实战??有人的地方就有江湖。技术达人虽然大多不深城,但这种闹心的事情基本不会缺席,甚至看到过公开群邮件撕逼……这部分话题涉及我就不多说了关于一些敏感的信息,我们这些低级别的人不会有太多的机会遇到这些东西。只是提醒大家,大家工作的时候迟早会吃到这方面的瓜,到时候要小心。小心,我们不会欺负别人,但也不能让别人轻易欺负。不要被蛋糕蒙蔽了双眼。说实话,我个人很反感这种灌鸡汤、打鸡血、谈梦想、谈奋斗的行为。不知道是可笑还是可悲。当然,这些话本身并没有错,但是这些东西应该是自己驱动的,不应该成为外界的强推。我觉得“我一定要努力”这句话很正常,但是“你一定要努力”这句话感觉有点怪怪的。努力工作,让公司的股东发财?尤其是在钱不够的情况下,这些行为无异于耍流氓。我们需要对领导的这些画饼操作保持清醒的认识,理性分析,做出决策。比如,当你觉得钱不够用(或者职级太低,一样)时,可能有以下几种情况:?领导没有注意到你工资低的事实?领导知道这个事实,但不知道你有多少强烈的加薪需求?领导知道你需要加薪,但认为你能力不够。领导知道你有加薪需求,有能力enough,buthedon'twanttogiveyouaraise.领导要给你加薪,但他不向上反馈,努力了,但是没有资源。这个时候我们要做的就是向上反馈,和领导沟通确认。如果是1和2,则可以通过通信消除信息错误。如果是3,则需要具体情况具体讨论。如果是4和5,就已经可以考虑撤退了。对于这些事情,没有必要抱怨,抱怨解决不了任何问题。我们要做的就是努力提升个人能力,保持个人竞争力,等待合适的时机跳槽。时刻做好准备,有技术在手就不怕,觉得自己的工作不好就辞职。说白了,学会打包就是要会吹。我忘记了在哪里读到的。会说会写会做事是职场人的三大要求。会说话很重要。会说话,才能来项目,才能吸引资源,才能招人。同样的话,不同的人说出来的效果完全不同。比如我做了一个小工具,上线了,我只能说出基本情况,让领导描述一下,这就成了XXX的工具把柄,完善了XXX的完整生态,形成了XXX的业务闭环。兄弟,我服了,把所有的币都给你是不够的。据我观察,每个互联网公司都有这么几个词,抓取、生态、闭环、Lacy、梳理、迭代、所有者意识等等,我们需要做的就是全文阅读和背诵,啊不,就是牢记并熟练使用。这就是对事物的包装,对人的包装也是如此,尤其是在升职、面试等具有流程短、一锤子买卖特点的应试性场合,所以包装就显得尤为重要。这里就不说推广和面试了,方法和技巧太多了。.以下场景摘自某公司面试官在面试过程中的对话。大家可以感受一下:我们的背后是一个40到500亿美金的市场。。。我负责过一个日访问量上千亿的系统。。。能在两年内达到这个水平已经很不错了年……你们公司的技术氛围很好,业务发展前景也很广阔……啊,彼此……嗯,佩服你很久了……人生如戏,这完全取决于演技。可以多看领导的PPT,多听老板的向上汇报和介绍。选择和努力哪个更重要?有没有关系,当然是选择。在完美的选择面前,再辛苦也一文不值。我有一个多年未联系的高中同学,今年已经在时代广场敲响了钟……但这样的案例太少了,做出完美选择的随机成本太高了高的。有太多的不确定性。对于大部分刚毕业的同学来说,对行业的判断不够成熟,对自身能力和创业难度的把握不够精准。这个时候,招几个人来创业,就显得太冒险了。我觉得比较稳妥的路径是先进稍微大一点的公司,找个好领导,抱大腿,提升个人能力。有好的平台,有大腿,还有个人的努力,这个起飞速度已经不错了。当你积累了一定的人脉和资金,对市场和需求有了深刻的了解,对自己有了信心之后,就可以考虑创业了。本来想分享一些人生故事的,结果发现拖了这么久,就先从这个说起吧。上面写的一些结论和建议不是很好。还需要继续努力,分享给大家。另外,部分观点因个人观点所限,不保证具有普遍性和正确性。经过几年的工作,这些观点可能会改变。欢迎与我交流~(成功甩锅)最后祝大家都能找到自己想要的工作,工作愉快,生活愉快,天地广阔,大有可为。作者|syntax_error来源|https://www.nowcoder.com/disc...
