ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BAT 老兵的经验之谈,成长路上这个道理越早知道越好

2021-05-16 23:58:01  阅读:172  来源: 互联网

标签:ROI BAT 自己 学习 源码 老兵 思考 文章 经验之谈


前言

人生就是一个自我投资的过程,关注我,这会是你程序员道路上最好的投资。

“只有知识的积累,而没有深度思考,终究无法完整蜕变。”——《感动中国》年度热心观众,程序员囧辉

 

ROI

ROI,即 Return on Investment,也就是投资回报率(投入产出比),它是一个投资术语。

在我看来,ROI 法则对于我们的工作、学习、生活,同样适用。

本文源于个人过去几年的成长、思考和总结,可能不完美,但是相信会有所帮助。

 

1、ROI 于工作

ROI 对于工作而言,主要体现在:1)绩效晋升;2)技术能力。

 

在工作中,很多程序员的工作模式应该是:做需求 -> 做需求 -> 做需求...,永无止境的做需求。

说实话,这种工作模式的 ROI 是非常低的,因为绝大部分需求都是在已有的框架里进行简单的 CRUD,即使在一些 QPS 几十万上百万的部门也会有很多这样的需求。

这些需求其实无法让你学到太多的东西,天天做这些需求,技术得不到进步,绩效和晋升也和自己彻底无缘,只能成为别人眼中苦逼的 “老黄牛”。

述职答辩时,不知道写什么,感觉自己好像很忙,做了很多需求,但是好像没啥有技术含量的可以写。跳槽时,简历不知道怎么写,都是一些 CRUD,真是头大。

因此,在工作中,我们需要“聪明点”,尽量让自己的工作 ROI 高一点。

 

以下是我自己这几年总结的常见提升工作 ROI 的思路:

1)可以做一些简单的 CRUD 需求,也必然会做一些简单的需求,但是绝对不能一直做简单的需求。可以主动去揽下一些线上问题排查、性能优化的事情,主管可能还会夸你积极。

2)解决问题是让自己技术能力提升最有效的途径,例如:解决线上问题、进行接口的性能优化、进行项目重构等。程序员说到底,就是拼谁的解决问题能力更强,解决问题的过程中会有很多新的认知,能让自己得到很多宝贵的经验。

3)任务排期时,一定要留有 buffer,可以按 0.7 ~ 0.8 来算,例如 8 天的工作量可以排 10 天,这样万一有什么线上问题之类的情况,自己就能从容的应对,而不是自己默默的加班。

4)需求是永远做不完的,你就算每天上24小时的班,需求仍然做不完。所以,请稍微自私一点,不要把自己的所有工作时间都排给做任务,尽量每天能留给自己 0.5~1 个小时的时间自由安排,利用这个时间去提升自己:思考、总结、看优秀技术文章、看源码都是不错的方式。

5)每做完一个任务,不要急着进入下一个任务,一定要进行思考和总结。

  • 对于当前的工作绩效:思考这个任务里面的价值点在哪,产出了什么,提升了多少指标,有哪些是可以在自己之后的述职和晋升答辩里用上的?
  • 对于日后的跳槽:思考有这个任务的复杂点在哪,有没有什么技术点是后面自己跳槽时能写到简历里的,是否有一些点能让面试官觉得很牛逼的?

将自己的思考通过文档记录下来,经过思考和总结下来的内容通常是后面述职答辩时很好的材料,并且有文档记录,也能让主管看到你实实在在的产出,如果你的思考和总结内容足够好,说不定主管会在他自己的报告里使用上你的内容,那你在主管心中的地位一下子就上升了。

6)公司只付你 5 天的薪水,尽量不要在周末加班干活,把这个时间留给自己,有家庭的多陪陪家人,单身的可以看点书提升自己,最重要的,每周进行锻炼,身体是革命的本钱,照顾好自己。

7)解决问题和优化的过程可能很痛苦,有些甚至可能会持续到几个月,但是正是这些让你痛苦的时刻,逼迫着你成为更好的自己。

8)最重要的:多思考,多思考,多思考。程序员在每次迈向一个新的台阶时,必然要经历一个蜕变的过程,当你不断积累知识的同时,只有不断思考,才能让自己完成量变到质变的飞跃。

 

2、ROI 于学习

ROI 对于学习而言,主要体现在:1)面试;2)技术能力。

 

程序员行业目前内卷非常严重,而 Java 后端毫无疑问是 “卷王之王”,需要学的内容太多了,你要每个都去学,说实话不现实。

因此,就像我们以前准备考试一样,我们需要将时间合理的分配,优先准备那些重要的知识。

对于 Java 后端而言,我花三个月学习了 redis,你花三个月学习了 k8s(kubernetes),无论是日常工作,还是面试,毫无疑问肯定是我的 ROI 更高。

选错方向是很多新人容易犯的错,花了几个月,结果学了个寂寞。

 

对于 Java 后端知识体系而言,按当前面试题的重要程度/出现频率而言,我对各知识点的分档如下,越靠前越重要,学习的 ROI 越高:

  • 一档:集合(HashMap、ArrayList)、并发编程(线程池、synchronized、CAS、Lock、AQS、ThreadLocal、volatile)、MySQL(索引、锁)、Redis(缓存、分布式锁、高可用)、JVM(运行时数据区、GC、CMS、G1)
  • 二档:Spring(IoC、AOP)、MQ(Kafka)、Zookeeper(注册中心、分布式锁)、RPC(Dubbo)
  • 三档:MyBatis、设计模式(单例、代理)、算法(剑指offer)、分布式理论(BASE、CAP、2PC、TCC)
  • 四档:TCP、HTTP、Netty、SpringMVC、SpringBoot、Elasticsearch
  • 其他

