这个春节最大的感慨是时间过的越来越快,转眼一年就过去了,
在这里回顾和总结2016年的工作,分享自己的感悟,展望新年,开工大吉!
回顾2016年
这一年工作上变动了,技术上也成长了很多。
1.工作与学习
过去的一年有机会在两家优秀的互联网公司工作,从五八同城到搜狐,开始知道什么样的工作更适合自己,对未来的职业规划更加清晰。
五八是一家节奏非常快的公司,还记得公司的企业文化,“五八在过去、现在和未来,都将是一家创业公司”。
公司内部沟通氛围特别好,平台部和DBA部门有问题响应及时,很多技术大牛,学到了很多东西。
下半年来到搜狐,参与一个全新的新闻客户端的后台开发,团队同事非常给力。
新项目一开始就确定了高并发高性能的设计目标,从微服务到容器化,有机会实践了最新的技术和架构理念,踩了一些坑,但更多的是收获。
一直关注高可用架构公号的文章,于是加入了高可用的社群,作为一个新兴的技术社区,在这里可以向很多业界的一线大牛学习。
各位架构师不仅技术扎实,在写作,兴趣等方面同样出色,深刻感到学习和成长的能力是可以迁移的,在一个领域可以做到顶尖的人士,在其他领域同样优秀。
2.技术成长
这一年感觉自己完成了技术成长的一个重要阶段,眼界扩展了很多。功能实现不再只关注局部,开始从系统架构的角度去思考,考虑的是怎样找到综合成本和性能下的最优解。
特别是在搜狐参与的新项目没有技术包袱,可以选择自己感兴趣的技术去实践,
学习并且应用了很多热门技术,主要体现在几个方面:
- 系统的学习了JDK集合类库的源码,在此基础上,复习了数据结构和经典的算法;
- 学习并应用Java并发编程,包括Concurrent包的应用,需要注意的一些问题等;
- 对分布式服务框架的原理有了一定了解,从通信框架,序列化协议,到服务注册,降级和容错等;
- 学习了分布式数据一致性,包括Zookeeper的设计与应用等;
- 实践容器化技术,在项目中应用了Docker的集群部署,正在翻译Kubernetes技术文档;
- 常见分布式日志的收集方案,在项目中应用Flume结合ELK组件进行日志处理;
- 压力测试与性能优化,实践了JMeter和ABTest等压力测试工具的应用;
- 敏捷开发,在新的团队学习和应用了敏捷的开发理念;
对大型网站系统的架构设计有了更深刻的理解,从前期的容量预估,框架选型,服务拆分,持久化存储方案和缓存应用,
到后期容器化运维,以及敏捷和持续交付等有了一个比较全面的认识。
3.读书和分享
通过技术博客来记录分享已经有三年多的时间,前期一些部署笔记和流水账比较多,现在想多分享一些技术干货,所以思考的更多,动笔写作变少了。值得高兴的是,在阿里的云栖社区写作,通过了云栖社区专家的认证,算是一个小小的鼓励。
作为一个资深的阅读爱好者,每年我都会制定一个书单,方向也比较广。
一直认为读书是获取知识和改变思维方式最有效的途径之一,阅读范围也不该局限于专业书籍。特别是多读一些社会科学方面的书,包括历史和哲学等,结合理工科思维来理解这个世界,会有全新的视角。
去年读了四五十本书,从自然物理到经济金融,得到了很多启发。
开卷有益,推荐几本我的五星书籍,以后会单独分享读书心得:
思考和感悟
伴随着技术的成长,这一年有很多的思考,把一些有代表性的分享给大家。
1.能力越大,责任越大
参加实习的时候,在知乎上提过一个问题“尚未毕业的实习生,有机会参与大型软件项目的全程开发,怎样在这个过程中学习到更多的东西?”,有知友添加了一个简单的回答,“Take more responsibility”。
几年过去了,越来越认同这句话。电影《蜘蛛侠》里,Peter一度意志消沉、迷失方向,想做回自己,而不再是蜘蛛侠,他的叔叔告诉他,Remember,With great power comes great responsibility。
在团队中的重要性,更多的是体现在你承担的责任上。能力越大,责任越大,工作之初,作为团队新人,项目出了问题有更高阶的工程师承担责任,两三年以后,技术和眼界有了进步,核心功能都是你实现的,这时候你要对整个系统负责。
2.思维比知识重要
务实的同时也要务虚,特别是在架构设计上,抽象的能力非常重要。
IT从业者经常感慨技术更新太快,新的技术每年都会出现,但是万变不离其宗。新技术的出现的目的是为了解决某个问题,如果没有系统层面上的融汇,单纯的掌握了多少技能,并没有太大的价值。
3.自我驱动下的技术成长
自驱力是一种非常重要的能力,一个真正的人才,应该是自我驱动型。自驱型人才,不需要外部的Push,工作上投入,并且善于主动学习。
《终结者》里面,一个可以自我修复和升级的机器人是非常可怕的,同样的能力体现在个体身上,表现就是自动自发。
展望新的一年
术业有专攻,新的一年要抓紧技术成长,夯实基础,修炼内功。
1.加强在系统架构方面的积累
对一个应用开发工程师来说,系统设计和架构的能力可能是最能体现技术水平的。
新的一年计划继续总结大型网站系统架构知识,整理《高性能网站架构设计与实现》专题,通过不断的学习和实践,以点带面,实现各个技术栈的串联,最终提高对整个系统架构的把握。
2.学习产品设计和运营知识
技术是为业务服务的,对行业分工有更全面的认识,及时的发现产品的一些问题,可以更好的指导开发。
一个优秀的工程师,肯定有能力做一个优秀的产品经理。业内很多出色的产品经理都是技术出身,最著名的比如张小龙,周鸿祎和雷军等等。
知己知彼,方能百战不怠,技术和产品的结合,也给未来的职业发展提供更多的可能性。
3.坚持分享和输出
每周至少一篇技术博客,围绕不同的专题进行写作。
分享的过程本身就是自己对知识的再次理解和消化,今年的分享不仅是纯粹的技术文章,也要把自己的一些思考写出来,在交流的过程中打磨和修正。
4.保持阅读和写作的习惯
读史使人明智,读诗使人聪慧,演算使人精密,哲理使人深刻,道德使人高尚,逻辑修辞使人善辩。
今年还是会制定一个书单,在读书的同时分享自己的笔记和书评。
5.学习机器学习课程
作为未来几十年内最可能改变世界的技术,人工智能和机器学习现在是大热门,希望有机会参与其中,继续学习斯坦福大学吴恩达的机器学习公开课。
分享下课程地址:
6.关注行业动态和新技术发展
技术正在悄悄的改变各行各业,这个时代,信息不对称带来的红利期越来越短,机会只属于最早进入这个领域的人。比如之前的比特币技术,到近几年的微信公众平台,都是最早进入最先获益的例子。对新产品和新技术保持敏感,有合适的机会就不要错过。
当然,新年的小目标不止在技术上,还有生活上,兴趣上等,
比如摄影进阶,成为图库签约摄影师,坚持健身,及时当勉励,岁月不待人。
写在最后
年岁渐长,不管是工作和生活上,都要担起应该有的担当。以前看冯仑的《野蛮生长》一句话印象深刻,老男人要玩,小男人要思考。
预测未来的最好方式是创造它,认清自己的位置,找到适合自己的方向发力,肯定会有收获。