工作一周年记

总的来说,IBM在我学生生涯占据了一个很重要的位置,从大二加入学校的IBM俱乐部,其间参加过IBM的全国大学生创新大赛,去过九寨参加IBM夏令营,一直到研二来到CDL实习。2009年7月14号,我从一个实习生转成了正式员工,bluepathway还在沿续。

进入公司做的是数据挖掘产品相关的开发,工作还是在一种轻松愉快的氛围下有条不紊地进行着。感觉有无尽的资源你可以学习,从到SQL的执行优化,到clearcase best practice;有数不清的大牛你可以请教,从OSGi到EMF,因为很多这些技术标准的制定者就能在bluepage上查到。

对一年的表现来说,我自己觉得也跟大多数新人的PBC一样吧,solid contribution,但并未有太多让人吃惊,为之眼前一亮的东西。生活中的一些事情也占据了这一年的一些时间吧,比如房子等等。接下来的一年,希望生活上能逐步稳定下来,这样才能对长久的工作和生活都是非常重要的。

接下来说一些一年内自己觉得比较有意思的东西吧:

The code is there, read it

据说这是一个美国二线经理在你伸手要技术文档常说的一句话。看起来很不讲道理,但从个人coding能力的角度来看,读代码的能力是非常非常重要的。如果你看过很多开源框架的源代码,对设计模式知道个所以然,那么你在了解整个产品方面并不会遇到太大麻烦,因为你在读代码时看到一个inner Mediator类时,就知道它接下来要做什么事情了。而只有基于正确的源码级理解,才能形成良性的迭代开发循环,否则,改regression还来不及呢。

The big bang

想升band光有solid contribution是不够的,你还得在你经理期望的范围之外,体现你的added value。

No Excuse

一开始还经常把自己当作新人看待,但当最近一次不小心弄坏build时才意识到,当某些错误发生时,借口是没有用的。如果道歉有用,还要警察干嘛。。。做错了就是做错了,IBM更相信process leads to success。所以要是再担心弄坏build,写一个自动化pde ant脚本就好了。

Don’t make me think

这是写邮件陈述问题的一些看法,尤其是在给一些国外同事写信的时候,最好在信的开头就把这封信的意思说清楚,因为并不是每个人都愿意知道的那么详细,也不是对你很紧急的事情在他们也同样很紧急。to的人可能比较仔细地看,cc的人可能就只是看个大概。所以把相当一部分信息highlight出来,对你获得你想得到的回复是非常有必要的。

QA in a Dev’s perspective

一个QA同事说过这么一句话:QA主要是帮助Dev找出问题的,也就是说,Dev的工作正是由于QA的保证,才会显得高质量。而QA本身是再没有QA对他们的代码质量进行保证的,这些代码可能包括测试用例,测试脚本等等。所以如果以一个开发者的角度来看待QA的代码,以Dev的一些专业知识对这些进行refine,那么保证了QA的工作的同时,也保证了最终产品的质量。其实很多开源框架发展到一定阶段,都是由框架本身来cover部分quality,比如EMF和Hibernate的validation模块。

Keep Logging

这条也是每个人都知道,都并不是每个人都能做好的。每天都有不同的事情,不同的想法企图在你的大脑中永久地占据一片内存,如果不记录,要么选择性遗忘,要么就等着out of memory。在解defect时,有新想法时,走新的流程时,有时候只需要简单的一个wiki page,一个teamroom comment或者一个shell脚本,记录不仅让你在下次同样的事情只需要O(1)的时间定位,也在与同事分享时show出了你的价值。