剑未佩妥,出门已经是江湖。酒尚余温,入口不识乾坤。前端
2019年能够说是对我来讲是特别重要的一年。正式结束了本身的学生时代,从事了一个本身不讨厌的职业,遇到了一群优秀的人。借年终总结的浪潮,说说对于2019年的一些感悟,顺便再立一些flag。java
四年前带了两件衣服,借了一个同窗的拉杆箱,一我的来到了离家两千多千米的哈尔滨,开始了大学生活。2019年打包行李,正式踏上了北漂之路,离开了那个骂一千遍夸一万遍的母校。web
迷迷糊糊度过了大一,抽烟,喝酒,打架, 玩游戏把能干的都干了,就像是青春期最后的狂欢。因为一些事情,我和两位勇猛的同窗将那我的安排了一波,而后派出所走了一遭,赔了些生活费,得了个“学院通报”的荣誉称号。无欲无求的,无忧无虑,惟一遗憾的是没有好好学习,记得最清的就是那玩了四百多场的“赵信“,我和他同样都是莽夫。面试
大二大三开始曲线学习了,在甲学大大的洗脑之下踏上了程序人生。不知道本身喜欢什么,既然不讨厌因而就开始搞起了编程。从某马的java教学视频开始,讲师是风清扬,印象最深的就是课程里天天都要提到的林青霞,着了迷同样的从早到晚的学。学完了java学前端,学完了前端开始搞我的网站,总结下来就是什么都会,什么都不会,瞎学!算法
在宿舍学了两年,走了不少弯路,可怕的是两年居然没有认真读完过一本技术书籍,成天都在看视频写代码,一我的在探索。大三下学期才感受到找工做压力,没有准备好暑假就来北京实习了,一共待过两家公司,错过了秋招也没有参加春招,在忙乱之中毕业了。数据库
第一家公司一共待了四个月,是一家上市公司,作的是互联网金融,18年末P2P爆雷,个人第一份工做也就随之结束了。接下来就进入了狗血的讨薪之路,当时公司已经肯定是黄了,拖欠了5k多的实习工资,虽然很少,真可谓一分钱难倒英雄汉,更况且当时在北京生活费都是借的,当时负债已通过万了,能够说至关悲惨了。在屡次讨薪(去总部找公司领导,一群人将其堵在公司的场景你们能够脑补)后,最终仍是幸运的拿到了血汗钱。好在是第三天我就到了第二家公司工做了,一直到如今。编程
公司待遇不错,刚来两个月就遇上了公司年会,去泰国玩了一周,实习生过年还给了1k过节费,能够说很是良心了。不过随之即是毕业设计以及转正答辩,让我进入了很是焦灼的一个时期,很是痛苦。天天工做比较饱和,还要准备毕业设计和转正答辩,天天都要学习到凌晨2点,整我的快要自闭的那种!转正答辩发挥的特别很差,没有准备好,准备的东西也没有用上;毕业设计还算给了点安慰,高分经过,顺利毕业!后端
这段时间天天都在忙一些乱七八糟的事情,包括讨薪,租房,作毕设等,整我的学习状态很是差,最后是硬着头皮看完了几本书,如今回想起来,感受收获仍是很是大的。养成了定计划,作总结的习惯,也学会了一些好的学习方法,在这里要重点感谢@骞哥,个人第一个导师,给了我不少学习和工做中的帮助,对我影响很大。设计模式
从实习到如今,逐渐稳定了下来,学习的状态也在慢慢的回升,2019年总共阅读了大约12本书籍,学习了5套课程,不过并无作太多的总结和深度思考,因此给本身打个及格分吧。api
下面是个人吃灰书架,买的书再多不看也没有什么卵用啊。
《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,学习起来就很是轻松了。
不知你们是否和我同样,天天八点出门,晚上9点半或者十点才到家,感受没有时间去学习。不过期间就像XX,挤剂总会有的!利用好8小时以外的时间,咱们能够作不少事情;好比,天天上下班地铁上时间读书,每月至少能看一本技术书籍!
今年总共读了10多本技术书籍吧,大多数书籍读了都不止一遍,有一部分没有列到读书记录中,而这些至少有一半是在地铁上看的。
下图大概就是我了,手里那根笔就很真实。
近一年来,历来没有12点以前睡觉。已经样成了习惯,天天坚持学习到一点钟(偶尔加钟),七/八点钟起床(取决于几点睡)。固然这个要根据本身来决定了,毕竟有些人早睡早期效率高,而有的人则是熬夜学习效率更高,不过无论怎样,多花点时间学习是绝对没有错的。
强化专业技能,提高思想觉悟, 从下半年开始工做状态逐渐回升,从工做质量,效率以及态度三个方面都有一些提高。
重点学习了编码规范和技巧来提高工做质量,相比去年和上半年代码质量有了必定的提高,针对最头疼的命名整理并总结了一篇博客,还有Java中的时间日期API等;同时学习了一遍java8的api,结合EffectiveJava,码出高效等书籍,减小了垃圾代码率,提高了开发效率。
逐步践行owner意识,对本身负责的需求从原来的“功能实现”到如今的确保“顺利上线。对于分配到手的任务与以前相比增长了更多的责任感,从代码review,到协调沟通与进度跟进,尝试主动取发现问题,一切都在慢慢改进。不过工做效率和质量还有很大提高空间,来年继续努力!
时间管理,我是一个自律性很是差的人,今年最大的进步就是"静下心来"了。把地铁上的时间用起来了,几乎天天大概都会在地铁上阅读技术博客或者技术书籍(ps:地铁上看书效率奇高),偶尔看一看沙雕视频。天天晚上保证睡6个小时,坚持睡午觉,在做息方面不断尝试寻找最优解,结合工做时间,最终肯定是晚上2点以前睡觉,早上8点起床,中午1点睡一个小时午觉,下班回家听听歌,喝喝茶,12点半以前看书,而后撸撸代码就睡觉,反正生活就是很规律,整我的状态也不错。
持续学习, 今年整体来讲学习状态通常,不过好在一直都在作,几乎天天都会花时间去学习。Q1,Q2季度忙着乱七八糟的事情,实习毕业各类事情,好在Q3,Q4状态慢慢回升,开始重视学习总结,对于看过的书,学过的技术作笔记,进行总结,目前来看整体效果仍是比较理想的。
保持对技术的敬畏之心,同时对于技术的热情毫无退减。不过在一直作学习上的作减法,保持克制,今年作的最多的就是打基础,并无去深刻学习一些新的技术。明年任务仍是打基础,掌握学过的技术的基础上再去深刻学习新技术,期待明年可以继续保持,提升。
技术输出, 在19年年底开始准备写技术博客,将学习笔记梳理后再根据理解不够透彻的地方去翻书,查阅资料,而后再绘制一些配图,整个过程须要花费大量的时间和精力。
目标不够明确: 长期目标不明确,制定了一些不合理的计划,要看xx本书,学习xx技术...., 下图就是本人18年末写的一个沙雕计划,没有什么实际意义,也没有按照计划去执行,整个2019年不少时候都是在拍脑门作决定或者是看别人学什么本身就学什么,因为目标不明确,致使花费了不少时间,学习效果仍然不是很好。宏观目标不明确,不知道for what是一件很恐怖的事情, 这是个值得反思的问题。
Feedback & Evaluation(反馈和评估): 在我的成长过程当中,没有创建好评估反馈体系。一直都在漫无目的的去作,至于作获得底怎么样,一直都是自我感受良好,没有创建本身客观的反馈和评估体系,不能及时发现存在的问题以及好的方法,。也少了不少成就感,失去了自我激励的机会,这是学习效率没有达到最佳的主要缘由。
学习
保留证据
对于操做系统,计算机网络,数据结构与算法等基础知识的学习一直都在佛系学习,一直没有找到好的学习方式,不管是抱着一本书从头至尾硬啃,仍是跟着视频学习,都感受理解不够透彻而且须要花费大量的时间,效果还不够理想。惟一感受效果还不错的就是结合工做中用到的技术等具体问题去学习,理解比较透彻。因此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年要变优秀,奥利给!