入职滴滴和头条后的开发工做感悟,但愿对你有所帮助!


先简单交代一下背景吧,某不知名985的本硕,17年毕业加入滴滴,当时找工做时候也是在牛客这里跟你们一块儿奋战的。今年下半年跳槽到了头条,一直从过后端研发相关的工做。以前没有实习经历,算是两年半的工做经验吧。这两年半之间完成了一次晋升,换了一家公司,有过开心知足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。在这个过程当中,总结出了一些还算实用的划水经验,有些是本身领悟到的,有些是跟别人交流学到的,在这里跟你们分享一下。java

 
 

学会深刻思考,总结沉淀

 
 

我想说的第一条就是要学会深刻思考,总结沉淀,这是我以为最重要也是最有意义的一件事。 linux

 
 

先来讲深刻思考。在程序员这个圈子里,常能听到一些言论:我这个工做一点技术含量都没有,天天就CRUD,再写写if-else,这TM能让我学到什么东西?抛开一部分调侃和戏谑的论调不谈,这可能确实是一部分同窗的真实想法,至少曾经的我,就这么认为过。后来随着工做经验的积累,加上和一些高level的同窗交流探讨以后,我发现这个想法实际上是很是错误的。之因此出现没什么可学的这样的见解,基本上是思惟懒惰的结果。任何一件看起来很不起眼的小事,只要进行深刻思考,稍微纵向挖深或者横向拓宽一下,都是足以让人沉溺的知识海洋。 程序员

 
 

举一个例子。某次有个同窗跟我说,这周有个服务OOM了,查了一周发现有个地方defer写的有问题,改了几行代码上线修复了,周报都无法写。可能你们也遇到过这样的场景,还算是有必定的表明性。其实就查bug这件事来讲,是一个发现问题,排查问题,解决问题的过程,包含了触发、定位、复现、根因、修复、复盘等诸多步骤,花了一周来作这件事,必定有不断尝试与纠错的过程,这里面其实就有不少思考的空间。好比说定位,如何缩小范围的?走了哪些弯路?用了哪些分析工具?好比说根因,能够研究的点起码有linux的OOM,k8s的OOM,go的内存管理,defer机制,函数闭包的原理等等。若是这些真的都不涉及,仍然花了一周时间作这件事,那复盘应该会有不少思考,提出来几十个WHY没问题吧... 面试

 
 

再来讲下总结沉淀。这个我以为也是大多数程序员比较欠缺的地方,只顾埋头干活,能够把一件事作的很好。可是几乎历来不作抽象总结,以致于工做好几年了,所掌握的知识仍是零星的几点,不成体系,不只容易遗忘,并且形成本身视野比较窄,看问题比较局限。适时地作一些总结沉淀是很重要的,这是一个从术到道的过程,会让本身看问题的角度更广,层次更高。遇到同类型的问题,能够按照总结好的方法论,系统化、层次化地推动和解决。 spring

 
 

仍是举一个例子。作后台服务,今天优化了1G内存,明天优化了50%的读写耗时,是否是能够作一下性能优化的总结?好比说在应用层,能够管理服务对接的应用方,梳理他们访问的合理性;在架构层,能够作缓存、预处理、读写分离、异步、并行等等;在代码层,能够作的事情更多了,资源池化、对象复用、无锁化设计、大key拆分、延迟处理、编码压缩、gc调优还有各类语言相关的高性能实践...等下次再遇到须要性能优化的场景,一整套思路立马就能套用过来了,剩下的就是工具和实操的事儿了。 后端

 
 

还有的同窗说了,我就天天跟PM撕撕逼,作作需求,也不作性能优化啊。先不讨论是否能够搞性能优化,单就作业务需求来说,也有能够总结的地方。好比说,如何作系统建设?系统核心能力,系统边界,系统瓶颈,服务分层拆分,服务治理这些问题有思考过吗?天天跟PM讨论需求,那做为技术同窗该如何培养产品思惟,引导产品走向,如何作到架构先行于业务,这些问题也是能够思考和总结的吧。就想一下,链接手维护别人烂代码这种蛋疼的事情,都能让Martin Fowler整出来一套重构理论,还显得那么高大上,咱们确实也没啥必要对本身的工做妄自菲薄... 设计模式

 
 

