四年,上海,车房妹

B 哥是我的导师,记得我刚进入腾讯实习的那天,是他出来接我。当时我有点怀疑,不会吧,不会吧,我的导师这么年轻?和我想象中的经验丰富的程序员的样子简直天壤之别。

想象中的程序猿

后来确认了,他就是我的导师,怎么会这么年轻呢?惊讶之余,我也在期待他有没有什么过人之处,可以带我学习带我飞。

直到现在认识 B 哥已经一年多了。老实说,刚开始我还并没有觉得他特别厉害,但是随着和他在工作中的合作交流,渐渐地加深了对他的了解,我才越来越发现,这个人是真的强啊!

有多强呢?

B 哥本科毕业后直接工作,经历了四年的打拼,如今的他已经是腾讯的高级软件开发工程师和技术 owner,在上海有好车、买得起市区房,前段时间还和漂亮妹子领了结婚证,真是典型的人生赢家啊!关键还很帅,发量足,你说酸人不?

酸了

那么 B 哥是怎么做到年轻有为、有事业、有车房妹的呢?

曾经 B 哥也和我讲过他的成长经历,但是今天我要分享的不是他的奋斗史,而是想和大家聊一聊,我作为他的徒弟,和他发生了那么多故事,从他的身上看到了哪些优秀的技术人应该具有的特质,也是我认为 B 哥牛逼的原因。


技术控

很多优秀的程序员应该都有对技术的追求,或是见多识广,或是深入研究,而且非常乐于将他们懂的技术分享给更多人。

B 哥就是这样一位技术控,他刚毕业的时候,就通读了很多知名框架的源码,并且能够将他们清晰地讲出来。记得我刚进腾讯的时候,听的第一场技术分享就是 B 哥的《深入 Netty》,从分享中,能明显地感受到 B 哥对这个技术的深入理解和融会贯通,让我们这些小白也能深入浅出。而让我震惊的是,B 哥早在多年前,就已经了解并学习了这门技术。

如果不是对技术有独特的追求,怎么能坚持这么多年去深入学习一门技术呢?真的很佩服。

全局观

我觉得跟 B 哥开会老有意思了。

每次和 B 哥一起开会讨论技术方案,在我们其他人觉得这个方案没问题时,B 哥都会说一句:“我建议大家再好好想想,有没有什么遗漏的点,我觉得这里面可能有坑!”

其实我当时心想:能有啥问题啊,多好的方案啊!

陷入沉思

然后 B 哥和大家就陷入了沉思,一会儿之后,果然 B 哥发现了这个方案的漏洞。

原来,我们很多同学都只考虑这个方案对自己团队的项目是否适用,保证自己的负责的数据是否正确,而忽略了大家的项目是要紧密协作、相互配合的,视野太过局限。而如果将这个方案应用到完整的大项目中,各个团队的数据可能出现不一致,就是一个很大的问题!

后来和 B 哥接触多了,发现 B 哥非常有全局观,总能站在一个更高、更全局的视角去考虑问题。在设计方案时,不仅考虑自己的负责的系统,还要想想这个方案会对其他团队的系统、以及整个大项目会有什么影响。因此,规避了很多的风险,也在各团队中树立了自己 “稳” 的形象。

想成为优秀的技术人,一定要培养全局观,否则在负责大的项目时可能会力不从心。

慎行

B 哥做事非常小心谨慎,体现在多个方面。

在设计方案时,B 哥会尽力验证方案的可行性,而不是凭直觉和过去的经验主观臆断。

在编写代码时,B 哥坚守『 软件世界中的不信任原则 』,采用防御性编程,在每个可能的风险点加上异常处理机制,并利用监控告警即时发现线上问题。

在测试时,B 哥会考虑到很多的极端情况,保证测试有效且完整。

在提交代码时,B 哥会再次整体通读代码,并让我们其他同事参与代码审核,保证代码的质量。

正是因为 B 哥的慎行,跟他一起做项目非常放心,几乎没有出过线上问题。唉,好久没有体验过改 bug 的紧张刺激感了。

平淡

沟通

在企业中,高效沟通太重要了。

