代码改变世界

《当程序员的那些狗日日子》(三十一)特殊任务

2011-07-19 10:59  java ee spring  阅读(218)  评论(0编辑  收藏  举报

在家过了一个平静而祥和的春节假期后,我继续回到公司上班。

与洪互相协调后,在兑换系统的相关工作上,我们两人也重新分配了任务,他负责银行数据处理引擎、晴提出的新业务需求开发的相关工作,以及面向中国银行和软件公司的各项工作,而我则负责礼品兑换网站、客服后台、系统管理后台、供应商数据接口程序的相关工作,以及面向各礼品供应商的技术工作。实际上此时礼品兑换网站本身的问题已不是很多,系统管理后台也没有多大问题了,供应商数据接口程序也暂时没有什么问题,而兑换项目还没有推广,所以与各礼品供应商之间也暂时没有太多的事情,因此我的工作重点就放在客服后台上。

洪的加入,分担了很大一部分工作任务,我也开始回复到杰在时的那种相对轻松正常的工作状态。虽然一开始与洪在工作协调上有一些小磨擦,但基本上和他配合起来还算默契,那些小磨擦主要是因为洪有时会以命令的口吻对我发话,我心里不服,所以才导致的,但都是小问题,无伤大雅。每个人都可以有不服对方的时候,我积不积极工作是一回事,我服不服你又是一回事。

银行数据处理引擎导入数据速度过慢的问题,软件公司并不能解决,在祁总作出新的人事安排之前,我曾建议由公司着手安排内部开发人员接手银行数据处理引擎的开发工作,真正解决数据导入速度过慢的问题,所以当时在王经理的安排下,由管理系统组一位新入职的同事和洪配合,在春节放假前开发出了新的导入数据的方法,初步实现了提高数据导入速度的突破。他们所开发出来的新方法就是:在SQL Server 2000中,利用已编写好相应SQL程序的存储过程,先将以文本文件格式保存的原始数据直接导入到兑换系统的数据库中,再在数据库中对数据进行处理并将处理后的数据写入到相应的表中,这样就可以大大提高数据导入和处理的时间,从而提高数据导入速度。

那位同事在SQL Server 2000数据库方面的能力很强,导入数据的新方法开发出来后,他也可以功成身退,剩下的工作就由洪去处理了。

洪在我与泉已确定好的数据逻辑的基础上,继续与泉讨论新的数据逻辑问题,并着手用导入数据的新方法改写银行数据处理引擎的程序,而晴提出的那些新的业务需求,他也开始提交给软件公司去开发了。

我也继续处理手上的工作,跟客服部相关同事讨论客服后台的新功能,然后将新的开发需求提交给软件公司进行开发。

但洪的加入并没有使兑换系统的开发变得更有成效,我们依然对软件公司做出来的东西反反复复进行测试,然后将测试结果反馈给他们,他们再进行修正。反正软件公司是决不会对他们开发出来的程序先进行严格的测试的,如果他们没有将程序开发出来,那是他们的问题,但如果我们没有对他们开发出来的程序进行测试或没有测试出什么问题,那就是我们的问题了。

后来软件公司又接了其他的单子,对兑换系统也没有那么投入去做了。我曾委婉地提出兑换系统外包给软件公司来开发,会在很大程度上影响开发的进度,但祁总只是表面上敷衍一下,但实际的意思除了银行数据处理引擎外,兑换系统其他各部分的程序还是要外包给软件公司来做。

我不否认软件公司的技术水平,他们开发出来的兑换系统的确有一定的技术含量,但也总是问题多多。你技术再好,系统架构再完美,程序算法再牛,但你连最基本的程序逻辑都没有处理好,程序总是出错,那么你写出来的代码也只能是垃圾代码。

如果保持着这种状态,我不用写程序,工作相对轻松而又能拿到高工资,我何乐而不为?但事实却不是这样,我们的工作并不轻松,而且按照此时广州搞ASP.NET的工资行情,我的工资也远远偏低了。

其实我的想法很简单,兑换系统无需外包给软件公司来做,而由我们自己来做,公司将外包开发的费用作为员工的加薪或是提成,这样既保证了系统开发的质量和进度,又使员工受益,皆大欢喜。但是因为祁总与软件公司老总的那些说不清道不明的利益关系,这些都是不可能做到的,似乎我们想要主动去写程序都会触碰到那些利益关系。我只是想多写代码多拿钱而已。

这些利益关系是不会被点破的,除非反映到老康那里,但没有人会冒这样的大不韪。所以有时我就觉得夹在这中间很难做,有种有力使不出来的感觉。的确,在这里,时间久了,会慢慢发现有一些比程序代码更为复杂的人事和利益的关系,所以有时也难免会动摇我之前所下过的要好好地再做一年的决心,使我闪出不想在这里做下去的念头。

有网友说,离开很容易,留下来才是修行,此时我需要的就是这样的修行,也许留在这里比写程序更能锻炼人吧。

在杰走后,当时表面上祁总安排了王经理临时负责兑换系统的相关工作,王经理也似乎想把握这一机会,想成为兑换系统的管理人,所以那段时间有关兑换系统的事情他也很卖力,但此时他见到有关兑换系统的工作似乎并不像是一个机会,而更像是一个棘手的问题,一个烫手的山芋,所以他也似乎不想再多过问了。

春节假期过后回来,公司出了新规定:不准上QQ,也不准在上班时间内浏览跟工作无关的网页,只能在中午12点至下午1点之间的午饭和休息时间内上网。实际上这就等于不准上网,因为吃过午饭后,剩下的时间已不多,都用来休息了,哪还会再去上网。所以正是从这个时候起,我在上班时间内告别了QQ,告别了CSDN,直至离开这家公司。

经过一轮辛苦和忙碌后,兑换系统的相关工作推进了一大步,洪也用导入数据的新方法改写了银行数据处理引擎的程序,真正实现了数据导入速度的提高。

于是在中国银行的要求下,再次开始兑换项目的试运行。在我的预料之中,试运行并非那么顺利,而是在不断发现数据问题和系统功能问题、不断修正问题的过程中缓慢地进行着。

当中再出现了一次我被祁总大骂的情况,因为试运行并非那么顺利,各方都比较着急,祁总在问我一些问题时,是他自己一时没有理解过来,结果就又再次对我大发雷霆。过后他自己理解过来后,发现是自己的问题,于是在洪知情的情况下向我道歉。虽然表面上我跟他说没有关系,但我心里已很想向他摊牌了。

渐渐地时间来到了4月上旬,中国银行终于等不及了,在试运行中还没有将兑换系统所出现的问题完全解决掉的情况下,就要求一定要将兑换项目向各分行员工推广了。

至此,软件公司算是基本上完成了他们的开发任务了,在祁总的指示下,兑换系统以后的开发工作由我们来接手,按合同规定,软件公司在规定期限内作一些必要的跟综维护和处理。

从表面上看软件公司是交出了一套漂亮的系统,但我却觉得那就是一个“烂摊子”,正等着我们去收拾。而且虽然洪已用导入数据的新方法改写了银行数据处理引擎的程序,导入数据的速度已不成问题了,但中国银行提供的数据逻辑并不是完全没有问题了。所以兑换项目推广后,等待着我们的,可能是更麻烦、更棘手的问题。

中国银行一声令下,兑换项目正式向各分行员工推广。虽然是向各分行员工推广,而且是分省市地区逐步推广的,但中国银行分行员工数量众多,所以兑换项目一推广、兑换系统一上线运行后,系统马上就不停地运转起来了,已培训了好几个月,入职后一直没有开始正式工作,甚至已有点百无聊赖的兑换项目客服组(简称中行客服组)的客服同事,终于可以在这个时候披挂上阵忙起来了,各礼品供应商也马上忙起来了。

然而不出两天,客服部的相关同事就反馈了很多有问题的数据,有信用卡数据不存在的,有积分数据不准确的,有扣除积分有误的,等等。此外还反馈了很多客服后台功能不能正常操作和礼品兑换数据出错的问题。很显然,经过多次修正后,中国银行提供的数据逻辑还是有很多问题,而软件公司开发出来的兑换系统也同样还存在很多问题。

但是兑换项目已经推广,兑换系统已经上线,中国银行那些分行的员工早已忙开了,他们见手上中行信用卡的积分可以兑换礼品,都纷纷通过礼品兑换网站或中行客服组人工客服来兑换礼品了,所以有问题的数据也不断涌出,而客服后台的某些功能不能正常操作,也使中行客服组的工作无法正常进行下去。

问题严重,客服部的经理也亲自出面了,她带着负责中行客服组培训和管理工作的一个组长来到管理系统部,直接将问题向我反映,向我大陈厉害。

祁总知道情况后,也下来管理系统部向我和洪了解情况,然后他又亲自到客服部去了解情况。综合各人意见后,最后祁总作出了一个特别的决定:我和洪兵分两路,洪继续负责跟中国银行的技术人员联系,修正数据逻辑后再导入新的信用卡积分原始数据的全量数据,而我则改为到中行客服组现场驻点工作,随时给他们解决数据问题和客服后台功能的问题。按中国银行的要求,兑换项目推广后就不能停下来,所以兑换系统也不能停下来。所以祁总的意思就是,我先从数据库中直接对数据进行操作,尽可能对有问题的数据进行修正。

但这无异于饮鸩止渴,源头上不断产生错误的数据,而我却只能去处理已经产生的错数据,这样只会使错误的数据越来越多。

但是在这个时候,似乎只能这样了,因为中国银行要求兑换系统不能停下来。

真是正如我之前所猜测的那样,我开始去收拾“烂摊子”了。前后不到一周的时候,我就接到了这样的特殊任务,到中行客服组现场驻点工作,而等待着我的,正是更麻烦、更棘手的问题。