因此说学习和成长是一个自驱的过程,若是以为没什么可学的,大几率并非真的没什么可学的,而是由于本身太懒了,不只是行动上太懒了,思惟上也太懒了。 缓存

 
 

能够多写技术文章,多分享,强迫本身去思考和总结,毕竟若是文章深度不够,你们也很差意思公开分享。 性能优化

 
 

积极学习,保持技术热情

 
 

最近两年在互联网圈里普遍传播的一种焦虑论叫作35岁程序员现象,大意是说程序员这个行业干到35岁就基本等着被裁人了。不能否认,互联网行业在这一点上确实不如公务员等体制内职业。可是这个问题里35岁程序员并非绝对生理意义上的35岁,应该是指那些工做十几年和工做两三年没什么太大区别的程序员。后面的工做基本是在吃老本,没有主动学习与充电,35岁和25岁差很少,并且没有了25岁时对学习成长的渴望,反而添了家庭生活的诸多杂事,薪资要求每每也较高,在企业看来这确实是没什么竞争力。 微信

 
 

而若是咱们积极学习,保持技术能力、知识储备与工做年限成正比,这到了35岁哪还有什么焦虑呢,这样的大牛我以为应该也是各大公司抢着要吧?可是学习这件事,实际上是一个反人类的过程,这就须要咱们强迫本身跳出本身的安逸区,主动学习,保持技术热情。在滴滴时有一句话大概是,主动跳出本身的温馨区,感到挣扎与压力的时候,每每是黎明前的黑暗,那才是成长最快的时候。相反若是感受本身天天都过得很安逸,工做只是在混时长,那可能真的是温水煮青蛙了。

 
 

刚毕业的这段时间,每每空闲时间还比较多,正是努力学习技术的好时候。借助这段时间夯实基础,培养出良好的学习习惯,保持积极的学习态度,应该是受益终身的。至于如何高效率学习,网上有不少大牛写这样的帖子,到了公司后内网也能找到不少这样的分享,我就很少谈了。

 
 

能够加入学习小组和技术社区,公司内和公司外的均可以,关注前沿技术。

 
 

主动承担,及时交流反馈

 
 

前两条仍是从我的的角度出发来讲的,但愿你们能够提高我的能力,保持核心竞争力,但从公司角度来说,公司招聘员工入职,最重要的是让员工创造出业务价值,为公司服务。虽然对于校招生通常都会有必定的培养体系,但实际上公司确实没有帮助咱们成长的义务。而在能为公司办成事,创造价值这一点上,我以为最重要的两个字就是主动,主动承担任务,主动沟通交流,主动推进项目进展,主动协调资源,主动向上反馈,主动创造影响力等等。我当初刚入职的时候,基本就是leader给分配什么任务就把本职工做作好,而后就干本身的事了,几乎历来不主动去跟别人交流或者主动去思考些能帮助项目发展的点子。自觉得把本职工做保质保量完成就好了,后来发现这么作实际上是很是不够的,这只是最基本的要求。而有些同窗的作法则是leader只须要同步一下最近要作什么方向,下面的一系列事情基本不须要leader操心了 ,这样的同窗我是leader我也喜欢啊。入职后常常会听到的一个词叫owner意识,大概就是这个意思吧。

 
 