如果你认为有些知识缺少了,或者觉得分档有问题,欢迎留言和我探讨。

 

同时,干我们这行的,大部分都要花业余时间去学习,但是很多人的学习思路可能不对,导致学习的 ROI 很低。

对于个人在业余时间的学习上,以下是我个人觉得的有利于提升 ROI 的经验:

1)知识的深度和广度都很重要,但是若要选择其中一个进行深造,我会选择深度。我自己也是这么做的,看我博客多的同学也应该能感觉的到,我其实写的知识点不会很多,但是深度基本都是在我能力范围内拉满。

2)深度是你进入大厂很重要的敲门砖,而且当你的深度足够深时,去提升广度你会发现非常容易,因为绝大部分优秀的开源软件其底层的设计思想都是相通的。

3)源码会让你更自信。如果一个知识点你没有深挖到源码,你在对线面试官的时候必然就会不自信,因为你没有亲自看过其“真面目”,面试官多问一句,你心里就虚了。

4)学习源码会让你付出很多,但是同样回报很多,自己亲眼看到“真相”的那种感觉,只能用一个字形容——爽。

5)学习源码的前提是你对这个东西有基础的了解,了解其核心的使用。在学习的过程中,不要硬怼,硬怼效率很低,而且容易出错。多参考已有的文章和书籍,站在巨人的肩膀上,我们才能看的更远。

6)99.9% 的公众号/博客文章都只能让你在某个知识点入门,有小部分能让你和 BAT 面试官对线,但是要达到和 BAT 面试官轻松对线的程度,还是需要自己去挖源码,自己去看真相。

7)看文章不在于多,而在于精。网上好的文章不少,但是水文更多,要学会辨别,文章注重质量而不是数量,一篇好文章的收获是非常可怕的。

8)文章也好、书籍也好,某个知识点看一遍不懂很正常,收藏起来多反复阅读理解,不懂的名词百度搜搜资料帮助理解,这个过程会让你的知识体系像树枝一样不断向外蔓延,这就是成长的过程。

9)尝试使用费曼学习法。我写博客是不赚一分钱的(这你还不关注?喵喵喵~),那我写博客的 ROI 岂不是很低?其实不全然是,如果是,那我不是在打自己的脸。

写博客其实是我落地“费曼学习法”的最终实践,所有你们看到的我发表出来的文章,其背后都可能是我反复看了无数遍文章和源码、无数遍自我提问、无数次的自我总结和思考、无数次的修改,最终才得出来的。

所以,我能很坦然的说,这就是我能力范围内拉满的文章了。

10)加一些优质优质优质的学习交流群,三个臭皮匠赛过诸葛亮,很多你想半天想不懂的问题,可能在别人那就是几秒钟的事。当然,那种只有群主每天定时发公文的群,加再多也没用。

11)有办法结交自己学习领域的大神,就多结交一点,当你不断的成长,到后面你会发现你要学的东西在网上资料很少,很多东西都只能自己硬怼。c++菜鸡的我在看 MySQL 源码时深有感触。

 

我的学习历程

都聊到这了,给大家送个“福利”,简单介绍下我的学习方式,供大家参考。

15.7~17.01:这期间我是完全不学习的,就是一条彻头彻尾的咸鱼,看过我文章的同学也应该知道。

17.02~18.10:如梦初醒,通过面试题和书籍,快速成长,也开始写博客。

18.11~20.09:源码、写博客,将每个知识怼深了,通过写博客落地费曼学习法。

20.09~如今:项目、源码、写博客,换了个业务量很大的部门,努力学习积累中,源码和写博客当然也不能拉下。

可能有同学会问我难道不看别人的公众号/博客文章吗?

说老实话,虽然我自己写公众号,但是其实我自己很少主动看别人的公众号文章,因为要找到一篇好文章太难了。

我看别人文章的情况,大多是在我学习一个知识点时,我会去参考一些其他人的源码分析文章,来辅助自己的理解。

另外,就是也会看一些公司内网的文章,大公司内网的博客技术分享质量都比较高,所以不会有水文的烦恼,基本上或多或少能收获点东西。

 

ROI 于我

所以,其实理论上从 17.02 算起,我的学习历程也就 4 年多而已。

这期间的学习为我带来了多少回报了,最直观的方式就是看年薪,我在 20 年跳槽的时候的年薪比 17.02 当时年薪已经增长超过 5 倍。

而如果以 20 年跳槽的时间点来算,其实就过了 3.5 年。而入职新公司以来,我最薄弱的项目也在飞速发展中,所以现在我的售价应该另算,哈哈。

就目前的互联网行情而言,我知道自己的薪水提升空间还是很大的,所以也还在努力提升自己。

程序员其实是一个相对比较公平的职业了,你只要坚持努力,多多少少会收到回报。

送给大家一句话:奋斗吧,将来的你一定会感谢现在努力的自己。

 

最后

能多一个朋友,不要多一个敌人,随手就能帮的忙,随口就能说的好话,多做一点,可能会让对方感激很久。

比如我在文章最后求赞,有些人可能会想,求赞狗我才不点,我就要白嫖;而有些人则很 nice,花了几秒钟,点赞收藏留言一气呵成。

可能这随手的一键三连,就让我们成为了朋友,以后他有什么工作或职场的问题,我可以给出一些有用的建议,那这几秒钟的 ROI 是不是就很高了。

标签:ROI,BAT,自己,学习,源码,老兵,思考,文章,经验之谈
来源: https://blog.csdn.net/v123411739/article/details/116087022

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有