记得有一次我遇到了一个问题,就拉了一位相关的业务负责人来讨论,然后这个负责人又拉了一个产品经理,然后这个产品经理又拉了一个开发,最后这个开发又找到了 B 哥,然后 B 哥又来找我。

禁止套娃

最后局面非常尴尬,其实是我自己沟通不当,没把问题描述清楚就去找别人帮忙了,浪费了大家的时间。在 B 哥的指导下,我整理了自己的思路,清晰地描述问题,然后直接找到相关负责人,打个电话问题就解决了。

优秀的技术大佬,他们的沟通能力通常是很强的,他们能够用方便他人理解的方式来描述问题,比如提供文档、图片、甚至是视频等,拒绝无效沟通。而沟通能力也是需要实际锻炼才能提升的,每个人沟通和表达的方式也不同,还是要多和他人沟通,并且向沟通达人学习和积累经验。

架构能力

B 哥很会架构。就拿我们负责的这个项目来说,短短几个月,业务功能已经变得复杂不堪,而且请求量也已经增长了上千倍。

但是 B 哥在设计程序架构时,用了很多的设计模式,使得程序变得易于扩展。即使业务增长很快,我们仍然可以轻松应对业务的扩展,每次新增一个功能也几乎不需要改动现有的代码,而是新增代码即可,不仅开发效率更高,风险也大大降低。

B 哥在很早前就考虑到了业务增长的可能性,因此给项目采用微服务架构,针对部分性能瓶颈,采用可扩容设计,使得提升项目的性能和吞吐量变得易如反掌。请求量增长,咱加机器就行了!

轻轻松松

我问 B 哥:“你的架构能力是怎么提升的?”

B 哥却告诉我,没有捷径。想要提升架构能力可不简单,不仅仅需要阅读大量的书籍,更重要的是在企业中不断参与项目实践,积累经验。

刨根问底

刚来实习的时候,对公司的很多技术框架、业务知识都不太懂,就经常去请教大佬们一些问题。但是每次只要成功地解决了问题,我就心满意足了,而不去关心问题背后的原因。

比如有一次程序挂了,后来又恢复了,我就没去排查。

然后 B 哥问我:“程序为什么挂了?”

我根本没去查,所以也没办法回答 B 哥,就说了一句:“现在好了不就行了么?”

B 哥语重心长地说:“程序出现问题不可怕,但是出现了问题不去追溯原因,下次再出现相同的问题,怎么办?尤其是偶发问题,是最致命的!”

我觉得有理,就去分析日志,查出来是有一段时间数据库宕机了,就赶紧开心地告诉 B 哥。

结果 B 哥很严肃:“数据库宕机不是小事!你知道数据库为什么宕机么?”

我心想:我怎么知道啊!去问运维啊?

后来我就去问运维,发现是由于数据库压力过大导致的宕机,就又屁颠屁颠地告诉 B 哥。

B 哥依然严肃:“数据库压力为什么大?”

我就又去分析日志,联合运维一起进行排查,最后发现是其他共库业务的慢查询导致的数据库请求阻塞。这才终于真相大白!于是我们将数据库独立迁移,很好地规避了日后的风险。

这件事之后,我开始像 B 哥一样,遇到问题刨根问底,深挖问题的本质,我认为这个过程远远比解决问题更重要,让我得到了更大的成长。

打破砂锅问到底

洁癖

有一次,我写了一坨自认为不错的代码,提交前把代码先交给 B 哥来检查一下。

然后 B 哥看了一会儿,神情凝重,缓缓转过身问我。

“你有洁癖么?”

我当时一愣,随即明白 B 哥是在说我写的代码不够整洁。

作为一个读过《代码整洁之道》的程序员,我很自信地回答:“当然有洁癖!”

B 哥就给我指出了代码中的问题,原来有一段逻辑我使用了多个 if-else,其实应该用设计模式来代替。

我当时还振振有词:“我觉得这里直接用 if-else 就行了,省事儿啊!”

B 哥:“不通过,改!”

后来我乖乖地改了。果然之后这段代码增加了一些复杂的逻辑,如果用原先 if-else 的方式,代码的改动工作量非常大,还容易出错。而用了设计模式,程序变得更加可扩展、可维护。感谢 B 哥和代码洁癖!

