前言
2016年刚毕业,在2017年到来之际,写了一篇总结:2016总结,这是对自己的一个交代。如今,转眼一年已过去,2018即将到来,也来总结一下自己这2017年的得与失吧。
总结
技术
在2017年结束,2018年到来之前,给自己定了技术方向和读书方向的目标:
- 深入理解View的原理,自定义View顺手拈来
- 写系列源码分析文章,分析ListView,RecyclerView、Fragment、Window、Activity源码
- 学习公司内部热修复原理并自己能写出demo
- 了解binder、多进程相关原理
- 了解HTTPS,TCP/IP等网络相关知识
- 关注插件化技术
- 关注微信小程序新技术发展
- launch自己的项目
其中,关于自定义View,对于如何实现自定义View已经有了进一步的认识,经过这一年项目的历练,不敢说信手拈来,但是在看到效果后,如何实现,都会有一定的想法。比较遗憾的是,源码分析文章自己并没有写出来;公司内部热修复原理自己深入研究了一番,基本上已经了然于胸,写了一篇文章:自定义Gradle插件(二);然而,对于binder(Android-Binder)、多进程、HTTPS(how-https-works)、TCP/IP、插件化(Android基于代理的插件化思路分析)、微信小程序,只简单的做了个入门介绍,并没有做太多深入性的了解。10月份时,对于自己的小项目如何实现已经有了初步原型,但是公司突如其来的项目(milk)打乱了计划,最终还是没有落地。
读书
2017年给自己定下的目标是读20本书,并写下读书笔记。虽然执行下来,读的书和原来想象的不太一样,但是目的达到了。这一年下来,读了如下书
- 《乌合之众—大众心理学研究》
- 《牛虻》
- 《关键对话:如何能高效沟通》
- 《消失的地平线》
- 《影响力》
- 《人间失格》
- 《比特币:一个虚幻而真实的金融世界》
- 《国富论》
- 《生命对你意味着什么》
- 《中国哲学简史》
- 《梦的解析》
- 《社会契约论》
- 《庄子全书》
- 《穷查理宝典》
- 《中国人的日常》
- 《孟子》
- 《苏菲的世界》
- 《毛泽东传》
- 《从0到1:开启商业与未来的秘密》
- 《知行合一王阳明》
对于每本书,基本上都写了简要的书评。最大的收获是养成了阅读的习惯,对于篇幅较短的书,基本上一周搞定,篇幅长一些的,两周也能搞定,但不强求。
工作
这一年来,大部分时间都花在了工作上,较快较好地完成了薄荷SDK接入、新用户送红包、用户反馈模块改进、段子栏目大改版、milk项目视觉换新等工作。工作能力有了很大提升,老板也给了应有的加薪。代码能力相对一年前有了很大提高,代码的可扩展性和灵活性有了很大进步。其中一个对我影响比较大的事是因为一件事和一位产品同事吵了一架(生活总是充满意外),让我意识到,工作不仅仅是搞定老板交给的工作,还应该处理各种好人际关系,职场中想要走得更远,少不了其他人的支持。
意外收获
今年最大的意外收获是某次在微博上看到了一个视频推荐使用podcast来提高英语听力,然后在网上搜到了一个良心软件pocket cast,已经连续听了两个多月,对自己英语听力提升非常大。虽然还没有达到能做美剧翻译的水平,但是基本上不需要字幕也能明白大概意思。另外一个意外收获是,关于技术方面的提升,之前早就听过coursera的大名,但是碍于自己的英文听力,从没有在上面上过课。使用了pocket cast一个多月后,在上面注册了两门课(Coursera公开课-Algorithm-Percolation),配合ppt,发现自己完全不需要字幕就能够大概明白教授所讲的内容,着实让自己很意外!对于那些对算法有一定基础,但是想要提升的人,强烈推荐!这可能是我上过的最好的算法课了,想想当初上学那会要知道有这么个东西,真的可以省下很多时间。今年也看了不少技术方面的书籍,其中让我印象深刻的是《编码:隐匿在计算机软硬件背后的语言》和《程序员的自我修养—链接、装载与库》,前者从硬件角度把一个程序如何运行讲得十分透彻,而后者则对现代软件如何链接、装载、运行做了详尽的解释,有人说这本书有抄袭《Linker and Loader》的嫌疑,但这本书确实是国内为数不多能把现代程序运行原理讲得如此细致的书,任何一个程序员都应该读一读。
困惑
从今年年初就一直在思考一个问题:自己和那些刚进来的应届生有什么区别?应届生进来带个半年,基本的业务能力也都具备了,日常迭代工作交给他们其实不会有太大的问题。看了一下一年前自己写得代码和组内大牛写的代码,我基本有了答案:刚进来的应届生工作的重心都放在完成上,如果有个类似的功能,他们通常的做法是重新copy一遍,再改改就去交差。而那些大牛工作的重心更多得放在代码的架构设计上,他们的架构可以灵活应对各种需求的变化,即使有些功能没有考虑到,以后扩展起来也不会太难。这个也是我今后一直追求的目标:写出更加灵活的代码。另一个困惑是人生的困惑:这一年看了不少哲学的书籍,也开始思考自己应该以怎样的姿态生活在这纷杂的世界中。人这一生,应该怎样过才能算不枉虚度?看了很多的传记、和心理学的书籍如《乔布斯传》、《毛泽东传》、《知行合一王阳明》等,我仍没有找到答案。希望之后的生活历程中能给我想要的答案。
展望2018
2017对于我来说是一个平淡的一年,没有太大波澜,没有大起大落。这一年给我最大的感触是心态由最初的浮躁变成了平和。开始明确自己的技术方向,肯花时间去钻研自己感兴趣的东西。
2018年,我需要在如下几个方面努力
技术能力
学习Android Framework层源码,了解 XXManager、Activity、Fragment、Window相关源码,并写出系列分析文章(至少10篇)
学习设计模式,并分析常见设计模式的优缺点(至少5篇)
学习Java并发编程(至少5篇)
其他能力
其他能力不能像技术能力那样能够量化,以文章的形式输出,但也是必不可少的。提高沟通能力,学习说服别人的沟通技巧;
2017年的投资全军覆没,虽然投进去的钱不多,不过战绩还是提醒了我要想靠钱生钱,还是需要专业知识,希望明年能够谨慎投资,系统学习投资相关知识。
end
2018,加油!!!