经常性的总结是一种好习惯,在平凡而重复的生活的侵蚀下,我们会渐渐迷失自我,不知我们最初的方向,甚至失去理想,当猛然发现时可能已银丝盘头,人生已经过去了一大半。所以经常性的总结Review一定要养成习惯,至少可以清楚追踪到我们这一生做了什么事,不至于浑浑噩噩,遗憾终了。

虽然有些道理我都懂,但不一定能做到。经常性的总结并不是我做的好的事。定好的总结时间,很多时候因为有事要忙或者纯粹是懒,这种情况越来越多最后导致无疾而终。其它事情也是这样,去年定好的计划完成了么?我懂得这些事应该去做,但并没有做好。记得去年做总结的时候也是同样的情况,但这一次我不会像之前一样感到懊悔、挫败,因为这些负面情绪并不能从根本上改善情况,反而我应该从中看到进步,并自我鼓励,最终养成习惯。这才是持久稳定的提升方式。就像《微习惯》一书中的核心思想,我们做事情不能依靠一时的动力,动力需要消耗意志,而意志是有限的资源,要想持久有效的输出,需要一点点把某件事养成习惯,使其变得顺其自然,举重若轻。

工作总结

现在不看任何记录,第一时刻在脑海中想到的就是收获最大的方面。

  • 业务的理解和技术的实现:今年做的需求也不少,跟菜鸟合作,外部接口接入,开放平台设计开发,在这过程加入了更多自己的思考,考虑用尽量小的成本实现扩展性良好的业务需求。行业的规范标准对于工程的意义也有了更深的理解。从需求中也认识到业务与技术互相影响,作为一个开发人员不仅仅是技术,有时业务的优化可以大大减少技术的复杂度。
  • 任务划分和管理:从一个人码代码到几个人一起码,虽然是很轻松的管理工作,也让我学到很多,对于任务的划分管理,到任务的推进,以及后续的质量保证,责任承担,至少算是一个入门,毕竟要想做成一件事,往往不是一个人就可以干好的,要集结众人之力。让众人各司其事,高效协作,驱动目标完美达成是我需要一直学习的艺术。

技术提升

鉴于KPI的要求,每季度都会有一个分享和一篇文章,这些也是技术提升的一部分,分享PPT有:

  • 网络编程及Netty分享, 初次接触Netty,了解了它的设计,跑了一些示例,看了一些源码,了解了异步编程以及Linux的Epoll,对Java世界的网络编程有了比较深入的认识。
  • 事件驱动与协程&相关框架介绍, 从高并发线程池的性能问题引出事件驱动的这种编程方式,再到协程的兴起,了了解并且试用了一些异步框架,以及reactive编程模式。vert.x, RxJava,reactor这里框架的设计、理念给我带来新的思维方式。
  • Spring Cloud Gateway分享, 因为要做开放平台,让我结识了Java世界的网关,并初步使用了Spring Cloud Gateway,让我进一步学习了责任链这种设计模式,并且更加熟练了reactor框架,顺便Spring5 WebFlux也学习了,另外网关设计所需要的组件,功能,模块更加清晰明了。
  • 分布式共识算法Raft,分布式是当前后端领域最重要的一个话题,不同的机器如何协作成为一个统一的整体,这个问题之前一直困扰着我,后来在设计推送系统的过程中不可避免的涉及到这个话题,因为搜索的文章参差不齐,就索性去读一读Raft论文,虽然用了一天半才看完,不过感觉却是别有洞天,学术研究的成果–论文,质量和博客相比真是不知好到哪里去。

另外远程推送系统虽然还没有完成,但大概设计已经成型,也参考了RocketMQ的代码和设计,学到了很多东西,不过这个任务还需要继续努力。

开放平台的开发也使我学到不少东西,对Oauth2,OSS,Spring Security都有了更深的了解。

2019努力的方向

现在制定的计划并不一定是这一年中最重要的一定要做的事,或许过程中可能发现更有价值的事需要去做,所以这里我只想列举下方向,具体的计划可以在习惯性总结中制定。

  • 人丑就要多读书^-^, 很多时候遇到的困难,那些优秀的书中已经做了系统的分析解答,这么好的资源我们怎么能浪费,不管是为人处事,思想哲学还是专业知识,那些大佬的成果不是比网上张三李四的几篇文章好的多。
  • 坚持践行《微习惯》一书,将【总结】【读书】【英语】【锻炼】养成持久的习惯。
  • 将眼光放长远,想想10年,20年,30年后,我想做什么样的工作,过什么样的生活,处于什么样的社会地位,应该努力往这样一个宏观的目标靠近,做决定时作为一个重要的参考。