今年过得有点慢,我是这么想的。
目前我就职于一家做云计算的公司,属于研发岗。这儿人才云集,我觉得我可能是其中最菜的一个。所以还是要感谢创始人的知遇之恩。虽然有点忙,但是我过得很快乐,我可以学到很多东西。
写文是因为作为一枚程序员,在百忙之中还是得抽点时间出来写篇年度总结,总是要回望一下自己,然后给明年的自己定个小目标。望明年来看,不负初衷。
这是我第一次写技术性的年度总结。简单来说:今年我刚毕了业,从工作室出来,后实习,再创业,又辞职寻发展。
关于工作
学生时代的终结与工作的挑战。
学生时代
我不会说一堆废话关于大学的各种小事琐事,但是有必要交待一下我是在大学中如何去学习、进步的。我在大学时期遇到了两个和我志同道合的伙伴,同时我在进工作室前是个“学霸”,经常拿奖学金,另外一个伙伴很早便接触编程了。有次他花了一个暑假折腾了一个关于VR的小玩意儿,找我聊了聊,我觉得很好玩。之后开学,我们找自个儿学院的院长聊了聊,就批下了工作室。
从此我就不必苦逼的来回寝室与图书馆之间浪费时间了,也不必担忧室友关于嘈杂而影响到我学习。我只需要把电脑在工作室一放。早上早早来来,晚上晚点走,在寝室基本就只需要干一件事:睡觉。
托工作室的福,我的知识增长相比以前简直是指数级和常量级的区别。
不仅如此,我和我的小伙伴们还拿了许多奖,不过最佳成绩也不过是省第一名。也有过许多接外包的经历,钱的话,算是一些零花钱。但是看到自己写的东西跑起来了,还让别人用上了,真的很开心。
偶尔也有大家都不擅长的领域,那就选个对这个领域有兴趣的人去研究研究。故此有时候我也意外的获得了许多知识。
我在学生时期常常在意Project是否能Work,而不去探究其深层与本质。故此,我学过很多语言与框架,却没有一个深究的。却还乐此不疲,现在看来,是不可取的。
这个原因成了我寻找实习工作不顺的重要原因之一————高不成低不就。现在看来,说句难听的,只要平时不要太混,到找实习前突击1个月背点东西,一般都能找到工作。
最后我的确花了点时机突击了一下,顺利的找到了实习工作——杭州的某一家跨境电商公司,做个安静的Java实习生。
实习
团队的技术Leader是阿里P6的10年老司机,原本是天猫部门的,也就是淘系。然而车开的并不稳:
- 的确有版本管理工具,但是没有一些规定,很混乱,提交上去的东西很容易被冲突掉
- 无单元测试。我曾和Leader交流过这个问题,他表示太浪费时间了。
- 无文档。我在刚去的时候基本是一脸楞逼,如果没人和我讲解真实的业务场景,我根本不知道如何下手。
- 反范式。由于后端框架用的PlayFrameWork,导致没有Bean概念的存在,没有Private的封装不说(框架特性),在所谓的赶急状态下竟然还会把业务逻辑写到Service以外的层。
- 无规范性。各种奇怪的命名方式,时常令人一头雾水。我想他们应该参考一下阿里巴巴《Java编码规范》。
综上,代码质量可想而知。所以也经常导致半夜服务器宕机。
ps:有些人所谓的十年可能是把一年的工作重复了十年。
创业时期
我在实习的公司待到一半的时候,从工作室一起出去的伙伴喊我一起创业。我听了一下计划,觉得靠谱,便打算辞职了。
进入了创业时期。我负责的东西多了很多,不仅扎在技术岗上,偶尔还要和客户打交道,也要关心一下市场那边的情况。那时正值夏天,想起当年在工作室时,暑假大家凑在一起干活,如今又凑到了一块,真乃缘分。
最后我还是因为某些原因离开了。不过我的伙伴们都很优秀,在我离开后他们干了很多事情。这几天,我还收到了他们的年会邀请。
寻职之路
我再次踏上了寻职之路,期间遇到了很多奇葩公司,也邂逅了许多优秀的人,偶尔也因自己的失误错过了一两家不错的公司。我认为找工作是一件大事,必须找自己喜欢的公司才能干得下去,干得开心,故此我花了较长的时间,的确那时也正值招聘淡季。
后来我邂逅了优秀的两家公司——都可以算的上是“礼贤下士”,并且有老司机带路。我想在这两家公司的其中任何一家公司工作,都会干得很开心。
最后我选择了来到上海,来到了我梦寐以求的大城市。而没有选择另一份待遇更好的工作——我看到了未来的价值,而不是现在。
现在
我现在所在的公司生产是很有规范性的,比如:
- 使用GitHub进行协作
- TestCase覆盖率极高,而且测试组的人不少于研发。日常便是测试怼开发。
- 会做CodeReview
不仅如此,还会:
- 定期做Share
- 定期搞团建
这是关于我最关心的技术上的,在环境上也很赞,比如:
- 900平方的办公室
- 每人一张1.8m大长桌,人体工学椅
- 独立茶水间,零食水果供应
- .......
好了再写下去就成推广软文了,打住。
所以我现在的日常就是:
我身边围绕着一帮优秀的人,我觉得这样很好。我成了凤尾,但是我也将会很快超越过去的自己,变得更加优秀。
关于学习
今年我看了不少书,相比前几年。同时我也慢慢的开始针对自己的缺点而定制出一些计划,比如:
- 单词不能停。这是我在Memrise上的使用记录,很像GitHub。一年大概背了2600多个单词。
-
专注在一个方面,有一定的深度以后再去考虑广度
- 我在2016年几乎没再学习过新的语言(除了满足生产需要)。我打算吃透Java这块以后再去考虑深入别的语言。
- 在SegmentFault上回答关于Java的问题,同时也会花时间去看关于Java的博客、书籍。
- 抽了时间看了点Java集合框架部分的源码,也撸了点JVM,也浅浅的了解了一下Spring的工作原理。
- 重温了数据结构与算法。我在学校里几乎没怎么好好学习过这门课,不过有很多dalao说这门课很重要,而且说了很多次。我就花了点时间补了一下。
明年的学习目标
- 对23种设计模式有个大概的了解,熟悉下常用的设计模式。
- 过一下《Effective Java》。对这本书早有所闻,公司的dalao也推荐了这本书,看了一下,的确有所收获。希望早日看完它。
- 相比今年,对JVM有更多的了解。哪怕撸一遍《入理解Java虚拟机:JVM高级特性与最佳实践》的第三部分——“虚拟机执行子系统”。
- 重学操作系统与网络,我很后悔在大学的时候忽视了这两门课的重要性,虽然现在副作用还不是很明显。
- 想读读Spring的源码,这是一个伟大的框架,或许我可以在里面借鉴到不少思想!
- 如果上面都Ok了,我还想读一读《Unix编程艺术》。
最后
然而在今年我意识到的东西还有很多很多,介于这是技术性的总结,我便不再废话。
愿我明年依旧一路前行。