Loading...
墨滴

楼仔

2021/05/26  阅读:42  主题:橙心

人生也需要回头看看

有时候,更应该停下脚步回头看看自己所走过的路,开通微信公众号已经2个多月,对自己的学习和生活做一个简单的总结和回顾。

前言

今天本来是开始学习Spring的,昨晚想了一会,感觉也是时候对自己的学习和生活做一个简单的回顾。第一次写总结和回顾类的文章,估计看的人很少,其实大家看不看无所谓,我主要是写给自己看的(阿Q精神,先自我安慰一下)

我是于2021年3月22日开通的微信公众号,算下来有2个月的时间,这两个月共推了48篇文章,虽然推文章的频率很高,但是我能保证每一篇文章的内容和质量,如果真2个月写48篇文章,且每篇文章的质量都很高的话,其实是不太可能的,我真正开始写文章,准确来说是去年8月份开始的,最开始只是把文章写到公司内网wiki中,后来开通微信公众号后,就把之前写的文章放到了微信公众号。

其实我最开始写文章的原因,是因为去年我领导离职,这两者可能风马牛不相及,不着急,下面慢慢看。

领导离职

我是2019年5月份入职小米,因为工作能力还不错,所以入职不到3个月就带ShareSave虚拟团队,这个是我们虚拟团队当时的成员照片,大家可以猜猜哪个是我。

也是因为这个虚拟团队带的还不错,然后工作中也取得了一些成绩,所以在2020年5月份,就晋升为小组长,带领了一个5人的小团队。所以来小米的第一年,真的是顺风顺水,天时地利人和基本都占了,但是其实内心一直有些焦虑,就是工作能力虽然还比较出色,但是对于自己的技术水平,一直非常担心,所以每次的季度总结,我都会给自己写上一条“技术水平有所欠缺,需要提升”,虽然每次这么写,但是一直找不到突破的入口,甚至有一阵还挺迷茫的。

其实我当时身上的光环,很大一方面是因为领导对我的器重,如果换了一个领导,我可能就没有这么幸运了,我担心的事情终于发生了,在去年7月份,我领导因为个人原因,选择离开小米,他的离开,让我瞬间觉得自己的“靠山”倒了,后面我不能再依靠他的庇护,需要靠我自己去走完下面的路。

我记得是7月底,我领导离开小米,后来才知道他去了字节跳动,如果不是因为我们是异地办公(我领导在北京,我在武汉),我很有可能也跟随他的步伐,即使是在他快离职的那段时间,他仍然给我争取到团队唯一的晋升名额。说实话,因为他的离职,对我的打击还挺大的,但不管怎么样,我一直都非常感激他。

提升技术影响力

领导的离职,剩下的路就需要我自己走了,虽然我在工作上的表现还不错,但是技术影响力非常欠缺,所以我希望能在这块找到突破点,然后就给自己制定了一些技术分享计划。

因为之前对Redis和Mysql还比较了解,所以就打算从这两块开始。我记得当时为了准备一次分享,需要花费一个月的时间,我一般都是前半个月收集资料,后半个月写PPT,就这样,分别于8月和9月在部门内部分享了Mysql和Redis这两块内容,分享PPT可以参考文章:

  • 《Redis设计与实现》
  • 《MySQL-InnoDB存储引擎》)

说实话,在没有准备分享之前,我一直觉得自己的Mysql和Redis掌握的还可以,当真正准备的时候,发现之前很多东西了解的不够深入,然后写PPT是一码事,能讲出来又是另外一码事,所以在此也告诉大家,如果真正想掌握一门技术,给大家分享真的是非常好的途径。

从8月到9月,空余时间都一直倒腾这2个分享了,当这2次分享整完后,因为这两块内容都很基础,也是面试必面的内容,所以我想整个基础系列,专门针对这些基础知识,做一个全面的总结,这就有了后来的"Go语言核心系列“。