在这个过程当中,另外很重要的一点就是及时向上沟通反馈。项目进展不顺利,遇到什么问题,及时跟leader同步,技术方案拿捏不许能够跟leader探讨,一些资源协调不了能够找leader帮忙,不要有太多顾忌,认为这些会太麻烦,leader其实就是干这个事的。。若是项目进展比较顺利,确实也不须要leader介入,那也须要及时把项目的进度,取得的收益及时反馈,本身有什么想法也提出来探讨,问问leader对当前进展的建议,还有哪些地方须要改进,消除信息偏差。作这些事一方面是合理利用leader的各类资源,另外一方面也可让leader了解到本身的工做量,对项目总体有所把控,毕竟leader也有leader,也是要汇报的。可能算是你们比较反感的向上管理吧,有内味了,这个其实我也作得很差。可是最基本的一点,不要接了一个任务闷着头干活甚至与世隔绝了,一个月了也没跟leader同步过,想着憋个大招之类的,那基本凉凉。

 
 

必定要主动,能够先从强迫本身在各类公开场合发言开始,有问题或想法及时one-one。

 
 
 
除了以上几点,还有一些小点我以为也是比较重要的,列在下面:

第一件事创建信任

 
 

不管是校招仍是社招,刚入职的第一件事是很是重要的,直接决定了leader和同事对本身的第一印象。入职后要作的第一件事必定要作好,最起码的要顺利完成并且不能出线上事故。这件事的目的就是为了创建信任,让团队以为本身起码是靠谱的。若是这件事作得比较好,后面一路都会比较顺利。若是这件事就搞杂了,可能有的leader还会给第二次机会,再搞很差,后面就很难了,这一条对于社招来讲更为重要。

 
 

而刚入职,公司技术栈不熟练,业务繁杂很难理清什么头绪,压力确实比较大。这时候一方面须要本身投入更多的精力,另外一方面要多跟组内的同窗交流,不懂就问。最有效率的学习方式,我以为不是什么看书啊学习视频啊,而是直接去找对应的人聊,让别人讲一遍本身基本就全懂了,这效率比看文档看代码快多了,不只省去了过滤无用信息的过程,还了解到了业务的演变历史。固然,这须要必定的沟通技巧,毕竟同事们也都很忙。

 
 

脸皮要厚一点,多找人聊,快速融入,最忌讳有问题也不说,本身把本身孤立起来。

 
 

超出预期

 
 

超出预期这个词的外延范围很广,好比leader让去作个值周,解答用户群里你们的问题,结果不只解答了你们的问题,还收集了这些问题进行分类,进而作了一个智能问答机器人解放了值周的人力,这能够算超出预期。好比leader让给运营作一个小工具,结果建设了一系列的工具甚至发展成了一个平台,成为了一个完整的项目,这也算超出预期。超出预期要求咱们有把事情作大的能力,也就是想到了leader没想到的地方,而且创造了实际价值,拿到了业务收益。这个能力其实也比较重要,在工做中发现,有的人能把一个小盘子越作越大,而有的人刚好反之,那么那些有创新能力,常常超出预期的同窗发展空间显然就更大一点。

 
 

这块其实比较看我的能力,暂时没想到什么太好的捷径,多想一步吧。

 
 

体系化思考,系统化建设

 
 

这句话是晋升时候总结出来的,大意就是作系统建设要有全局视野,不要局限于某一个小点,应该有良好的规划能力和清晰的演进蓝图。好比,今天加了一个监控,明天加一个报警,这些事不该该成为一个个孤岛,而是属于稳定性建设一期其中的一小步。这一期稳定性建设要作的工做是报警配置和监控梳理,包括机器监控、系统监控、业务监控、数据监控等,预期能拿到XXX的收益。这个工做还有后续的roadmap,稳定性建设二期要作容量规划,接入压测,三期要作降级演练,多活容灾,四期要作...给人的感受就是这我的思考很是全面,办事有体系有规划。

 
 

平时积极总结沉淀,多跟别人交流,造成方法论。

 
 

提高本身的软素质能力

 
 

