我的2015

2015年总结

2015年在不经意间就过去了。又是一年。按照惯例,我会在年末回顾一下这一年自己的进步,收获以及一些感慨(牢骚)。然后对来年做一点展望,看看什么地方可以做的更好。

项目经历

今年基本上经历了三个项目,性质也都不一样:

  • 海外交付
  • 国内交付
  • 国内售前

3月前的项目以及没有什么印象了,依稀觉得项目上的所有实践都是“错”的,可能由于太过与荒诞,所以大脑自行将这段抹去了。

4月到6月在深圳的一个国内交付项目上,交付压力还挺大。不过也是在这个项目上,非常直接的体会到了其他角色的不容易。无论是客户的接口人,客户的项目经理,客户的领导,我们的开发,我们的UX,项目经理,还有交付的lead,所有人都不容易。

《项目经理是大傻逼吗》这篇文章就是为了纪念这个项目,或者说是被这个项目驱动出来的。

6月之后回到办公室,在一个海外交付项目上。说是一个项目,中间其实换了6,7个不同的工作内容(出钱的是同一个客户而已)。总之一片混乱,所幸我们在10月前就结束了和这个客户的合作。这个项目事实上除了锻炼项目上人的耐心外,基本毫无益处。甚至对于很多毕业生来说,是深刻的伤害。

10月之后,我难得的在beach上待了下来,而且一待就是3个月。中间在一个联合国的项目上工作了2周,然后就是为另外一个咨询项目准备了几周方案。当然,闲是不可能闲着的。在beach上,如果不出意外,肯定会比项目上更忙!比如打黑工啊,内部什么系统的改进啊,总是有好多事情。

由于有一些本地的项目机会,而我又不在具体项目上,就来做这个售前的角色。帮助客户梳理需求,分析问题,设计方案,计算工作量等等。但是这个过程往往循环往复,一轮接着一轮,在合同确认之前,需要很多次讨论和交流。这应该不会是我自己的一个方向,在项目上写代码,培养新人,分享自己的学习所得,和他人一起进步,是我自己比较有热情的方向。

技术方面

在海外交付项目上,乏善足陈,项目中用到的也是非常厚重,已经至少10年的技术。通常来看,这样的大组织,没有人对要做的事情真正关心。好不容易遇到一个特别靠谱的人,结果我们的项目又结束了。国内项目上倒是有很多有意思的东西:

  • 如何在前端代码中很好的使用MVC
  • 流畅的前端开发模式
  • 如何做前端的测试

上面这三点,我希望可以找时间整理出一本电子书,可以让没有工程级做过项目的前端工程师能有一个参考。

另一方面,由于项目的压力,和项目人员的特殊性(开发就俩人,一个做前端,一个做后端,要集成就pair一下),所以很多实践都没有应用,比如结对,自动化测试等,做的都不够好。虽然我们很推崇,强调CI/CD的实践,但是当和客户的后端系统集成时,就各种悲剧。

联合国的项目上,技术栈比较新颖,上一家的技术人员使用了他们当时能找到的所有酷炫的新技术,并用在了项目中,然后他们公司被收购。留给我们的在今年来看,依然是比较新的

  • React
  • Reflux
  • ES6
  • mocha/chai

而在国内售前,基本上没有写过一行代码,更多是更高层次(高不一定是好哦)的工作。确认需求,估算工作量,确定方案(前后端测试,开发方式,部署策略,自动化测试等等)。

2016年,我希望可以多学习一些具体的编程知识,比如:

  • mongodb
  • 数据分析,数据挖掘
  • 容器技术如docker

书籍

今年读了一些技术方面的书,更多的则是一些非技术类的。《自私的基因》是在2012年11月去墨尔本时,在广州白云机场买的,路上10个小时,读了几页。直到2015年才又拿起来,读了两章左右,基本上颠覆了我之前建立的对“进化论”的认识。

另外读了一些科普类的,比如《哲学家在干了些什么》,《上帝掷骰子吗》等,又扫了一次盲。再就是一些佛教相关的书籍,《西藏生死书》,《能断:金刚经》,《正见》等,人生观和价值观得到了刷新。

技术类的,主要是一些与具体技术关系不太大的,比如《恰如其分的软件架构》,《企业级应用架构模式》,《发布!》,《实例化需求》,《持续发布》之类。

虽然竣工于2014年,但是我的一本著作和一本译作都是2015年才发布出来,那就算作2015年的吧:

社区

今年在深圳的时候,有幸和ThoughtWorks的首席科学家马丁.福勒在同一次活动中作为讲师。

shenzhen

回到西安之后,在本地社区中还讲过一个前端工程师需要掌握的技能列表的session

xian

2016年希望可以做一些更加深入的topic,以及一些更有意思,可以帮助到更多已经在路上的工程师们。

People Development

这个不知道如何翻译了,但是确实做了一些具体的事情:

  • 给我的sponsee们安排了读书会
  • 组织了一次《编写可维护的JavaScript》的workshop
  • 组织sponsee来做一个side project
  • 组织《Web开发实战》的workshop

我自己总结出来了一套组织workshop的方式,其实很简单:

  1. 做好计划,做好课表,做好课件
  2. 找学员,同时从学员里找出有基础,而且有意愿接着run workshop的人
  3. 讲课,收集feedback,并改进课表,课件
  4. 将run workshop的任务传递给那些有基础,而且有意愿接着run workshop的人

2016年希望可以找到更多的候选人,并帮助他们成为更好的讲师,教练。

总的感悟

总体的感觉是很忙,各种事情千头万绪,没有了清晰的一个vision,也没有了指导,自身的发展方向也变得模糊起来。一部分原因可能是压力的方向变了,在项目上的单一的压力下总是可以找出一些事情来的,但是在项目之外,各种可见不可见的压力都慢慢浮现。对于这些隐形的,不可见的,但是又可以感受到的压力,需要认真思索对策,然后想办法搞定。

学习上有点“半瓶醋”的感觉,很多技术都接触了,但是不见得深入。缺乏空杯心态,这个是2016年希望自己能改进的地方。另一方面,希望在一个IT系统的架构层面有一些积累,以便在考虑项目的问题时,能够更加全面,而不至于陷入细节,只见树木,不见森林。

2016,当然还会很忙,只是希望忙的过程中可以多一些快乐。