于是我在去年十一期间,就开始准备这个系列的内容,前期还是先收集资料,然后把之前看的Go的书籍重新翻阅了一遍,然后结合极客上讲的内容,加上网上大量的博客,从开始整理资料,到完成整个系列的编写,前后花了2个半月的时间,所以我基本是去年12月中旬,才完成整个系列文章,目录如下:

  • 《Go语言核心手册-1.字符串》
  • 《Go语言核心手册-2.数组和切片》
  • 《Go语言核心手册-3.字典》
  • 《Go语言核心手册-4.结构体&方法》
  • 《Go语言核心手册-5.接口》
  • 《Go语言核心手册-6.GMP原理》
  • 《Go语言核心手册-7.通道》
  • 《Go语言核心手册-8.sync.WaitGroup》
  • 《Go语言核心手册-9.互斥锁》
  • 《Go语言核心手册-10.原子操作》
  • 《Go语言核心手册-11.context.Context》
  • 《Go语言核心手册-12.sync.Pool》
  • 《Go语言核心手册-13.sync.Once》
  • 《Go语言核心手册-14.结语&参考文献》

就这样,不知不觉5个月过去了,突然发现写文章的好处还挺大的,一方面可以让你重新学习相关的知识,掌握和理解的深度更深,另一方面,也可以便于后续查询,因为很多东西要是不记录下来,很快就忘了,你写下来,然后可能还会去翻阅一下,印象会深刻不少,这和背英语单词是一个道理。

尝到了写文章的甜头,后面只要是我学习过的内容,我都会写成系列文章,比如后来学习ETCD、消息队列等,我学完之后,都会记录到公司内网wiki中,下面是ETCD和消息队列相关的文章:

  • 《ETCD教程-1.ETCD介绍》
  • 《ETCD教程-2.Raft协议》
  • 《ETCD教程-3.ETCD体验》
  • 《ETCD教程-4.深入ETCD》
  • 《消息队列系列1 - 如何选型》
  • 《消息队列系列2 - 原理初探之Kafka》
  • 《消息队列系列3 - 原理初探之RabbitMQ》
  • 《消息队列系列4 - 原理初探之RocketMQ》

开通微信公众号

其实写文章,还有一个重要的原因,因为我们部门应届生非常多,所以希望能够帮助他们,如果我当时在百度,有一位引路人能给我指点一下,我可能会少走很多弯路。但是我发现把文章放到公司内网,看的人其实不多,即使我给他们讲,也有很多同学听不进去。既然大家不怎么看我写的文章,那我就开通个公众号吧,不希望我写的文章就这样躺着吃灰,就这样,我于今年3月份开通了微信公众号。

微信公众号开通之后,我就把之前写的文章都放到公众号中,因为公众号有个限制,就是每天只能推送一篇(我现在都想吐槽微信公众号的这种方式,太恶心了,然后推送的文章,还不能评论!),所以我就周末把文章先录入到公众号,然后每天上班就推一篇,所以大家看到我推文的频率很高,原因就在这里哈!

后来今年4月份参加武汉的一个Go Meeting会议,我就把我的公众号推广出来,虽然里面的文章不多,但是也是我第一次对外推广自己的公众号。

纠结期

其实转技术栈这个消息,是去年11月份就有了,当初写Go系列的文章,还有个原因就是希望在转技术栈之前,把Go的相关知识做一个总结,也算是对自己的一个交代。其实是否转技术栈,我纠结过一段时间,甚至有过转岗或者跳槽的打算,好不容易学习两年Go,现在突然转技术栈,感觉“太亏”了,然后Java这个技术栈,也不是一下子能掌握的,整个Java技术生态,没有1-2年的功底,很难达到高阶水平,况且我现在年龄也不小了,所以在4月底之前,我一直在考虑是否转技术栈这个问题。(其实还有个原因,因为部门业务调整,团队被拆的七零八落,我们小组之前的核心同事也都离职了,感觉在新团队待下去的意义也不大)