这里的软素质能力其实想说的就是PPT、沟通、表达、时间管理、设计、文档等方面的能力。说实话,我以为我当时能晋升就是由于PPT作的好了一点...可能你们平时对这些能力都不怎么关注,之前我也不重视,以为比较简单,用时候直接上就好了,但事实可能并不像想象得那样简单。好比晋升时候PPT+演讲+答辩这个工做,其实有不少细节的思考在里面,内容如何选取,排版怎么设计,怎样引导听众的情绪,如何回答评委的问题等等。晋升时候我见过不少同窗PPT内容编排杂乱无章,演讲过程也不流畅天然,虽然确实作了不少实际工做,但在表达上欠缺了不少,属于会作不会说,若是再遇到不了解实际状况的外部门评委,吃亏是能够预见的。

 
 

公司内网通常都会有一些软素质培训课程,能够找一些场合刻意训练。

 
 


 
 
以上都是这些分享还都算比较伟光正,可是社会吧也不全是那么美好的。。下面这些内容有负能量倾向,三观特别正的同窗以及观感不适者建议跳过。


拍马屁是真的香

 
 

拍马屁这东西入职前我是很反感的,我最初想加入互联网公司的缘由就是以为互联网公司的人情世故没那么多,事实证实,我错了...入职前几天,部门群里大leader发了一条消息,后面几十条带着大拇指的消息立马跟上,学习了,点赞,真不错,优秀,那场面,说是红旗招展锣鼓喧天鞭炮齐鸣一点也不过度。除了惊叹你们超强的信息接收能力和处理速度外,更进一步我还发现,连拍马屁都是有队形的,一级部门leader发消息,几个二级部门leader跟上,后面各组长跟上,最后是你们的狂欢,让我一度怀疑拍马屁的速度就决定了职业生涯的发展前景(没错,如今我已经不怀疑了)。

 
 

坦诚地说,我到如今也没习惯在群里拍马屁,但也不反感了,能够说把这个事当成一乐了。倒不是说我没有那个口才和能力(事实上也不须要什么口才,你们都简单直接),在某些场合,为活跃气氛的须要,我也能小嘴儿抹了蜜,甚至能把古诗文彩虹屁给leader安排上。而是我发现个人直属leader也不怎么在群里拍马屁,因此我表面上不公开拍马屁其实属于暗地里事实上迎合了leader的喜爱...

 
 

可是拍马屁这个事只要掌握好度,总体来讲仍是香的,最可能是没用,至少不会有什么坏处嘛。你们能力都差很少,每一次在群里拍马屁的机会就是一次露脸的机会,按某个同事的说法,这就叫打造我的技术影响力...

 
 

想舔就舔,不想舔也不必酸别人,Respect Greatness。

 
 

永不缺席的撕逼甩锅实战

 
 

有人的地方,就有江湖。虽然搞技术的大多城府也不深,但撕逼甩锅邀功抢活这些闹心的事儿基本也不会缺席,甚至我还见到过公开群发邮件撕逼的...这部分话题涉及到一些敏感信息就很少说了,并且咱们低职级的遇到这些事儿的机会也不会太多。只是给你们提个醒,在工做的时候早晚都会吃到这方面的瓜,到时候留个心眼。

 
 

稍微注意一下,咱不会去欺负别人,但也不能轻易让别人给欺负了。

 
 

不要被画饼蒙蔽了双眼

 
 

说实话,我我的是比较反感灌鸡汤、打鸡血、谈梦想、讲奋斗这一类行为的,9102年都快过完了,这一套***治还在大行其道,真不知道是该好笑仍是可悲。固然,这些词自己并无什么问题,可是这些东西应该是自驱的,而不该该成为外界的一种强push。『我必须努力奋斗』这个句式我以为是正常的,可是『你必须努力奋斗』这种话多少感受有点诡异,努力奋斗因此让公司的股东们发家致富?尤为在钱没给够的状况下,这些行为无异于耍流氓。咱们须要对leader的这些画饼操做保持清醒的认知,理性分析,做出决策。好比感受钱没给够(或者职级过低,同理)的时候,可能有如下几种状况:

 
 
  1. leader并无注意到你薪资较低这一事实

  2. leader知道这个事实,可是不知道你有多强烈的涨薪需求

  3. leader知道你有涨薪的需求,但他以为你能力还不够

  4. leader知道你有涨薪的需求,能力也够,可是他不想给你涨

  5. leader想给你涨,也向上反馈和争取了,可是没有资源

 
 

