剑未佩妥,出门已是江湖!聊聊2019学习和工作
剑未佩妥,出门已是江湖。酒尚余温,入口不识乾坤。
2019年可以说是对我来说是特别重要的一年。正式结束了自己的学生时代,从事了一个自己不讨厌的职业,遇到了一群优秀的人。借年终总结的浪潮,说说对于2019年的一些感悟,顺便再立一些flag。
一,我毕业了
四年前带了两件衣服,借了一个同学的拉杆箱,一个人来到了离家两千多公里的哈尔滨,开始了大学生活。2019年打包行李,正式踏上了北漂之路,离开了那个骂一千遍夸一万遍的母校。
迷迷糊糊度过了大一,抽烟,喝酒,打架, 玩游戏把能干的都干了,就像是青春期最后的狂欢。由于一些事情,我和两位勇猛的同学将那个人安排了一波,然后派出所走了一遭,赔了些生活费,得了个“学院通报”的荣誉称号。无欲无求的,无忧无虑,唯一遗憾的是没有好好学习,记得最清的就是那玩了四百多场的“赵信“,我和他一样都是莽夫。
大二大三开始曲线学习了,在甲学大大的洗脑之下踏上了程序人生。不知道自己喜欢什么,既然不讨厌于是就开始搞起了编程。从某马的java教学视频开始,讲师是风清扬,印象最深的就是课程里每天都要提到的林青霞,着了迷一样的从早到晚的学。学完了java学前端,学完了前端开始搞个人网站,总结下来就是什么都会,什么都不会,瞎学!
在宿舍学了两年,走了很多弯路,可怕的是两年竟然没有认真读完过一本技术书籍,整天都在看视频写代码,一个人在探索。大三下学期才感觉到找工作压力,没有准备好暑假就来北京实习了,一共待过两家公司,错过了秋招也没有参加春招,在忙乱之中毕业了。
二,坎坷实习路
第一家公司一共待了四个月,是一家上市公司,做的是互联网金融,18年底P2P爆雷,我的第一份工作也就随之结束了。接下来就进入了狗血的讨薪之路,当时公司已经确定是黄了,拖欠了5k多的实习工资,虽然不多,真可谓一分钱难倒英雄汉,更何况当时在北京生活费都是借的,当时负债已经过万了,可以说相当悲惨了。在多次讨薪(去总部找公司领导,一群人将其堵在公司的场景大家可以脑补)后,最终还是幸运的拿到了血汗钱。好在是第三天我就到了第二家公司工作了,一直到现在。
三,角色转变
公司待遇不错,刚来两个月就赶上了公司年会,去泰国玩了一周,实习生过年还给了1k过节费,可以说非常良心了。不过随之便是毕业设计以及转正答辩,让我进入了非常焦灼的一个时期,非常痛苦。每天工作比较饱和,还要准备毕业设计和转正答辩,每天都要学习到凌晨2点,整个人快要自闭的那种!转正答辩发挥的特别不好,没有准备好,准备的东西也没有用上;毕业设计还算给了点安慰,高分通过,顺利毕业!
这段时间每天都在忙一些乱七八糟的事情,包括讨薪,租房,做毕设等,整个人学习状态非常差,最后是硬着头皮看完了几本书,现在回想起来,感觉收获还是非常大的。养成了定计划,做总结的习惯,也学会了一些好的学习方法,在这里要重点感谢@骞哥,我的第一个导师,给了我很多学习和工作中的帮助,对我影响很大。
四,关于阅读
从实习到现在,逐渐稳定了下来,学习的状态也在慢慢的回升,2019年总共阅读了大约12本书籍,学习了5套课程,不过并没有做太多的总结和深度思考,所以给自己打个及格分吧。
下面是我的吃灰书架,买的书再多不看也没有什么卵用啊。
《InnoDB存储引擎》: 总共阅读两遍多,总共花了大概不到两个月时间。这是一本MySQL进阶必读书籍,也是一本后端开发必读书籍,对于MySQL的索引,事务,锁的设计与实现进行了深入剖析,给人一种拨开云雾见青天的感觉,结合极客时间中的《MySQL45讲》课程效果更佳!
《图解HTTP》:全书图文并茂的讲系统的介绍了Http协议,涉及到许多web开发中后端工程师的必会知识,也为我填了许多坑,比如之前对于cookie和session的区别,以及http和https的区别等,值得一看。
《Redis设计与实现》: Redis必读书籍,不跟你扯Api和demo,面向设计与实现学习,可以说是当前市面上评价最高的一本Redis书籍,唯一的瑕疵就是讲的Redis2.6和3.0版本,对于Redis的一些高级数据结构和新特性没有讲到,不过这些都不能影响它成为我心中的神书。整本书通读了2遍,目前感觉掌握的不够好,总结和思考的不够,需要三刷。
《Redis深度历险》:19年老钱新出的一本书,在他刚开始在掘金写专栏时就开始关注了,没想到不到一年时间就重专栏到纸质书了。整本书通俗易懂,图文并茂,还对Redis5.0版本的Stream等新功能进行了介绍,读完之后收获满满,解锁了BloomFilter,HyperLoglog,分布式锁等知识。写的有点着急,尤其时后几章感觉有些敷衍,这本书还是比较推荐阅读的,与《Redis设计与实现》相辅相成。
《Redis实战》:个人认为这本书是一本劝退书,有些地方翻译的也有些问题,读起来比较枯燥,不过从这本书中还是能学到一些奇巧淫记,比如使用Redis进行搜索,广告定向等,如果读完前两本书没事干也可以读一读。
《Java并发编程的艺术》:书如其名,并发编程入门首选!被Java并发编程实战劝退两次后,在@骞哥的推荐后仿佛发现了新大陆,图文并茂,结合源码,深入浅出地介绍了Java并发框架,以及核心原理,墙裂推荐!
《Java并发编程实战》:并发编程必读书籍,同时对我来说也是一本劝退书籍,可能是翻译的不太好?总之劝退我至少两次了,前几章介绍了许多抽象的概念,大量文字,几乎没有图片,晦涩难懂!不过读完了并发编程艺术之后再来读才能感受到其魅力,推荐阅读!
《Effective Java》第三版:Java进阶书籍,时隔多年终于迎来了第三版,毫不犹豫花了将近100大洋拿下,这波不亏。对于提升代码质量非常有帮助,涉及到许多Java8,9中的一些新特性,整本书都是干货哦,总共读了不到两遍,消化的不好,年后继续搞起.
《码出高效 Java开发手册》:阿里巴巴Java开发手册的补充版,用通俗的语言讲述Java领域涉及到部分核心知识点实现逻辑和使用技巧,有助于夯实Java基础,提升代码质量。
《非暴力沟通》:作为一个俗人和莽夫,生活中说话经常会伤到别人。这本书描述了如何进行非暴力沟通,非暴力沟通总结下来为四个要素,观察,感受,需要,请求。读完感觉收获满满,不过需要慢慢去践行,细细的品味,说话是一门艺术,还需要多多学习和练习!非常值得去读的一本书。
《程序化广告实战》:工作相关,我是做广告平台的,用来补充一下业务知识,提升工作效率。
《学会写作》:写作一个非常重要的技能,无论从事什么职业有出色写作技能都能让你脱颖而出,放大自身价值;同时写作也有助于对知识的梳理和巩固。这本书讲了一部分运营技巧,一部分写作方法,看完之后还是有些收获。
除了读书之外,当然是刷视频,音频等学习资料。讲道理,看书有时候真的太痛苦了,尤其是在白天比较累的时候,这时候就可以来一套视频压压惊。今年杂七杂八看了很多课程,完整看完的只有几套。
《零基础学Python》(某客时间):花了三天时间学习的第一套Python视频课程,之前看了一本Python变成快速上手,对于Python有一些了解更何况Python语法比较简单,所以比较轻松。不过工作中用到Python的并不多,所以也忘得差不多了,用到时候再查文档了吧,不打算再花费时间了。
《设计模式》(某硅谷,极客邦(李建忠)):前前后后花了大概一个月时间才学完,第二次学习设计模式了,这次大部分时间都花在画类图上了,动手实现了一遍23个设计模式的代码,收获还算不错,对于代码设计有了更多的思路和见解,下一步要做的是在重构自己的垃圾代码时候,把它用起来。两个课程都可以看一下,风格不一样,总有一个适合你。
《并发编程实战》(某客时间):一个非常不错的并发课程,有助于将并发知识串联起来,适合于《Java并发变成的艺术》一起学习,和书本上的知识并不冲突,两者有点相互补充的意思,值得一看。
《Elasticsearch》(某客时间,某果学院):某客时间的课程就不要看了,简直在浪费时间;后面的某果学院课程值得一看,ES从入门到高级课程讲的非常好,明年需要二刷
《代码精进之路》(某客时间):对于提升代码质量有一定的帮助,讲的中规中矩,一天就能听完的课程,可以去看一下。
五,工作心得
作为一个职场新人,学校中的那套方法论运用到工作中可能就不那么好用了。所以,一年半以来感觉在工作中学到了很多东西,这些与技术无关。
凡事有交代,件件有着落,事事有回音
凡事有交代,事事有着落,件件有回音!这应该是每一个职场新人必须要知道的且必须具备的一个基本素质。对于领导的一些工作安排以及通知,要及时做出反馈,这一点很重要。
这是人与人之间最基本的尊重,别人跟你的交流,应当及时做出反馈,。其次,这是高效沟通的必要条件。想要高效地工作,高效率的沟通尤为重要,对于同事的论述与问题及时做出回应,表明是否收到了消息,get到对方的观点和想要表达的想法,即使当时不能解决对方的问题,也应当予以回复,减少沟通双方的信息差。
owner意识
所谓Owner意识也就是主人翁意识,主要体现在两个方面,一是认真负责的态度二是积极主动的精神。
认真负责是底线。对于交付的结果负责,对于自己的代码负责,要认真对待我们的没一行代码。代码要符合团队或公司规范,统一风格,注释要清晰,保证高质量交付任务,这也是我今年着重去学习编码规范的原因。
积极主动则是Owner的更高级的要求。对于负责的模块,要按时保证质量完成,但是也应当积极主动发现问题,暴露问题,解决问题。在开发过程中可能遇到一些遗留的问题,可能跟自己负责的模块无关,或者当前对系统的影响并不大,很多人可能会因为手头工作比较多假装看不见,选择忽略此问题,这是典型的缺乏owner意识表现,我们应当主动反馈问题,记录问题并解决问题。
有时我们不仅要完成自己负责功能模块,还需要与其他同事或者跨部门沟通。我感觉作为团队中的一员应主动承担起责任,积极主动沟通,推动合作项目的进度,保证项目顺利完成。在完成本职工作后,积极主动寻求更多的工作中去,是对自己来说是为自己寻求学习与进步的机会,对于团队来说则是一个Buff。
六,学习心得
关于学习,真的有太多话要说了。从自学Java到现在已经三年多了,真的是走了太多的弯路,踩过太多的坑!感觉学技术不走弯路就是捷径, 掌握好的学习方法和策略太重要了。
做减法
做减法对于刚开始工作来说是一个比较矛盾的事情,需要补充大量的技能来支撑日常工作,握手首先要做的就是先用起来!以根据官方文档的quick start快速入门,或者找个相关学习视频大体上过一遍,对于整个技术有个整体的认识。掌握的不好没有关系,可以模仿别人的代码,总之第一阶段就是要先用起来,能解决问题。
要抵挡住技术的诱惑,不知道大家是否有和我一样的问题。刚开始对于好多技术,比如某某框架,消息中间件,数据库等都想学习,今天学这个明天学那个,或者说是 看到别人在学什么东西,自己立马也要跟着学。这大概就是我前两年的学习策略了,到最后面试时才发现,学过再多不如掌握一个,因为面试时没有人回问你哪些api怎么使用,面试官关注的更多的时技术的底层实现原理。所以,对于技术的学习,个人认为最好一次只学一个技术,掌握一个技术,保持专注!
深度优先
保持专注的同时,一定要深挖底层实现。对于要学习的技术不仅要知道是什么,怎么用,更重要的还要知道怎么实现的。比如MySQL索引,只有知道了索引的数据结构以及索引是如何设计的,才能更好的选择和使用索引,对于索引的使用做到心中有数。技术总是可以触类旁通的,当学完MySQL之后再学习MangoDB时,你会发现他们索引的底层数据结构都是使用B+Tree,学习起来就非常轻松了。
七,用好“8小时”之外时间
不知大家是否和我一样,每天八点出门,晚上9点半或者十点才到家,感觉没有时间去学习。不过时间就像XX,挤剂总会有的!利用好8小时之外的时间,我们可以做很多事情;比如,每天上下班地铁上时间读书,每个月至少能看一本技术书籍!
今年总共读了10多本技术书籍吧,大多数书籍读了都不止一遍,有一部分没有列到读书记录中,而这些至少有一半是在地铁上看的。
下图大概就是我了,手里那根笔就很真实。
近一年来,从来没有12点之前睡觉。已经样成了习惯,每天坚持学习到一点钟(偶尔加钟),七/八点钟起床(取决于几点睡)。当然这个要根据自己来决定了,毕竟有些人早睡早期效率高,而有的人则是熬夜学习效率更高,不过不管怎样,多花点时间学习是绝对没有错的。
八,做得好的
强化专业技能,提升思想觉悟, 从下半年开始工作状态逐渐回升,从工作质量,效率以及态度三个方面都有一些提升。
重点学习了编码规范和技巧来提升工作质量,相比去年和上半年代码质量有了一定的提升,针对最头疼的命名整理并总结了一篇博客,还有Java中的时间日期API等;同时学习了一遍java8的api,结合EffectiveJava,码出高效等书籍,减少了垃圾代码率,提升了开发效率。
逐步践行owner意识,对自己负责的需求从原来的“功能实现”到现在的确保“顺利上线。对于分配到手的任务与之前相比增加了更多的责任感,从代码review,到协调沟通与进度跟进,尝试主动取发现问题,一切都在慢慢改进。不过工作效率和质量还有很大提升空间,来年继续努力!
时间管理,我是一个自律性非常差的人,今年最大的进步就是"静下心来"了。把地铁上的时间用起来了,几乎每天大概都会在地铁上阅读技术博客或者技术书籍(ps:地铁上看书效率奇高),偶尔看一看沙雕视频。每天晚上保证睡6个小时,坚持睡午觉,在作息方面不断尝试寻找最优解,结合工作时间,最终确定是晚上2点之前睡觉,早上8点起床,中午1点睡一个小时午觉,下班回家听听歌,喝喝茶,12点半之前看书,然后撸撸代码就睡觉,反正生活就是很规律,整个人状态也不错。
持续学习, 今年总体来说学习状态一般,不过好在一直都在做,几乎每天都会花时间去学习。Q1,Q2季度忙着乱七八糟的事情,实习毕业各种事情,好在Q3,Q4状态慢慢回升,开始重视学习总结,对于看过的书,学过的技术做笔记,进行总结,目前来看总体效果还是比较理想的。
保持对技术的敬畏之心,同时对于技术的热情毫无退减。不过在一直做学习上的做减法,保持克制,今年做的最多的就是打基础,并没有去深入学习一些新的技术。明年任务还是打基础,掌握学过的技术的基础上再去深入学习新技术,期待明年能够继续保持,提高。
技术输出, 在19年年末开始准备写技术博客,将学习笔记梳理后再根据理解不够透彻的地方去翻书,查阅资料,然后再绘制一些配图,整个过程需要花费大量的时间和精力。
九,做的不好的
目标不够明确: 长期目标不明确,制定了一些不合理的计划,要看xx本书,学***技术...., 下图就是本人18年底写的一个沙雕计划,没有什么实际意义,也没有按照计划去执行,整个2019年很多时候都是在拍脑门做决定或者是看别人学什么自己就学什么,由于目标不明确,导致花费了很多时间,学习效果仍然不是很好。宏观目标不明确,不知道for what是一件很恐怖的事情, 这是个值得反思的问题。
Feedback & Evaluation(反馈和评估): 在个人成长过程中,没有建立好评估反馈体系。一直都在漫无目的的去做,至于做得到底怎么样,一直都是自我感觉良好,没有建立自己客观的反馈和评估体系,不能及时发现存在的问题以及好的方法,。也少了很多成就感,失去了自我激励的机会,这是学习效率没有达到最佳的主要原因。
学习
十,2020个人成长计划
保留证据
- 定点打击基础知识
对于操作系统,计算机网络,数据结构与算法等基础知识的学习一直都在佛系学习,一直没有找到好的学习方式,无论是抱着一本书从头到尾硬啃,还是跟着视频学习,都感觉理解不够透彻并且需要花费大量的时间,效果还不够理想。唯一感觉效果还不错的就是结合工作中用到的技术等具体问题去学习,理解比较透彻。所以2020年继续保持下去,定点打击基础知识 。
数据结构与算法,是让我抓心挠肝也无可奈何的的东西。数据结构还可以接受,今年动手实现了一些高级数据结构,像BloomFilter,简单的HyperLogLog,SkipList等;算法题则可以说是惨不忍睹,题目前前后后刷了不过20多道,其中有很多都是抄答案实现的..., 没有重视起来,最大的原因就是策略错误,抓到leetcode题目就开始搞起,没有结合自身水平。所以今年计划调整策略,多动手,坚持 **每周至少刷1-2道算法题,从简单道复杂 **。
计算机基础知识非常重要,一口气全学会或者全年集中精力去学习也不现实,所以计划根据学到技术涉及到的相关知识,结合应用于实践进行学习,将知识串联起来,输出到笔记或者博客中。期望对于常用的数据结构能够烂熟于心,算法至少要掌握各种排序算法,工业中排序算法的设计与实现,以及大约50到100道左右的leetcode算法案例(会根据实际情况调整)。
- 把熟悉变成擅长
一年来,学过的技术不多,有很多技术了解完之后再也没有去研究过了,真正用心系统性梳理和总结过的少之又少,很多东西即使总完了不久就模糊了。所以,2020年要总结和回顾,对于自己比较熟悉的MySQL,Redis,设计模式等知识要系统性回顾和总结,形成知识体系, 还有就是在实际工作中学以致用,这个非常重要,也是2020年要绝对要践行的。
- 把留下的大坑填上
JVM的学习我也曾花了大把时间,也写了很多笔记。但是对于整个JVM体系的知识掌握的良莠不齐,当初学习主要是为了应付面试官,所以对于JVM需要更具有实际意义的去学习和实践。今年目标是系统性重学JVM,刚好深入理解JVM第三版已经到手,准备大干一场。当然,本次学习另一个重要的方面就是能够学以致用, 虽然工作中可能设计到JVM调优,故障处理的场景比较少,但是工欲善其事必先利其器,掌握故障处理的工具使用和技巧还是必须要做到的。
- 增长技术栈
面向工作学习,增长技术栈。使用一门技术非常简单,但是用完之后难免会让人心里不安,遇到问题时也会变得手足无措,只能去到百度抽奖。所以,今年要学习dubbo,zk,以及kafka/rocket三个中间件,之所以选择这三个,是因为他们是工作中在用的,并且是Java语言写的。所以学习起来稍微轻松一点,可以通过debug方式去阅读源码。其次,就是在所在团队内部成员擅长领域还未包含这些中间件技术,所以需要大家去填坑,必须掌握这些技术。
对于这些中间件技术学习,目标是至少要掌握Kafka,熟悉dubbo和zk以及rocketmq,rabbitmq。对于中间件的学习还有一个大坑Netty没有填上,这个暂时还未列入到计划之中,但是很有可能我会变,毕竟男人都比较善变。
- 工作和生活
关于工作,2019做的算是中规中矩吧,前半年比较迷,工作状态不是很好,写了很多低级的bug,犯了许多错误。后半年毕业后才逐渐找到状态,所以新的一年要继续保持和提升。追求极客精神,提升代码质量,注重代码设计,虽然我公众号起名叫cruder,但是我要做一个优秀的cruder,减少bug的同时,也让自己的代码更加具有“艺术感”。
学以致用,学过的东西坚决要用起来。设计模式类图画的再好看,demo写的再好,在该用的地方没有用上就约等于没学, 学了再多的编码规范和技巧没有落实也不算是掌握。2020严格要求自己,维护自己的尊严,保护同事的眼睛。
关于生活不想多bb了,2019年减肥-12斤,变身肥宅。抓住最后一个多月写了9篇原创博客,当然大多都是结合学习笔记整理的,不然效率没有那么高。总结一下2019则是,既没有走出去,也没有瘦下来。
十一,说在最后
这是一篇跑题的年终终结,想到哪里就说到哪里,之所以写这么多是因为我在学习路上走了许多的弯路,深刻感受到了总结和规划对于个人成长的重要性。以上只是2020年的个人成长计划的初稿,过年回家长几斤肉之后可能还会做一些调整。
2020年要变优秀,奥利给!
最后,交个朋友?