所以3月-4月,我一直处于纠结期,虽然这段时间我已经转到Java团队,但是我对技术的提升,其实还是围绕Go,或者提升与技术栈无关的知识,所以这段时间输出的文章,可以说和Java没有半毛钱关系,比如《消息队列》系列文章,就是这段时间写的,然后还有其它的,我简单贴一下:

  • 《如何用GO支撑海外电商的快速发展》
  • 《Redis 6的多线程》
  • 《如何用Redis实现分布式锁》
  • 《多机分布式执行异步任务的实现姿势》

哦,对了,设计模式这个系列也是这段时间写的,虽然用的是Java语言,但是设计模式其实和语言无关:

  • 《设计模式系列1 - 模板模式&策略模式》
  • 《设计模式系列2 - 工厂模式》
  • 《设计模式系列3 - builder模式》
  • 《设计模式系列4 - 组合模式》
  • 《设计模式系列5 - 单例模式》
  • 《设计模式系列6 - 代理模式》

开始学习JAVA

其实确定转Java技术栈,是今年五一开始的,至于具体的原因,这里不方便透露,以后会再告诉大家。既然决定学习Java,那就好好学,所以五一之后给自己列了详细的学习计划,目前已经把Java的并发编程相关知识掌握了一轮:

  • 《Java并发编程系列1 - 基础知识》
  • 《Java并发编程系列2 - volatile》
  • 《Java并发编程系列3 - synchronized》
  • 《Java并发编程系列4 - final》
  • 《Java并发编程系列5 - 对象的共享》
  • 《Java并发编程系列6 - 同步工具类》
  • 《Java并发编程系列7 - 线程池基本知识》
  • 《Java并发编程系列8 - 多线程实战》
  • 《Java并发编程系列9 - 锁》

回顾历史轨迹

所以这就是为什么我说,我其实是从去年8月份开始写文章的,只是最开的的雏形不是文章的形式,而是PPT,只是后来觉得PPT的展现形式太过单一,不能完整表达我想描述的内容,就改成文章的形式。

其实在我的学习过程中,我会提前制定学习计划,这个计划不会规划太长远,一般会规划到2-3个月,因为太长远的计划,我不一定能保证完成,然后学习的过程,其实也是一个自我探索的过程,我不知道后续我会接触到哪些新的知识,但是能确定的是,我现阶段需要补充哪些知识,所以时间一长,就慢慢形成了自己的学习轨迹。我自己有个习惯,喜欢记录自己的学习轨迹,以及后面待学习的内容,这里我贴出来(这个不是为了炫耀,因为我现在还没有炫耀的资本,如果大家觉得这种方式还可以的话,也可以借鉴一下,这样学习起来就有节奏):

灰色的部分是已经学完的内容,对于Java的学习,我给自己定了半年的时间,后面的学习计划我就不贴出来了,不想搞个宣誓,只想这半年把需要学习的知识学习完就行,因为后面我还有很多其它事情要做(主要是个人的长远计划,希望35岁左右可以达成),留给我的时间也不多了。

坚持&持续学习

学习其实是一个持续的过程,在我领导离职之前,我感觉自己一直没有时间学习,这个其实是自我的一个接口,当我感觉到危机时,学习动力就会强很多。然后之前学习,一是没有明确的目标,不知道要学习哪些东西,在我不断摸索的过程中,看到很多网上的技术博客,很多文章会告诉你需要学习哪些知识,我记得阿里的一位P9大牛写的一篇文章,就是描述了不同工作经验的同学,应该到达怎样的技术水平,然后需要学习那些方面的知识。这些东西网上都就,就是需要自己不断去搜寻,光靠哪个大牛去指导你,或者跟着某个视频网站去学习,肯定是不可持续的。