现在想想,当时的自己不过为偷懒找个理由罢了。

用户为本

B 哥非常宠用户,体现在两个方面。

首先,他在和产品讨论需求和设计方案时一切从用户出发。只要对用户真的有帮助、能提高他们的使用体验,哪怕工作量多一点,只要性价比是合理的,B 哥也会去做。因此,我们的产品才能变得更加易用,得到用户的好评。

此外,每次出现线上用户的问题和反馈,B 哥都会在第一时间积极地配合产品进行处理和引导。在帮助用户解决问题后,B 哥会记录这些问题发生的原因,并思考如何改进程序来防止类似问题的发生,以及如何进一步提升用户的体验。

不仅仅是产品经理才要坚持 “用户为本” 的原则,优秀的技术人也会关心用户、倾听用户,而不是一门心思陷到代码中,只想着如何把代码写的又好看又简洁。

倾听用户

执行力

B 哥做事一向快、狠、准,有着极强的执行力,只要答应过别人的事情都会按时完成。

曾经我也一直觉得自己的执行力很强,但到了公司后,发现很多事情也喜欢拖延。比如答应给别人提供接口文档,结果后来就忘了,直到别人再三催促才草草写了几笔应付了事。

我就很好奇 B 哥是如何做到 “雷厉风行” 的?

好奇

暗中观察 B 哥一段时间后,发现 B 哥始终保持对工作的热情和积极性,别人有事找他时,他能够站在对方的角度去考虑这个事情的紧急程度,然后将其进行记录,并和自己正要处理的其他事情按优先级进行排序。有时,B 哥还会设置一个定时提醒防止自己忘记。

安排好要做的事后,B 哥就保持专注地一件一件去处理事务,并在完成后及时回复对方。即使有时实在太忙,也会提前告诉对方自己暂时无法处理,并给对方一些临时的处理方案。

比起乱序地同时去处理多个事,B 哥的这种工作方式显得更加沉稳,这也是 B 哥能持续保持强执行力的原因吧。这么一想,很多技术大佬好像都是这样。

刚刚夸完 B 哥执行力强,怎么又提到 “懒” 了呢?

的确,无论是在处理业务还是具体到敲代码,B 哥都很懒。

比如,由于网络等原因,我们的定时任务程序可能执行异常,就需要重新去执行一次。最开始都是我们人工去平台上点重新执行的,但次数多了就比较烦了。B 哥懒啊,就提出写个程序自动重跑执行失败的任务。后来我们再也不用人工去操作了,巴适得很!

用 B 哥的话来说,所有人工的操作本质上都可以交给机器自动来完成,只是实现的难度不同罢了。如果编写一个小程序就能省去重复的工作,何乐而不为呢?

其实,大部分优秀的技术人都很 “懒”。懒得写重复代码,我们就抽象、封装、组件化、复用;懒得去核对数据,就写任务定时自动去检测数据;懒得写代码,就使用一些脚手架、框架、低代码构建平台等。

懒人推动世界。

画图能力

这里的画图不是指电脑上的 “画图程序”,而是指计算机相关的图片,比如系统架构图、部署图、UML 类图、时序图等。

在认识 B 哥前啊,我觉得自己画图老厉害了,简直 “灵魂画手”,巧夺天工啊。

直到后来看了 B 哥画的一些架构图、时序图、状态机图等等,我才发现自己真的是井底之蛙。B 哥画的图不仅大气干净,而且利用一些小技巧帮助大家更快地理解这些图要表达的意思,比如用不同的颜色来区分关键信息等。

最佩服的是,B 哥画图不仅好看,还特别快。有时画图的速度甚至超过了我们去阅读理解图的速度,恐怖如斯!

后来,在公司待久了,阅读了更多的技术方案,才发现优秀的画图能力是技术大牛的必备技能。很多复杂的系统和方案,我们无法单纯地用语言去表达,而使用图片的形式能够帮助大家理解。

当然,想画好图本身并不容易,也是需要设计思维和经验的。因此,我们需要多多锻炼自己的画图能力。建议多看他人的图,模仿的多了,说不定就超越了呢?

复杂的架构图

引路人

