总结2021 & 规划2022
总结 2021
2021的计划完成了多少
翻了去年的年终总结,对2021的计划就是:自律、学习理财、技术沉淀
这计划真是没谁了,无力吐槽,哈哈哈。过于抽象,没法执行。但是还是要说说关于这三点,今年做了多少
自律
我当时是指作息和能够坚持按照自己制定的计划去执行
关于作息,今年做了记录,用了比较笨的办法,就是用笔记软件做了一个作息的模板,每天记录睡觉时间、起床时间、睡眠时长、当天的状态、当天有效工作时长等。我随便截取了几天(精心挑选的几天)
这几天看上去都熬夜了,哈哈哈。相比去年来说,今年熬夜的次数确实减少了很多,尤其今年上半年,每个月都有15+天是早睡的(十二点之前)。今年下半年稍微差一点,但总的来说,比去年有进步,有刻意的克制熬夜
关于坚持按照自己制定的计划去执行一些事情方面,确实打脸,拿出来看的时候,发现计划做的极其不切实际,就不粘出来打脸了(做计划不就是拿出来打脸的,展示)。我就展示学习计划的这部分吧
发现自己连百分之30%都没有做到,后边会整理自己今年做了哪些事情
理财
开源、节流、买理财产品,好像就买了理财产品。今年没花精力在上边,我是用了比较稳的方式,直接定投,基本不关注。如果真要去关注应该买哪些,确实比较花精力,加上我对这个确实没啥兴趣,涨了不知道为啥涨,跌了不知道为啥跌,所以就定投或者了解一个靠谱基金经理
技术沉淀
跟今年计划的相差挺大的,今年技术沉淀主要包含以下几个部分:
- 重构:独立重构了自己负责的项目,从技术方案到实现
- 数据结构&算法:完成基础数据结构的学习&梳理&练习,刷题70+(查看详情)
- Go:看了两本书,并对每部分基础知识做了梳理(查看详情)
- 用Go做个项目:和团队的另一个小伙伴一起开发了一个服务转发的中间件服务
- 编译原理:学习编译原理基础&总结,并从源码的角度去看Go底层的编译实现(查看详情)
做计划确实应该冷静,尽可能的量化,能阶段性的看见进展才能坚持执行。并且考虑清楚这一年的重点是什么?每年完成一部分自己的长远计划
2021做了些什么
上半年
工作
因为年初刚换的工作,上半年基本上都是在熟悉业务以及系统的重构。我翻了翻上半年的日报,发现上半年花时间比较多的主要是一下几个部分:
- 熟悉负责的业务
- 清洗数据
- 系统重构
- 日常迭代
上半年除了重构和清洗数据,学了一些系统设计相关的东西,感觉比较有收获外。别的方面没啥成长,虽然大家都用MySQL、Redis、Nginx、Docker、K8s等等,但是场景很单一,而且啥都是现成的,分工比较细,平时工作不太容易接触到
我们团队中有两类人,一类人是往技术上发力的人,一类人是往业务上发力的(比如DDD这些)。找到跟自己步调一致,且对技术的看法差不多的,挺难的。所以上半年其实技术上收获不大
上半年这种快速迭代的业务需求,真是让人容易陷进去,不知不觉就变成了一个流水线工人。感觉绝大多数公司都把科技挂在嘴边,而实际上没几个真正是把技术看的很重。都是快速的扩张业务,需求基本倒排,研发基本很难保证质量,有好的想法,但是时间不允许,只能暂时先上线,后边再优化,列个to-do在那。结果,to-do的意思就变成了将来也不做。因为后边还有无数的需求等着你,技术方案都没时间写
其实这样对研发的伤害挺大,明明是个脑力劳动者,慢慢就在这种快速迭代的工作进程中,变成了一个体力劳动者,真正成了一名”新时代农民工“。关于如何摆脱这种困境,也有自己的一些思考,在总结部分再写
生活
跑步
4、5、6三个月,每周基本都会跑步,三个月累计200km左右,还是挺开心的事情。我是晨跑,因为早上小区人少、车也少,我跑步的时候不喜欢人多,基本五点半下去跑。跑一个月之后,切实的能感受到精神状态什么的会有很大变化,甚至心态都好了
跳舞
因为一些原因,需要换一个空间大一点的房子,所以就想着买个舞蹈镜子,下班偶尔学学。没有报班的原因就是上半年的时候下班时间不定,有时候比较早,有时候比较晚,且公司附近也没有啥舞蹈班。就买镜子自己练吧
实在是被自己肢体的僵硬程度给吓到,动作刚起就被自己笑翻。这种东西,还是建议报班,毕竟咱也不是要多专业,想试试而已,自己学太慢,而且时间长了看不到效果比较难坚持了。有正向反馈才容易坚持。我是练了一个多月放弃了,以后不想了【手动捂脸】
带家人出游
其实一直特别想跟家人一起出去玩儿一趟,我妈是从我上小学的时候,回家照顾我们上学,到现在基本上没怎么出去过。今年五一的时候不忙,就计划着一家人出去玩儿一趟
我妈特别喜欢去动物园,喜欢老虎、大象、狮子,虽然五一人巨多,但是我妈爱热闹,哈哈哈。虽然就玩儿了四五天,但感觉还是很满意。发现一个事情就是,带父母出去玩儿,千万别吃火锅、海底捞、烧烤之类的,我爸说他跟我们吃了几顿饭,闹肚子闹了好几天【手动捂脸】
见家长
今年见了女朋友的母亲,细节不说了。后来听我女朋友说阿姨对我的评价是:”话太少了,连句客气话都不会说“,太尴尬了,失败失败
五一出游也带了女朋友见了我爸妈,还是巨开心的,我妈一直想见我女朋友,算是让她开心了一下
下半年
工作&学习
七月底的双减政策,对在线教育的打击真的是很致命。因为我们部门算是比较核心的部门,前期的裁员对我们并没有多大的影响。但是基本上政策落实之后,大多人都已经在应对后边的不确定了,纷纷复习准备面试。下半年我们这边也并不是很忙,复习时间挺充裕的,基本上下半年的业余时间都是复习状态
Go(整个八月 + 九月)
数据结构(整个十月份)
- 系统学习&梳理总结
- 每种数据结构的经典题目练习
- 对比每种数据结构的优缺点 & 使用场景
- 了解一些复杂数据结构的产生背景以及有哪些开源项目使用
算法(十一月、十二月(每天都会至少刷1道))
编译原理(十一月、十二月)
- 每年的基础学习计划的一部分,从《编译原理》这本书入手的
- 结合Go语言的编译来了解编译原理的各个阶段的实现
操作系统(零碎时间)
- 重新看一遍《计算机是怎样运行的》、《程序是怎样跑起来的》
- 《现代操作系统》还没看完
大致这么多事情吧
阅读
列一下今年看了哪些书吧,非专业书籍(24本):
- 《房思琪的初恋乐园》
- 《向上生长》
- 《此生未完成》
- 《亲爱的安德烈》
- 《孩子你慢慢来》
- 《目送》
- 《少年维特之烦恼》
- 《西藏,一个人的浩浩荡荡》
- 《爱的五种能力》
- 《讲给大家的中国历史1》
- 《讲给大家的中国历史2》
- 《讲给大家的中国历史3》
- 《讲给大家的中国历史4》
- 《讲给大家的中国历史5》
- 《讲给大家的中国历史6》
- 《讲给大家的中国历史7》
- 《讲给大家的中国历史8》
- 《讲给大家的中国历史9》
- 《世界文明5000年》
- 《世界之迷》
- 《这里是中国1》
- 《这里是中国2》
- 《平凡的世界》
- 《深度思考》
专业书籍(4本):
- 《重构·改善既有代码的设计》
- 《数据机构与算法之美》
- 《Go程序设计语言》
- 《编译原理》(选看)
生活
养猫
我是一个特别喜欢田园猫的人,因为我觉得别的猫都不及它活泼。我是一个比较闷的人,所以很想养一个田园
养猫要比我想象的麻烦,养田园远远超出我想象的麻烦。屋里啥都撕,卫生纸撕的满地都是,窗帘到时候退房的时候还得赔,被抓成了筛子。晚上不关它进笼子,自己基本上别想睡觉。白天各种死睡,晚上出来各种搞事情。没办法,利用周六周日的时间,白天硬熬它,不让它睡觉,把它的作息憋成跟我的一样
当然它也有好的地方,下班了跟它玩儿会儿是真的开心,那表情,那睡姿,真的是贼逗。每次看它吃东西,都能把我食欲带起来,是真的能吃,从原来的一小只,现在变成了个球
关于2021的一些反思和总结
关于工作
我觉得在大多数的互联网公司里边,程序员应该都会很”忙“。因为我一直都是做业务,所以我从业务程序员的角度来说说自己的理解。至少我觉得,工作中其实有很多迭代的需求,是”没有啥技术含量的“,要合理的理解这句话,意思就是这些需求,只要你对业务有一定的熟悉,你是很容易就能实现的,哪怕你是刚毕业的,都能实现。但是这并不是说工作中的所有需求都是这样的,至少我觉得大多数是这样。需要将一些重复或者没有技术含量的工作自动化
特别是对一些业务已经成型和稳定的部门,基本上不会对项目大改,或大优。稳定是前提,不停的进行各种迭代。我感觉这种对研发来说,伤害其实挺大,快速的迭代,基本上让我们没多少时间对我们的业务做深度思考。需求基本倒排,来一个需求,就想着怎么实现它,哪怕代码重复的再多,屎山上堆屎,还是得往上堆
我能想到的办法就是:
- 拿到一个需求,不能光想着怎么实现它,首先应该跟产品了解为什么要做这个需求?是否有必要?收益是什么?影响的用户量多大?不能盲目的接受
- 多对自己负责的业务做思考,比如怎样能让自己的项目能更加灵活的应对各种变化的需求,能在很小的改动的情况下完成需求
- 多对业务进行抽象,从而思考如何写出复用性很高的代码
- 对于简单重复的东西,一定得自动化
尽力为自己争取更多的时间吧,去学习一些核心的东西。让自己能胜任别人胜任不了的事情,让自己能写出质量更高的代码
关于技术
今年看到一句话:学习是为了找到通往答案的路径和方法,是为了拥有无师自通的能力
还是以前的想法,基础的东西,就是拥有无师自通能力的核心。当工作中需要我们快速了解一门技术并完成需求的时候,有些人可能一星期就能投入开发了,有些人可能需要一个月
不知道大家有没有这样的困境,在准备面试的时候需要复习各种东西,MySQL、Redis、Nginx、语言、算法等等,问的还很深。然后入职之后,大多基本上用不到,场景极其单一,并且基本有基础服务组的人负责服务的稳定,我们只用顾业务就行。等换下一份工作的时候,基本上上次复习的东西都忘了,因为工作中大多用不到。然后还得再复习一遍,循环往复
对于面试,这些是不可避免的,要想面自己心仪的公司,面试的时候就得准备很多平时用不到的东西。以我现在的认知,我能想到的解决这种困境的方式就是:拥有快速学习上层技术的能力
有些人了解一门语言或者一门中间件技术的实现原理的时候,真的可以很快。首先我是觉得他们基础一定及其扎实,然后就是他们一定花精力研究过其它的某门语言或中间件技术的底层实现。比如你看Go的并发调度的实现或者defer的实现,如果你对操作系统、网络比较熟悉,你看这些东西的时候,一定会轻松许多,并且很快
面试的时候肯定遇到过问源码的情况,我觉得基础扎实的人看源码的时候,看的是别人的设计思想以及一些优秀的算法;而基础不扎实的人看源码,看的是每行代码是啥意思,然后这段代码串联起来是啥意思,至于为什么这么做,并不知道
就像那句话说的:决定你是一个”工人“还是”工程师“,就看你有多扎实的基础
拿80%的时间去做那20%的核心的东西
规划2022
阅读
目标是至少读25本书(非专业书籍+专业书籍)。因为去年看书,很少对一本书做深度的阅读,今年希望能做出改变,尝试深度阅读&尝试应用,做记录
也没想好哪25本书,这里只列2022必读的几本。非专业书籍:
- 《全球通史》
- 《世界史》
- 《图说欧洲史》
- 《欧洲大历史》
- 《另一半中国史》
- 《毛泽东传》
- 《舍不得看完的中国史》
- 《娱乐至死》
- 《表象与本质》
- 《从一到无穷大》
- 《白鹿原》
专业书籍
- 《现代操作系统》
- 《鸟哥的私房菜》
- 《Unix环境高级编程》
- 《Go语言学习笔记》
- 《Go语言底层原理剖析》
- 《软件工程》
专业书看的有点多,先粗略过一遍,对一些比较核心的地方深度的研究和实践
学习
我觉得学基础这件事情是最难坚持的,因为它枯燥,并且短时间内看不到任何的成果。我觉得能坚持搞下去的方式就是让学到的东西能给自己带来正向反馈,从而激励自己搞下去。我目前能够想到的获取正向反馈的方式如下:
- 梳理自己所学的内容,在各个平台发布,获取阅读和点赞(保证质量,而不是数量,不在乎发多少文章,起码每篇文章能让自己满意)
- 在组内做系列分享,既是锻炼自己的表达能力,也能加深自己的理解,同时能获得别人的反馈
- 将自己所学到的内容切实的用在项目中,并能够为项目取得效益
目标
- 每月至少两篇技术总结的文章
- 掘金的掘力值增加1500+
- 用Go写一个自己的小东西,它可以不是项目,哪怕是个工具或中间件,做到让自己满意。前期可以简单,然后不断的去优化,吸取开源项目的优点
- 养成做复盘的习惯
- 每周至少两道算法题
- 每周一篇英文技术文章
- 至少每季度面一次试
生活
- 十二点之前睡觉180天+(每月至少保证15天),工作原因导致的除外
- 一定要坐一次硬座去兰州
- 跑步300km+
总结
- 接受和面对自己的不足,这样才能通过反思来优化自己
- 学习的目的不是为了找答案,而是为了找方法
- 再完美的计划,要想坚持下来,都需要正向的反馈来刺激自己,形成一个驱动的闭环
好的,就到这里,2022年底见!