这时候咱们须要作的是向上反馈,跟leader沟通确认。若是是1和2,那么经过沟通能够消除信息偏差。若是是3,须要分状况讨论。若是是4和5,已经能够考虑撤退了。对于这些事儿,也不必抱怨,抱怨解决不了任何问题。咱们要作的就是努力提高好我的能力,保持我的竞争力,等一个合适的时机,跳槽就完事了。

 
 

时刻准备着,技术在手就没什么可怕的,哪天干得不爽了直接跳槽。

 
 

学会包装

 
 

这一条说白了就是,要会吹。忘了从哪儿看到的了,能说、会写、善作是对职场人的三大要求。能说是很重要的,能说才能要来项目,拉来资源,招来人。一样一件事,不一样的人能说出来彻底不同的效果。好比我作了个小工具上线了,我就只能说出来基本事实,而让leader描述一下,这就成了,打造了XXX的工具抓手,改进了XXX的完整生态,造成了XXX的业务闭环。老哥,我服了,硬币全给你还不行嘛。据个人观察,每一个互联网公司都有这么几个词,抓手、生态、闭环、拉齐、梳理、迭代、owner意识等等等等,咱们须要作的就是熟读并背诵全文,啊不,是牢记并熟练使用。

 
 

这是对事情的包装,对人的包装也是同样的,尤为是在晋升和面试这样的应试型场合,特色是流程短一锤子买卖,包装显得尤其重要。晋升和面试这里就不展开说了,这里面的道和术太多了。。下面的场景提炼自面试过程当中和某公司面试官的谈话,你们能够感觉一下:

 
 
  • 咱们背后是一个四五百亿美金的市场...

  • 我负责过天天千亿级别访问量的系统...

  • 工做两年能达到这个程度挺不错的...

  • 贵司技术氛围挺好的,业务发展前景也很广阔...

  • 啊,彼此彼此...

  • 嗯,久仰久仰...

 
 

人生如戏,全靠演技。

 
 

能够多看leader的PPT,多听老板的向上汇报和宣讲会。

 
 

选择和努力哪一个更重要?

 
 

这还用问么,固然是选择。在完美的选择面前,努力显得一文不值,我有个多年没联系的高中同窗今年已经在时代广场敲钟了...可是这样的案例太少了,作出完美选择的随机成本过高,不肯定性太大。对于大多数刚毕业的同窗,对行业的判断力还不够成熟,对自身能力和创业难度把握得也不够精准,此时拉几我的去创业,显得风险过高。我以为更为稳妥的一条路是,先加入规模稍大一点的公司,找一个好leader,抱好大腿,提高本身的我的能力。好平台加上大腿,再加上我的努力,这个起飞速度已经能够了。等后面积累了必定人脉和资金,深入理解了市场和需求,对本身有信心了,能够再去考虑创业的事。

 
 
 

若是对本身没太大自信的话,那就来头条一块儿抱团取暖吧,记住找我内推。

 
 
 

原本还想分享一些生活方面的故事,发现已经这么长了,那就先这样叭。上面写的一些总结和建议我本身作的也不是很好,还须要继续加油,和你们共勉。另外,其中某些观点,因为我的视角的局限性也不保证是普适和正确的,可能再工做几年这些观点也会发生改变,欢迎你们跟我交流~(甩锅成功)

 
 

最后祝你们都能找到心仪的工做,快乐工做,幸福生活,广阔天地,大有做为。

 
 
 

有完整的Java初级,高级对应的学习路线和资料!专一于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!


欢迎关注微信公众号:码邦主

 

做者:syntax_error

连接:https://www.nowcoder.com/discuss/351805

来源:牛客网

相关文章
相关标签/搜索