我放弃保研,选择直接实习转正留在腾讯,很大一部分是因为 B 哥。

B 哥可能不是技术最强的师傅,但一定是一位好师傅。别的不说,B 哥给新人非常多的发挥空间,让我自己去思考和设计方案来实现需求。在我遇到一些问题后,并不是直接帮助我解答,而是引导我自己去解决这个问题。

B 哥非常信任新人,一些项目的技术选型、方案调研、架构设计,B 哥都能够交给我来做。因此,我非常有动力,也变得更加自主,在短时间内得到了很大的成长。

B 哥还非常关心新人的成长,经常和我交流,给了我很多实用的意见,真的很感谢 B 哥。

此外,B 哥还经常耐心地帮助其他同学解答问题,不是简简单单三言两语就完事儿,而是直到提问的同学彻底理解,方才罢休。

优秀的技术人不仅要自身技术过硬,还应该懂得如何分享传授技术、带领他人进步,不断提升自己的影响力,甚至是成为某项技术的布道者。

爱生活

最后啊,分享 B 哥保持年轻的秘诀吧!

B 哥不像大家想象中的程序员,双眼无神、眼圈发黑、脊背弯曲、格子衬衫、不爱运动。相反,B 哥非常热爱生活,每周会坚持健身、自己下厨做饭、养了一只布偶猫,还经常带妹子去各种地方玩!

羡慕了,什么时候我能像 B 哥一样,平衡工作和生活,活的潇潇洒洒啊!


其实,还要很多优秀的技术人需要具备的其他特质,比如追求极致、洞察力、决策力、创造力等等。学无止境,我们仍然需要不断努力和成长。

最后,正好 B 哥的生日也在这个月,就提前祝 B 哥生日快乐叭!

希望能够继续跟着 B 哥混啊,有朝一日青出于蓝而胜于蓝,我也能成长为一名优秀的技术人,成为别人的导师,帮助更多人进步!

有兴趣的同学也欢迎阅读下我正在连载的漫画编程大百科 ~

#职场#
全部评论
来凑凑热闹,看看传说中的B哥
1 回复 分享
发布于 2020-12-15 11:52
顶顶鱼皮。酸了,希望自己也有车房的一天
1 回复 分享
发布于 2020-12-13 19:46
1 回复 分享
发布于 2020-12-13 16:58
优秀的人都是很优秀的人在一起的。
点赞 回复 分享
发布于 2021-09-22 09:49
太强了
点赞 回复 分享
发布于 2020-12-17 20:02
点赞 回复 分享
发布于 2020-12-14 17:34
点赞 回复 分享
发布于 2020-12-14 11:27
好家伙
点赞 回复 分享
发布于 2020-12-14 10:34
酸了
点赞 回复 分享
发布于 2020-12-14 00:33
点赞 回复 分享
发布于 2020-12-13 21:32
m
点赞 回复 分享
发布于 2020-12-13 20:11

相关推荐