有了学习的目标和方向,然后就是大家关心的学习时间问题,其实我之前也会每天花一点时间来学习,然后主要的学习时间其实是集中在周末,周末一般会学习一天,然后休息一天,这个是在我正常工作的情况下,但是整个成长的速度其实不快。

因为现在需要在最短的时间内,尽快学习Java相关的技术栈知识,所以我需要加快这个节奏,目前即使是工作日,我每天都会抽出2个小时的时间进行学习,但是为了不影响工作,我将学习和生活时间做了一个调整:

  • 5:50起床
  • 6:30到公司
  • 6:30-8:10学习一个半小时
  • 8:10-8:30吃早餐
  • 8:40-9:27睡觉(因为9:30要开早会,提前了3分钟的闹钟)
  • 11:50-12:25,学习半个小时

所以下面就是我每天到公司的场景:

对于中午吃饭的时间用来学习,这个其实有一点不好,就是不能和大家一起吃饭,可能会让团队同学感觉你不太融入。因为之前带团队,吃饭需要和大家一起,现在因为部门和业务调整,我重新回到一线开发,所以短时间内采用这种方式,我觉得问题不大,等我后续重新回到团队管理者的位置,我中午还是会和大家一起吃饭。

不过如果中午不能和大家一起吃饭,我晚上会尽量和大家一块,毕竟不能一个人太久,时间长了,会有种孤魂野鬼的感觉。

如果工作不忙,晚上9:00-9:30我也会学习半个小时,所以这样就肯定可以保证每天2个小时的学习时间。然后周末一般是学习一天半,休息半天,如果太累的话,就学习一天,休息一天。

可能有同学会疑惑,你起这么早,起得来么?我一般晚上9:30下班,这个点路上不堵车,10就可以到家,简单洗漱后,差不多10:40左右就可以睡觉,所以算上我早上和中午各休息一个小时,我其实每天能保证8-9小时的睡眠。

这个作息时间开始感觉有点疯狂,目前已经持续了一个月,现在也习惯了,后面还会再持续3个月(因为老婆3个月后,就不用这么早起,所以我早起,还有一部分原因是老婆的作息时间,这是不是告诉大家一个道理,如果要早起,应该提前找个老婆哈),其实以前我在北京工作,基本都是凌晨睡,早上8点多才起床,现在有了家庭,就不能像以前那么任性了。

锻炼身体

做程序员的,坐久了身体问题会非常多,所以每周也给自己制定了锻炼的计划,每周我会抽出2个时间段去锻炼身体,小米的基础设施还不错,我在三楼办公,二楼有健身器材。我一般会用晚饭时间进行锻炼,大家一般是17:45开始去吃饭,这个时候我就去健身房锻炼一下,估计会锻炼40分钟,然后18:40开始去食堂吃饭,刚好不用排队,晚上7点就可以投入到工作,所以吃饭锻炼两不误。

后续规划

目前已经工作快6年了,之前在百度呆了3年,滴滴呆了1年,小米呆了2年,在百度这呆的3年,学的东西其实还比较多,但是在滴滴那一年,完全是荒废了,然后在小米呆的第一年,技术完全没有任何提升,一直在输出,所以准确来说,虽然我有6年工作经验,但是感觉自己只有4年工作经验的水平,然后中间转过3个技术栈(PHP->C++->Go->Java),每一种技术栈的深度积累的也不够,现在开始搞Java,和搞过6年左右Java的同学完全没法比,所以目前在新的团队处于被秒的状态。

目前我的Java太弱了,所以短期规划很明显,就是在今年能把Java的水平,尽快提升到和小组同学可匹配的状态,给我的Dead Line应该是十一,或者是元旦,不知道能不能达到这个目标。

至于长期规划,希望明年能继续往管理岗发展。

这个就是我,路漫漫其修远兮,吾将上下而求索,人生的路还很长,我会一直坚持下去!

楼仔

2021/05/26  阅读:42  主题:橙心

作者介绍

楼仔