时光荏苒,我来到了IBM。和慕名已久的WebSphere Application Server(WAS)打起了交道。
之前我搞过Weblogic,对应用服务器的特性有了一定的了解。但WAS无疑更为庞大,复杂。那个年代,WAS在银行、大的企业如华为用友都有一定的应用。
能和如此神圣的中间件打交道,我倍感荣幸。进入WAS部门后,开始接触web service,那时web service和SOA正大行其道。EJB虽然风头已过,但也还是J2EE服务器不可或缺的主体。
我的主要工作是做集成测试,俗称SVT, 还有FVT,在IBM这样的名称多得让人眼花缭乱,以至于新手进去的第一门功课是熟悉各种称谓。测试的目的是找bug,比的是谁发现的bug最多,最有价值,而不是比谁完成得快。人家一个case跑两个月,你跑两周就完事,但你并不会受到称赞,反而会被老外chanllenge。这个道理我后来才明白,因此也对测试工作多了一份了解和敬畏。
那时管理源代码用的是CMVC,一个内部的工具,IBM的clearcase太重,内部貌似用的不多,git还没有流行呢。在CMVC上,我浏览了不少老外写的代码,代码逻辑很清晰,注释详尽,命名合理,唯一就是行数太多,有的达到上万行。我想,这大概是一个个补丁堆叠出来的吧,因为一个文件常常是经历了多个开发者,几年的历史,要重构,时间不允许,代价太大。
业余我也搞搞小工具开发,把java包装成exe,还做了一个内部的知识库系统,没做好,原因是自研,而不是直接采用开源产品。
ERWW和e-trade是两个经典的J2EE应用,代码写得是比较优美的。
也经常去客户那里宣讲web service和WAS使用,当然,最令人头疼的是客户生产系统上遇到的各种疑难杂症,如内存泄露,事务问题。刚开始,我对OOM工具使用还不太熟练,也遇到一些尴尬的时候。
同事鹏涛开发了一个JVM问题诊断工具,我也不甘其后,开发了一个wsadmin图形化工具,用来方便得管理多个was环境,便在其上执行wsadmin脚本。可惜没有推广使用起来。
当时觉得IBM的工作环境、氛围是很不错的,谁料到外面的世界正在悄然变化呢?以阿里为代表的一些国内公司正在迅速崛起。甚至今日头条、饿了么、美团也开始崭露头角,而我浑然不知。