04-26 14:36
已编辑
郑州信息科技职业学院 Java
由于高考成绩不是很理想,听取了张雪峰老师的建议,优先选了专业并且当时的想法就是选一个能赚钱的专业,于是最终选择了报了一个能收留我的有计算机专业的学校。当时听张雪峰老师说河南的学习氛围很好,所以就想去体验一下,事实雀食如张雪峰老师所说,大家都一股脑的铺在学习这条路上。可能是因为那边氛围导致的吧,我一开始想的也是卷学习卷绩点,所以大一的时候就一直在学习硬试教育的一些东西,学期结束了,排名出来的时候中上水平吧,据我了解保研的只有前5名可能会有机会,当时的心里就想着,我这成绩再卷也卷不到哪去了,并且保研也无望了,总结的说,一些事情只有真正做了才知道是不是自己所追求的。说了很多废话吧,剩下的关于学校的就长话短说了吧。大二很多专业课基本上要从早八上到晚上,但基本上我都是不去,不如自学现在新媒体技术这么发达,并且还可以学一下自己需要的技术栈,由于学校的课程原因对其他的技术栈不是很了解,所以,一心就投入在Java这个方向了,但是,Python也会学一下,这是因为加入实验室,实验室老师是做人工智能方向的缘故。现在回想,我大二当时还是学的太慢了,还有就是信息差太大了,出来工作之后才发现有些佬们已经大二就出来实习,并且八股就背的滚瓜烂熟了。只能说这里的学习氛围很好吧,走廊里都是背书刷题的声音,跟身边的同学和实验室的同学谈是否直接就业的事,他们要么都是说考研,要么对直接就业很含糊,可能是因为觉得自己学的还不够吧,我想说,学的不够就干中学呗,反正,我先迈出去这步再说。到了大三上还是没有找工作的打算,因为身边的人也都还没有这个意识吧,现在跟了身边的同事聊天才知道,我的信息差太大了。到了大三下刚开始,我才开始正式的踏上求职路,当时的信息差还是很大的,根本就不敢碰瓷大厂,想着有一个公司能要再说吧,并且地域也限制的很死,只想着在本地找一下,因为怕学校找事(我想这是学校一贯操作了),在本地吧,他们大多数都是接受的线下面,一开始面了一个,可能自己比较摆也很悲观,就显得我很差吧,hr面完就没后续了,最终终于有一个面,并且也展示出自己的自信和对专业的理解了,最后,我也没想着这么多背调公司呀,当个备选什么的就直接去了。也算是我的第一家正式的公司吧(之前都是线上的码农兼职),干多了就发现,这个公司压根学不到东西,并且薪资低的,因为我是第一个进来的计算机实习生,有一个同事干了两三年的吧,带着我做的时候是真能学到东西,但是,最后那个同事离职了,我就只能和学艺术的老板直接汇报项目进度,一个学艺术的来指导我这个科班出身的就很离谱的好吧。最后,我也离职了,也跟前同事聊了很久,她说我是她见过大三就能学到这程度,已经超过很多人了,并且她当时在的时候还说我是内定能转正的。并且还说我真的可以去考研。我也仔细思考了一下,我决定让自己沉淀一下再出发吧,先备考了软件设计师,然后期末考,大三暑期的时候就充实自己的简历,并且也认识了一个某东的老哥,也用了内推码,教我了怎么写好简历量化成果之类的,总之,很感谢一路走来帮助我的人吧,并且我在边充实自己的同时也在边投递简历,但当时卡的也很死,要选base地在河南附近的,不像现在全国可飞。面了很多base地在学校附近的,然后,还有一个北京的py和杭州的java,最终就这两个地方给了offer,但是都是实习转正的,不是秋招offer,因为觉得Java的太卷了,然后,面试的时候也会感觉压力很大,所以就把杭州的那个拒了,去了北京的,北京是免费住的房子(三个月这是伏笔),当时觉得环境很好,但是合租室友的作息跟自己的作息不一样就很不习惯,于是,我就想着要是三个月后我一定要找一个单间的哪怕破一点。北京这个公司吧就很像国企的感觉,早九晚五,当月发当月工资,并且干的活接触的数据量都不是很大,就是干了很多杂活,并且mentor和部门的领导都不是技术出身,所以,我能学到的东西少之又少,但是吧,学习是自己的事,而且这部门不是很忙对于实习生来说,我完全可以学自己的东西(前提是不被发现)。到最后这个部门的氛围就很微妙,我遇到不会的问他们我应该怎么做的时候,他们说让我自己想,我当时就想说,神人一个,啥都不说让我自己干,干出来又不满意,你说你让我干py的东西你不会我就不说啥了,让我干无关代码的东西,让我调研项目应该做些什么内容,现在回想都是泪呀,我就这样被欺压的过完了三个月,最后免费住的地方也到期了,伏笔来了,最后,找我谈话说你技术可以了能看出来,因为你也自己独立完成了消息通知那一块内容嘛,但是,由于我们部门干的活比较杂并且我也缺少一些电力相关的一些知识,所以,觉得不合适。(OS:其实我对每一份工作都是真心换真心的,并且这些电力知识我也知道我有一点欠缺所以我也有自己再学习,你们啥也不教我,最后把屎盆子把我头上扣)最后,回到了学校,心态也发生了变化,想着做啥都不如找一个稳定的工作重要,想着回家沉淀吧,少年终有出头日。但是,计划赶不上变化,之前那个同事,内推了我去她现在的公司,并且是做AI应用的也是我想接触的,并且还是与我上家的业务场景类似的,真的感谢那个同事,俗话说:千里马常有而伯乐不常有。并且那里的部门领导也很好,并且说我虽然不是电力相关出身的,但是能做的这样已经很不错了,所以DDDD,由于各种不可抗力因素吧,还是想找一个离家近,然后不是很像小作坊的感觉(这个公司虽然比较小,但是比之前那个大的公司的氛围和待遇一点都不差的好吧甚至更好)。最终,在学校也呆了一个月吧,也陆陆续续面了一个月有一个C厂的面答的都挺好直接就谈薪了,但是风评不好还是保命要紧,还有各种的中小厂面吧,但感觉都不是自己想要的,只是想刷刷面试经验吧(这是某东哥告诉我的,与其一直改简历不如去多面)。最后,在校期间面了一个比较合适的某鸦智能,一直推进到了HR面,但是最后被横向了,开始复盘,被横向了属实是没招了,经历了这么多大风大浪什么场面没见过。过年期间,求职路线关闭,把自己缺少的技术栈和简历中的项目业务理清楚说明白。年过完就要开始加入找工作大军中了,把节前没面完的先面了,节后一开始就是某鸟的HRG面,聊的就很憋屈的感觉,问我技术方面的,说我说的很像AI的(我心想跟你说具体的细节你又说我不想听技术的,说的比较宽泛浅显说我AI)。最后,反正体验感不是很好的结束了吧。说一个星期等通知,等了两个星期才说是通过的(我认为是排名靠前的那些人没去,顺位到我了)。那你既然这样说了,那我就接受吧。还没入职就问我要身份证信息要这要那的,最后都给过去了,说HC调整,要重新review,又又又一次被恶心到了。后面就是陆续的沉淀面试等,我当时的重心已经完全的想着私企没人要,就去试试考公和考央国企了,毕竟我的履历不看学历的话放到电网当中还是可以的。私企的话有一个外企洋里洋气的说话,问我怎么口语这么好?我说这叫智取,宝贝。虽然这个tek外企过了,但是还有一个openday要去线下,来回的衣食住行不是很方便也不是很想去所以就拒绝了没去。后来就收到了,国网网申通过的通知,说实话,我之前问了很多我们学校历年有没有考央国企之类的案例,很显然都不知道,也可以说少之又少吧,于是我就奔赴京城进京赶考,唉,时间不太合适就想着算了吧,再等等,好事多磨,宁缺毋滥吧。金三银四终于等来了面试的机会,这个岗位我只能说我不是很熟悉,但是语言这东西吧都是相通的,重要的是我要把其中的内核搞懂,梳理清楚业务逻辑。最终,来到了这家公司,目前来说是我遇到过最好的了,能有hc且不是要通过实习评估的那种,并且合同期限是三年的,并且是12%的公积金。我认为这就是我所遇到的最好的了。希望能真心换真心吧,不再把我当创口贴/路边一条了,并且也遇到了很多优秀的同事。总的来说,就是要是能重来我要选李白。我肯定会打破这些信息差,后悔知道的太晚,并且跟优秀的人聊天说话真的可以学到很多东西,之前上文提到的贵人就不说了,说说最近的,他是跟我一届,学校后缀甚至不如我的后缀,但是真正了解的才会知道真是佬👍,他跟我找工作的时间线差不多,但是他在中大厂甚至大厂都呆过,因为跟他聊了才知道我当时的信息差有多大,并且毅力也是我甚至…都没有的。并且也听说了他们学校找工作的氛围很好,不像我阿巴阿巴阿巴,只有考研等相关的一些。并且说的一些观点都是很认同的。总之,希望能在这好好的吧,我真的不想经历大起大落了。经历了,打招呼挂,简历挂,一面挂,HR面挂,offer挂的,现在的心态已经放宽了很多了,但是难过还是有的,希望这家公司诚不欺我吧。也祝大家遇到自己的梦中情厂
选择和努力,哪个更重要?
点赞 评论 收藏
分享
Hadeslm:也有类似经历,估计是横向了吧
点赞 评论 收藏
分享
评论
32
31
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务