转载

作为码农的2016总结

转眼匆匆一年过去了,也经历了许多,到了年末,总得留下些东西做念想,否则也太无趣了.

The Study

作为一个程序员,成长路线大概多少近似.最开始的快速成长期,到成熟期瓶颈期,跳出舒适区后的更上一层楼.其中瓶颈期更是大部分程序员折戟之地.索性的是我大概还没有到这个阶段,还不需要想着怎么去自我斗争,对自己革命.

自身仍然处于快速成长之中,不断地拓宽广度.作为一个15年夏天之前还对代码一窍不通的人,最初的懵懂无知到现在初入门径.从之前的笔记记录也可以窥知一二.

  • 1月份的时候,还在学习所谓ssh框架(spring,hibernate,struts2)的基础使用.
  • 2月份对算法与数据结构做了一个初步的系统学习,包括基本的数据结构,排序算法,图论到一些算法设计,回溯,贪心,动态规划等等.再就是各种树结构,AVL树,红黑树等,虽然现在也忘得差不多了.书基本上看的是《数据结构与算法分析:java语言描述》这本,算法导论我当时看着有点儿晦涩.以后有时间再好好啃啃.
  • 3月份是读了《深入理解计算机系统》这本书,但仅仅是前三章,涉及到一些最基本的信息表示方式,无符号运算,补码运算这类的.还有一些汇编的基础知识,包括帧栈,寄存器,缓冲区等等.后半个月对linux做了一个初步的学习.
  • 4月份貌似在学习上没什么动作,在月底的时候看了一本书《struts2技术内幕》,写得真不错,高屋建瓴地描绘了整个struts2的体系架构.虽然struts2现在基本没啥人用了,但这书让我意识到用一种架构的眼光看待事物.
  • 5月份的时候看的书叫《spring in action》,更系统地学习了一下spring,不得不说的是这本书的例子真的是妙计了,贴切而生动.当然这本书不会偏向于架构方面,但不能否认是本好书.书里有一章spring mvc的,又道听途说到所谓ssh框架已经被更流行的ssm代替了(spring,spring mvc,mybatis),所以在也算是初步学习了一下spring mvc.然后下半个月,自然是去找mybatis的相关资料稍作学习了.
  • 6月份的时候开始看《计算机网络:自定向下方法》这本书,各种协议搞得我头晕脑胀,接着也有看《图解http》这种浅显的书.下半个月接连看了《深入理解java虚拟机》与《java并发编程实战》两本书,对于JVM与高并发的认识,让我开启了新世界的大门…
  • 7月份的时候,已经开始找实习了.学习方面,对redis,memcache做了初步的了解,然后搭了个人第一个分布式的项目.用了ssm的框架,mysql的库,redis的缓存,nginx的负载均衡,solr的索引库(虽然我现在也不会写solr的代码).对分布式的认识,又一次让我开启了新世界的大门…
  • 8月份,由于从8月份开始开始实习了,自己的学习时间基本上会压缩到剩下三分之一.八月份基本上是想接触一些脚本语言,就开始看python,买了一本书叫《python cookbook》,也是看了前几章.后来照着flask的文档写了个demo,现在也是忘得差不多了.
  • 9月份,一门心思想要用n种方式写hello world的我又去照着go和scala的tutorial练手.最后的用武之地就是,用go连mysql,redis查一查数据然后给老板发报表.期间看了一本书,叫做《分布式java应用:基础与实践》.虽然感觉写得不怎么样,但也让我对分布式有了更浓厚的兴趣.
  • 10月份先是看了《大型网站系统与java中间件实践》,说实话这本书写得比9月份那本好多了,对分布式技术的了解也有了大致的轮廓,而不再是盲人摸象.后来看了《从Paxos到Zookeeper》,也顺便学习了一下zk的基础与实践.下半个月基本上是看了看netty,nio的最佳实践么,总是要看的.
  • 11月,按捺不住躁动的心开始接触hadoop,包括基本的hdfs,mapreduce,以及pig,hive,hbase等组件.当然在这之前,我把笔记本装成了linux,推荐一下deepin系统,国产精品.下半个月开始莫名其妙对爬虫产生兴趣,用国人开发的webmagix框架爬了个豆瓣,不了了之.
  • 12月,渐渐地恢复了博客的记录.了解了一下ELK(elasticsearch+logstash+kibana)+redis一套日志分析的构建.又跑去学习了一下docker,然后我惊讶地发现,似乎我用不着本机装linux了…下半个月系统学习了一些mq包括rabbitmq与kafka.

总结一下,其实前半年与后半年的学习方式还是有很大差别的.工作之后学习时间更散乱了,而且很多时候都是项目里先用着,自己之后再找时间抽空系统性地学习(比如zk,kafka等).还有工作中的学习很大都是潜移默化形式的,比如对redis的了解,tcp的优化,设计模式的实践等等.而且有些技术细节,比如加密解密,分布式锁等等都有在工作中无形地学习到.

The Work

工作部分要从暑假说起了.暑假心急火燎地要找实习,也面了很多家,从不知名的小企业到阿里,百度.不过心里清楚当时还是实力不济.后来去了华米科技,做得小米手环还是不错的.遗憾的是,因为七大姑八大姨一直让我回家去,就没在华米待多久.对当时招我的缪哥感到十分抱歉.

回杭州之后面试了网易杭研,也顺利拿到了offer,于是就开始了在猪厂的日子.

还是比较快地融入了大家的工作节奏,从需求交互到我这儿的服务器开发,给手机端提供接口,到给qa提测,到拜托运维的预发上线,出了问题的日志追踪.这一套已经越来越熟悉与习惯了.

服务器处于流程的中间地段.前要和产品经理确认需求,满足交互的文案.后要与安卓,ios或者前端的开发们联调接口,提测后随时准备好应对qa的摧残.日复一日,沟通与协调技能有了长足的进步.

另外,有一些工作中的point要注意的.比如接口尽量考虑到以后需求的变化,擅于使用设计模式来使其具备扩展性,平时需要考虑开发环境与线上环境的差别,日常的脚本要归类好等等.

言而总之,网易的这段时间算是个人的初次代码工程实践,学习到了许许多多宝贵的工作经验.十分感谢组里面的同学,特别是瑞哥和卓尔对我的照顾,排期分工作量的时候一般我都是最轻松的.瑞哥老司机面了我之后就带我走上了这条不归路.还有美丽的qa维姐,在无数的bug之后,任然对我微笑相待.总而言之,这是段忙碌快乐而充实的时光.

月末离开了网易,几天不见,就甚是想念.

The Future

回顾已过,开始展望.也就是,开始立flag了。

我其实比较清楚自己的弱点.作为一个接触代码不到两年的菜鸟,积累的缺乏大概是最大的弱点.通俗地讲就是基础差,虽然之前也看过《深入理解计算机系统》这样的书,但总比不上人家大学四年硕士三年cs专业整整七年积累的正统码农.所以首先,希望可以注重基础.

一年的时间,我基本上都在拓宽着广度,在x轴上一路向西.其实已经不太健康了,比如之前用python写过代理服务器,暴力破解密码之类的小玩意儿,也用flask搭过的简单的web程序,但现在貌似需要参照google才能写出完整的代码.忘得比学得快.而比较健康的发展方式大致是T字形的.也就是百分之八十的领域达到百分之二十的深度,而百分之二十的领域达到百分之八十的深度.现在为止,我还没有一个点深挖下去.所以其次,希望可以找到一个领域,然后一路向北.

有一段时间,丧心病狂地买了大量的书.而到现在为止,看了不到百分之二十.所以第三个,希望可以消灭百分之五十的书.

当然这些其实都是比较虚而大的,落实到实际上很多时候全看自己的心情.我也希望可以改到这个毛病,做一个有计划的人,而不那么的随心所欲.

原文  http://langgengxin.com/2017/01/01/作为码农的2016总结/
正文到此结束
Loading...