《当程序员的那些狗日日子》五
《当程序员的那些狗日日子》(四十一)卑微的角色
研发部中的其他三位同事,搞硬件的其中一位同事,姓钟,一般被大家称为小钟,其年龄与我相仿,长得有几分英俊,人有几分风趣和潇洒。搞硬件的另一位同事,单名一个良字,一般被立经理昵称为良子。良子比我小三岁,个子不算高,脸圆圆的,有点娃娃脸的感觉,虽然其心智很成熟,但从其脸上似乎看不出他经历过很多的事情。另一位做机箱结构设计的同事,姓林,部门里外的同事一致称其为林工。林工比我小两岁,个子也不算高,微胖,人有点直爽,说话声音很大,很能侃,人缘也似乎很好。良子和林工虽然都来自同一个省份安徽省,但两人在性情和行为方式上却有着很大的不同,在林工身上很容易就找到北方人的影子,但良子却似乎更偏向于南方人的内敛。
小钟是广东人,已在广州的远郊买房并结婚生子,而且他和宗一样,是有车一族,虽然都不是很贵的车,但毕竟已跻身有车人士的行列了。大概正因为小钟各方面都比较稳定了,没有了这个年龄阶段的各种压力,所以人就比较潇洒。
我将有关资料整理后,便真正开始做需要分析了。按照我自己的工作习惯,做需求分析的过程中,第一步要做的工作就是设计数据库,根据实际业务情况建立数据库的表。数据库是一个系统的根基,只有先把根基打好了,才能去做程序架构的搭建、网页的设计和制作、程序的编写等其他的工作(当然数据库的设计和程序架构的搭建可以同时进行)。
视频管理系统采用的数据库自然就是我所熟悉的SQL Server 2000,而不是MySQL。就在我准备设计数据库的时候,宗跟我说,我做需求分析,要先将数据库设计的情况等用DOC文档写下来。于是我跟他说,我想先在SQL Server 2000中将数据库建好后,再用DOC文档将有关情况写下来。但宗却说,不行,要先用DOC文档写下来。于是我再跟他说,因为我习惯了先在SQL Server 2000中建数据库,我建好数据库后再写也一样。但宗却大手一挥说,“现在就是要你这样做,先用DOC文档写下来!我们不会看你在SQL Server 2000中的设计,我们要的是文档!”
宗的语气很坚决,态度很强硬,毫无商量的余地,于是我便不好再跟他多说什么,只好有点勉强地一边点头一边说,“好好,那我就先写DOC文档!”
这些对话都是当着部门中各人的面进行的,虽然不算很激烈,但宗的语气并不友好,态度强硬,中间我的语气也提高了,所以整个对话过程已或多或少地隐含着矛盾。
在公司里,服从上司的命令是没错,但在不影响工作开展和实际结果的前提下,我觉得上司也应该尊重一下下属的工作方式和工作习惯。我之所以想先在SQL Server 2000中建数据库,是因为在SQL Server 2000中进行实际的建表操作可以做到所见即所得,如果先写DOC文档,难免会“纸上谈兵”,有时还是要借助SQL Server 2000来解决一些实际的问题,所以我才有这样的想法,这也是我在以往工作中所形成的习惯。但宗却没有给我一点这样的自由度,所以虽然表面上我服从了他的命令,但在心里我对他还是有些抗拒。我心中的芥蒂也由此埋下。
虽然心里不情愿,但我还是按照宗的要求,在做需求分析的时候先写DOC文档。这其实主要就是将在SQL Server 2000中要建的表在DOC文档中用表格的形式表示出来,包括表的列名(字段名)、数据类型、说明(字段说明)、备注等信息,实际上就等于是在DOC文档中“建表”,只不过以后还要照着这个信息在SQL Server 2000中再进行一次真正的建表操作。
虽然是在DOC文档中“建表”,但这其实就是在做需求分析,这也是真实建表的反映,所以其信息也必须准确,因此我还是不能有半点马虎,否则如果其信息不准确,到真正建表后,系统的根基就会有问题。因此这就是一项重要的工作。
经过对祝老师所讲解到的内容和他发给我的那个DOC文档以及我整理出来的资料进行分析,去繁取简,去伪存真,并经过多日的脑力激荡后,在DOC文档中“建表”的工作也渐渐完成。此时的我已不是当年的吴下阿蒙,凭着我在网站程序开发和数据库设计方面所积累起来的经验,我还是顺利地完成了这个很重要的需求分析的过程,将那些繁杂的需求用数据库的表初步地表现出来了。不但顺利地完成了,而且我自认为这个需求分析还做得相对准确,我能将那些繁杂的需求用程序的元素相对准确的表现出来。而表的命名、字段的命名等都按规范来做,自不在话下。
这项工作可以说是有别于以往的工作,虽然没开始前对我来说是一个挑战,但经过这个过程后,我却更能从总体上去分析和把握一个系统的最底层的结构,将繁杂的需求变成系统和程序开发所需要的元素。这对我来说却未必不是一件好事。
我认为一个系统,最初的数据库设计很重要(在这里特指表的设计),这无关乎后面的程序用什么语言去开发,也无关乎语言版本的新旧,数据库设计得好与不好,将成为一个系统是否能成为好系统的先决条件。任你用再牛的语言,用再新的语言版本,你的程序算法再牛,但如果你的数据库设计得不准确,不符合实际业务情况和实际业务逻辑,那么你开发出来的系统也只能是一个不合格的系统。而这一点此时我认为我做到了。
文档写好后,我便将其交给宗过目,征求其意见。宗看后提出,表的主键不能用uniqueidentifier数据类型(GUID,全局唯一标识符),就用属性为IDENTITY的int数据类型,以方便日后数据库可以由SQL Server 2000迁移到MySQL或其他类型的数据库。
我之所以用uniqueidentifier数据类型,是因为在邮购公司时,兑换系统数据库的表的主键都是用uniqueidentifier数据类型的,我从中借鉴过来。表的主键用uniqueidentifier数据类型的好处是不能猜到主键的值,这对于商用系统很有好处,可以防止猜主键值(即防止猜ID),当然还有其他好处;不好之处是uniqueidentifier数据类型在实际应用中处理起来会比较麻烦,而且占用存储空间相对大一些,可能影响到程序执行的效率。本来我是从商用和安全的角度去考虑的,但既然宗这么提出来了,我也不想搞得那么复杂,于是去繁从简,表的主健全改为用属性为IDENTITY的int数据类型,IDENTITY的种子值和增量值自然就均设为1了(初始值为1,并自增1)。
改完后再给宗看,宗说我还要将各表所代表的各部分主要功能用流程图的形式画出来。虽然表是设计出来了,但是对于系统的功能要怎么更好地呈现出来,我也不可能一下子就有一个清晰的概念,我认为这需要在正式编写程序的过程中逐步去完成构思,最重要的是,表设计出来了,系统的功能就可以按照这个最底层的结构去展开。我这样跟宗解释后,问他能不能不画这样的流程图,但他还是要我先将这样的流程图画出来。
也许从正规化开发的角度来看,宗的要求没错,但是你不能跟我说正规化,这只是小作坊的开发而已,没必要上升到正规化的高度,你让我都按正规化来,那正规化本身所用的时间,我可能已可以将系统开发出来了。更何况我在文档中“建”的表,都是用具有实际意义的英文表名和字段名,并配上中文说明和备注,表的外键和关联表的主键的字段名均相同,各表的关系已清清楚楚,只要是做这方面工作的人都能看得明白,无需再多作说明。
但是我不能跟宗说这些,我还是要画所谓的流程图。但是我实在不善于画这样的流程图,无法按宗所要求的画出来,所以只将模拟程序执行时各表可能访问到的先后顺序用方图的形式画出来,并将各个表的用途和作用用文字简要地描述出来。
宗看后说,这都不是他想要的样子,我说我只能做到这样了,他也只好说那就算了,就这样吧。我不明白,你为什么一定要我做这些形式上的东西呢?我最终能将系统开发出来不就行了吗?
但是后来我明白了宗为什么要我这样做,因为他一开始就想到我可能做不下去,所以他要我写这么多东西,好在我不做的时候,他可以将这些文档资料交给下一个接手的人,方便下一个人接手开发。虽然他们把我招了进来,但宗并没有从心里真正接受和认可我。难道你为了方便下一个人接手开发,就先让我做这么多形式上的东西吗?你考虑到了方便一个假想出来的人接手开发,但偏偏就不考虑先方便我这个已成为事实的同事开展工作。
实际上宗并没有具体看各表的设计,因为他并不想了解这些细节。于是在宗点头认可了的情况下,我再按之前与祝老师讨论时的约定,把这个清楚地记录了各表的设计的DOC文档发给祝老师确认。因为实际业务情况是祝老师提出来的,而且祝老师就是计算机专业硕士毕业的,我所做的需求分析准不准确,他应该最能提出意见。
最后祝老师给我的意见就是表的设计没有问题,就这样就可以了,以后有新的业务需求再补充或修改。
得到祝老师的确认后,我便开始真正在SQL Server 2000中创建数据库和建表了。在这里,我还是参考了在邮购公司时的做法,表、视图、存储过程、函数的命名均分别以“T”、“V”、“SP”、“F”打头。
数据库建好后,接着搭建程序架构。在VS2005中先创建VS解决方案,再在其中创建各程序项目和有关的类库项目后,视频管理系统的程序架构就算搭建起来了。根据祝老师提出的实际业务情况,视频管理系统分为管理员、教师、学生等三个不同的后台,考虑到三个后台的独立性和安全性,以及参考在邮购公司时兑换系统的做法,我将三个台后分别作为三个独立的网站项目来建立了。当然将三个后台放在同一个网站项目下也是可以的,但是如果日后系统使用方要求管理员后台或教师后台不能对外公开,那到时再分拆开来就很麻烦了,所以我何不在一开始就将三者分别独立开来?如果要将三者都对外公开,那也很简单,只要到时在IIS(Internet信息服务)上多建两个虚拟目录就搞定了。此外文件传输程序则作为一个WinForm程序项目来建立。
准备就绪后,我也可以正式开始网页设计制作和程序开发的工作了。公司并没有招专职的美工来做网页设计,所以这些工作都要由我来包办。
宗让我参考的那套网站程序,其页面效果我觉得设计得还不错,于是我直接将其搬过来,并经过我的美化后,作为视频管理系统的网页界面模板。由于管理员后台的内容是最多的,也处于比较关键的位置,所以我便先着手开发管理员后台的程序。于是我按照网页界面模板先搭建好管理员后台的页面框架。程序架构搭建好了,管理员后台的页面框架也搭建好了,数据库就更加设计好了,编码的工作就可以按部就班地进行。当然编码的过程中还需要同步进行页面的设计和制作,因为在开始一个新页面的编码工作时,就要先做好这个页面。
完成了最初的也是最关键的系统的构建后,后面的工作做起来就轻松多了。于是我也开始了上班时间内不停地敲代码并不时设计和制作网页的日子。从这个过程中,也可以看到,我是可以从零开始、完全由我一个人去设计一个相对复杂的系统的。
就在我真正开始编码还没多久的时候,一天宗告诉我,祝老师将再到公司来了解系统开发的情况,让我做一些单独的静态网页将教室的预约、预约的审批、成生相应的教学单元、上传相关课件等功能和流程表现出来,以在祝老师到来时演示给祝老师看。
事实上这样的演示网页对我的开发并没有任何有意义的帮助,而只会让我多做一些无谓的工作,而且那些功能和流程我也是需要在开发的过程中一步一步去构思和具体化的,所以我心里很不想去做这些无谓的工作,并因此而改变我的工作思路。但是表面上和事实上我还是要按宗的要求去做。
于是我先放下手上的编码工作,费了一番功夫,特地将演示网页做出来,并在祝老师到来后,在宗和敖总的参与下,在那个小会议室里给祝老师演示和讲解了一番。祝老师看后表示可以照演示效果的那样来做,并提出了一些意见,其中他特别提到希望视频的展示页面和展示效果可以按照目前几大主流视频网站的展示页面和展示效果来做。虽然从表面上看这是一个小小的意见,但实际上真正做起来却很考验功夫。但是在这个时候我也不能当面就说我做不了。
为什么祝老师这么乐意和积极为我们讲解这么多东西和提出这么多意见呢?是因为祝老师在发扬教师乐于教人的精神吗?当然不是!真正的原因是华师正需要这样的一套系统,而祝老师又是负责相关工作的,祝老师给我们讲解实际业务情况,而我们开发系统,然后系统免费提供给华师试用和使用,华师可以以最低的成本得到系统,祝老师也可以因此而提升自己的资历,为自己带来好处,而我们公司则可以通过华师的使用实例造势,将这套系统继续卖给其他同样需要这样的系统的大学学校客户使用,华师与我们公司可谓双方受惠。所以往好的说就是互惠互利,往坏的说就是互相利用,当然华师始终还是处于相对强势位置的一方。当然一个祝老师并不敢擅自做这些私下里的事情,他的行动肯定是得到了上面领导的点头的,这当中自然也是因为敖总与华师的渊源很深的关系。
所以在这当中,祝老师还是有一定分量的,也正因为如此,祝老师在和我们讨论问题时,或多或少地流露出一种优越感,有种俯视着和我们──或者说是我──说话的感觉,而敖总也总是对其客客气气的。所以在整个关系中,处于最低位置的人就是我,我完全要看敖总、宗和祝老师的意思行事,虽然整个系统都要由我去开发,但看上去我更多的只是一个施工者的角色,没有话语权。虽然我不想这样认为,但事实上我就是一个只负责做好这套系统的棋子和工具。
由于演示的结果还算满意,宗也没再有异议。但是事实上后来系统成型后,实际的功能效果和操作流程跟演示的还是有很大的不同,所以做这些演示网页对我来说实际上是毫无意义的。但是这些“上面的人”就是喜欢这样,总是想要提前看还未开发出来的东西。如果真要了解系统开发的情况,直接看我开发到什么程度不就可以了吗?
就在我继续开始写代码的时候,一天宗又跟我说,再将之前做的演示网页重新做一下,做得更全面和更美观一些,因为敖总说要给客户演示。
又是演示,程序还没怎么写就不停地演示,究意是要我来开发系统的,还是要我来做演示网页的?系统还没开发出来,你演示再多又有什么用呢?如果你一定要先看整个系统的功能效果和操作流程,那么干脆你不要让我写程序,而让我先将全部网页设计出来好了。
于是我又费了更大的一番功夫,几乎将管理员后台可能出现的页面都用静态网页的形式做了出来,但是宗看后还是不满意,觉得操作流程不应该是这样,于是我便跟他解释了一番,最后他也只好说,那就这样吧。
最后宗还跟我说,他这个人性格比较直,说话有点急,不懂得赞美和表扬别人,如果之前他说话的语气重了,希望我不要放在心上。我一听还是觉得很意外,没想到宗还会这样跟我说,这等于是他在为之前那次写DOC文档的事情间接向我道歉了。既然他这么说了,我自然也附和着他说,大家都是为了工作,对事不对人,我不会放在心上的。但是我放不放在心上并不是关键,关键的是他是不是对所有人都这样,还是只对我这样。
这些演示网页,实际上也只是为了所谓的演示而做的,因为是临时做的静态网页,当中的很多HTML元素并不能用于真正的动态网页中,尤其不能用于ASP.NET程序网页中,所以等于是我又做了很多无用功。
早在面试之初,立经理就告诉过我,公司想要做的系统是录播系统的配套系统,即此时的视频管理系统是录播系统的配套系统。也就是说,视频管理系统不是公司的主要产品,录播系统才是公司的主要产品,这也就决定了视频管理系统还未“出生”就是“二奶仔”(二奶生的儿子)的身份,说不上不重要,但又说不上有多重要。虽然对我来说,是完全由我一个人开始了一个新项目的开发,但对部门中其他同事来说,我所做的系统又似乎可以被忽略,因为我所做的只是一套配套系统,一个附属产品,跟部门中其他同事完全没有关系,他们根本无需关心。所以这也就相应地决定了我的位置很尴尬,似乎从一进入公司就注定了我是一个可有可无的角色,部门中其他同事才是“大奶仔”名下的重要角色。
所以到此时,进入公司虽然只有短短一个月左右的时间,但是我还是从表面的各种情况和背后的各种关系中感受到了我的无足轻重,我在公司只是一个毫不起眼的ASP.NET程序员,是一个卑微的角色。
《当程序员的那些狗日日子》(四十二)内心的挣扎
敖总的办公室是在主办公室那边,但他会不时到研发部所在的这边来,有时是为了在客厅接待客户和客人,有时是到客厅来喝茶,有时是到研发部找立经理或宗或部门中其他成员问技术上或工作上的事情,有时则是在小会议室里开会或在展厅里观看和研究录播系统的真实拍摄效果。那个小型展厅里就按真实环境装了一套录播系统,专供给客户演示和开发测试之用。
虽然进入公司时间不长,但是我还是从这些零散的片断中看到了,敖总在公司有绝对的权威,他主宰着公司的一切,公司的员工都是他随时可以调遣和使用的兵卒,他也总是在有意无意间表现出一种绝对领导的架势,在公司里大有古代帝王“普天之下,莫非王土;率土之滨,莫非王臣”的感觉。所以公司的员工都表现得对敖总很尊崇敬畏的样子,尤其是我所身处的研发部,我最能接触到的部门中各人,不管是立经理、宗,还是小钟、林工、良子,都对敖总表现出很乖巧听话的样子,对敖总十分言听计从,似乎敖总就是他们的衣食父母和恩人,似乎都已将敖总视为神明般顶礼膜拜。很显然公司就是一家家长制的公司,敖总就是这家公司的“家长”,所有员工都是他的媳妇、儿子、孙子,在他的绝对领导下“一团和气”。
但偏偏我是个不喜欢绝对权威的人,骨子里崇尚的是人人平等,即使现实中不可能做到人人平等,但也希望在人格上人人平等。所以在我的心里,我并不屈服在敖总的绝对权威下,但表面上我自然无法“独善其身”,只能随大家一起仰视敖总。所以这也注定了我的心里会很痛苦,我从心里不喜欢这样的公司氛围。也许是我只是一个新来的员工,不能明白他们当初一起经历了公司的初创期和成长发展期所形成的良好亲密的关系。
我想起了在邮购公司时的祁总,如果说祁总的威风或多或少是出于职位的需要而刻意装出来的话,那么此时敖总的权威则是不容置疑的。
良子所住的地方和宗是在同一个方向上,所以上下班良子都是搭宗的顺风车的,也可能正因为如此,良子和宗的关系很好,相比于宗对我的态度,宗对良子的态度简直是天渊之别。所以有了这样的比较后,有时我不免觉得很郁闷。
林工住在岗顶附近的石牌村,所以他上下班时有时走黄埔大道,有时走中山大道,如果他下班时走中山大道,则和我同路,都是从天河公园东门穿过天河公园经小北门到中山大道的学院站坐车,所以我和他有时就一起走。在路上的聊天中,林工还是很热情爽快,很有北方哥们的那种感觉,对于感情方面的事情,他也毫不回避,很大方地说起。原来此时他也是单身,之前有个女朋友,因为某些原因散了。虽然只是简单的路上聊天,但是我还是觉得和林工有些投缘,也许是因为林工的热情爽快,以及我和他年龄相近、又同为单身的缘故。原来我就是一直都比较喜欢热情豪爽的北方人的。但是因为在公司里的特殊情况,我和林工的真正接触也只止于此。
就在我进入公司一个多月后,部门里又招来了一位新同事,是做硬件工作的,跟小钟和良子的工作性质相近,但又有所不同。这位新同事姓陆,比我小五岁,被大家称为小陆。小陆是广东潮汕人,长得高大俊朗,虽然比我小五岁,但看上去人却很沉稳老练,而且有几分机智。在后来的聊天中,小陆说起他是上一年刚毕业的,之前在一家也是搞硬件的公司做了好几个月的时间,然后就跳到了此时的这家科技公司。
人员的增加,部门里便在原来的两边座位的中间位置加了两个座位,与原来两边座位靠前对齐,小陆坐在后面的一个座位上,前一个座位预留出来给后面可能还要再招进来的人员。本来就不宽敞的办公室,加了两个座位后,顿时变得很局促,唯一觉得还有点空余空间的,就是小陆座位后面的那个空位置,此时还没有再加上一个座位。
小陆到来后,部门里也打破了原来在上班时间内相对安静的状态,因为立经理开始常常跟小陆讨论或讲解工作上或技术上的事情,但是他们说的内容我都听不明白,所以我只能从他们谈话的表面来猜测小陆要做的东西是需要立经理跟他讨论和讲解后才能解决的。立经理似乎也很乐意和小陆这样互动,一说起来总是滔滔不绝,说话的过程中也体现着他的口头表达能力很强。
从立经理与小陆的工作交谈中,我还是看到了立经理对小陆这位新同事的态度很好,对小陆可谓是谆谆善诱,毫不厌烦。这给了我一个强烈的对比,我自问我待人和做事的态度不比小陆差,即使差也不会差很远,小陆能得到他的直接上司立经理的无限关照,而我却只能得到宗的冷言相向,真是“同人不同命”啊。我只能在心里感叹,我怎么就不能遇到一个好上司呢?
代码一天天地敲着,虽然我还在试用期内,还不知道能不能转正,在心里我也在问自己要不要坚持做下去,但我还是很认真地写好每一行、每一段代码,尽我的能力保证写出来的代码是最规范、最简洁和最优化的,每一个我认为有必要的地方我都会进行所谓的“单元测试”,以确保程序逻辑准确无误,因为我觉得这是一名合格程序员的基本素质──虽然我不一定是一名合格的程序员。虽然开发中不时遇到一些难度较大的程序算法,但我都将其一一攻克了。而且正因为还在试用期,我表现得更积极。
我此时对工作的态度,可以说是很上心和很投入的,跟在门票公司时相比可以说完全是两样,甚至比在邮购公司时表现得还要好。虽然面对着电脑屏幕不停地敲代码时仍然觉得很枯燥乏味,但对工作的态度并不因此而受到影响。也许此时我的思想已得到了“升华”,对待工作已超出了与兴趣的关系,不管兴趣是否还存在,不管心里对代码是否还感觉厌倦,也不管在公司的处境是否理想,工作还是要认真积极地去做,这是一种对自己负责任的态度。经过曲曲折折和兜兜转转后,也许我已开始明白了某些道理,思想也渐趋成熟起来了。有些事情,不管自己喜不喜欢,愿不愿意,都要认真地把它做好,这是做人、做事和立足的根本。
编码工作按部就班地进行着,时间一天天过去,三个月的试用期终于结束,但试用期过后的新一个月伊始上了好几天班后,公司都没有跟我提转正的事。于是我主动找立经理说明情况,然后立经理就找宗了解情况,当然就是向宗了解我的工作能力和工作表现等情况,看我是否能转正。然后立经理告诉我可以转正,然后最关键的问题来了,那就是转正后的工资问题。我直接跟立经理说,我希望转正后的工资是面试时所谈到的多少(即面试时所谈到的那个工资范围数额中高的那个数额),但立经理却毫不含糊,说他记得面试时我说的期望工资是多少,而不是我现在所说的数额。立经理所说的就是我提出的工资范围数额中低的那个数额。
这不明显是在跟我玩字眼吗?我是提出一个范围数额,但我没有理由不想达到高的那个数额。于是我直接跟立经理说,面试时我说的是多少到多少,那我现在就希望转正后的工资是多少(即高的那个)。然后立经理说,此事他作不了主,要请示敖总后才能给我答复。于是我就表示先等答复。
虽然交谈的过程中我说话的语气很温和,但我心里的态度其实已很明确,那就是如果达不到我所提的那个工资数额,我会毫不犹豫地闪人不干。面试时我已没谈好,把期望工资开低了,此时我不可能再作出让步。
在这个谈转正后工资的过程中,我还是看到了立经理的另一面。明明面试时他说过我转正后的具体工资数额要等我试用期过后才能确定,那么此时我可以转正了,跟他谈了,他怎么就可以一口就认定了我面试时所说的是低的那个数额?怎么高的那个他就不记得了?不记得了这是一个范围数额?这不是有意想压低我转正后的工资吗?
所以从中我也看到了,虽然表面上立经理对人的态度还不错,但在关键的问题上,他却一点都不含糊,算计得十分清楚。事实上后来的一些小事情也证明了这一点。
过了两天后立经理告诉我,敖总答应了我提出的工资数额。就这样我算是转正了。
但是从试用期到转正,公司都没有跟我签任何形式的书面合同,全是口头承诺。而且后来从与小钟、良子、小陆等人的聊天中了解到,公司也没有和他们各人签劳动合同。姑且不说公司这样做是否违反劳动法,单就我转正后的工资问题来说,如果我不主动提出来,公司是不是就一直按试用期的工资来打发我呢?
虽然我算是转正了,但因为客观上的原因和主观上的内心感受,实际上我心里并没有完全确定下来就先在这里做下去,我心里还在犹豫着去或留的问题。当然,虽然我心里还在犹豫着,但工作我却一点都没有耽误,该认真积极地去做还是要认真积极地去做。
两三个星期后,在新的周一上班伊始,敖总就让我和宗到客厅边上的那张小圆桌上,一起讨论视频管理系统开发上的事情。敖总问我系统开发得怎样了,于是我按实际进展情况跟他说明了。但敖总听后却说,不明白我所说的情况,他也看不到我做的东西。我说可以在我的电脑上将做到的东西演示一下,但敖总却说,谁会那么仔细地看你电脑上的东西?我无话可说。然后敖总又说,我应该像宗一样,将要做到的东西一项一项地列出来,发给他和宗,以让他们了解我究竟在做什么东西,然后完成了一项就标示一项,这样他们才心中有数。于是我当面答应敖总说,等会讨论完后我马上将有关情况写一下,再发给他和宗。
敖总听我向他大概讲了视频管理系统的功能后说,他总是觉得系统的功能做得很复杂,都不是他所想的那样。我说我是按照之前祝老师提出的业务需求来设计的,但敖总却说,谁说你要按照祝老师提出的业务需求来做?现在不是是不是按照祝老师提出的需求来做的问题,而是有很多客户要求给他们提供一套视频管理系统,他们要的功能相对简单,就是对视频文件进行最基本的管理,让他们可以方便地观看视频,并不需要教室的预约、预约的审批、生成相应的教学单元等那些复杂的功能。我说那能不能先继续按祝老师原先提出的需求来做视频管理系统,到时再做另一个版本的视频管理系统,给这些用户使用。
敖总一听火了,有点气急败坏地说:“你怎么还不明白呢?现在客户就是想要这样的系统,你还在说‘到时’,到时什么都晚了!阿X我觉得我跟你沟通很困难你知道吗?可能是大家刚合作,还需要磨合,但是我希望你能改变你的思维方式,能很好地理解我说的话,我说过一遍就不想再重复第二遍。像宗和立工他们,就能很好地理解我的意思,他们都知道我说话的方式,你也应该像他们那样。现在不是你想做什么就做什么,而是我要你做什么你就做什么!”
X自然就是我的姓,“阿X”正是敖总对我的习惯叫法。接着敖总又说了一通,我被训得十分难堪,慑于敖总的气势和权威,我竟然连反驳他的勇气都没有。当初不是他让我照着祝老师的意思来做的吗?我还特别问过他的,怎么此时他却反口了呢?但是此时他是“大爷”,我是“孙子”,我不能这样反问他,更不能当面对他说不,除非我决定不干。我心里想,没错,你是“大爷”,你要我做什么我就做什么!
然后敖总又向宗和我问到了“打点”功能和“PPT目录索引”功能在视频管理系统上要怎么做。PPT自然就是指PowerPoint文件。
所谓的“PPT目录索引”,是宗在录播主机的软件程序中所做的一个功能,在视频录制的过程中,当教师要展示PPT文件的内容时,正在录制的视频画面自动切换到电脑屏幕画面,同时程序自动抓取PPT文件的当前画面信息并记录下来,成为PPT目录索引,教师每展示一次PPT文件的内容都进行一次这样的操作,视频录制结束后,再将这些PPT目录索引与刚才录制的单流(即单个画面)视频文件以多流(即多个画面)的形式重新合成为多流视频文件(也有可能是边录制边合成),以后在录播主机的软件程序中观看此视频时,就可以通过点击其中的PPT目录索引画面中的某个目录索引,使视频主画面跳到相应的时间点播放。但是当将视频文件从录播主机上下载到视频管理系统所在的服务器上时,脱离了录播主机的软件程序,这个功能就无法带过去了,所以需要在视频管理系统上重做这个功能,即在视频管理系统上可以实现点击PPT目录索引进行视频播放的操作,并且可以重新编辑PPT目录索引信息或添加新的PPT目录索引。
“打点”功能其实也与“PPT目录索引”功能类似,也可以在视频录制的过程中边录制边进行“打点”操作,不同的是“打点”可以针对视频中的任何一个画面,而“PPT目录索引”只针对PPT文件画面,所以也同样需要在视频管理系统上重做“打点”功能。
宗跟我这样解释了录播主机软件程序中的“打点”功能和“PPT目录索引”功能后,我也明白了,然后我也向宗和敖总大概讲解了在视频管理系统上要怎么做这两个功能,敖总和宗也大概理解了。这两个功能在录播主机软件程序中和视频管理系统上的实现方式还是不一样的,而视频录制过程中所记录下来的打点信息(即“打点”时的简短评论,包括时间点数据)和PPT目录索引信息(当然也包括时间点数据),则需要随视频文件一起从录播主机上下载到视频管理系统上进行处理,以使这两者的信息在视频管理系统上可以与录制时的情况保持一致。
最后敖总还提到了对视频和相关课件进行评分的功能,由于他自己对实际业务需求也说不出个所以然来,所以便要求我先记下来,以作备忘,以后再具体向祝老师了解情况。然后宗说,将刚才说到的“打点”功能和“PPT目录索引”功能的情况也写下来,以作备忘。
讨论完后,我回到座位上,便马上写名为《视频管理系统功能开发简述及开发进度》的文档,将视频管理系统的功能点一项一项地列出来,并将已完成了的标示出来,同时在文档中将“打点”功能和“PPT目录索引”功能简要地写出来,也将评分功能简单地记录下来。所列的功能点主要是管理员后台的,由于教师后台和学生后台还未开始开发,所以只简单地列了一下。事实上此时我已将管理员后台的大部分功能开发完了。
写完后,我便先将文档发给宗过目,宗看后说,“打点”功能和“PPT目录索引”功能写得太简单,应该画流程图将实际业务流程表示出来。我说现在还没进行开发,到开发的时候再画行不行。宗说现在不画,过后就会忘了。我说我忘不了。我自信我的记忆力很好,忘不了。但宗却说,不行,要先画。于是我就照宗的意思画了,不但画了,还很认真很形象很生动地画了,而且还将需用到的表也先在文档中设计出来了。为了方便,我将“打点”功能和“PPT目录索引”功能各写成了一个独立的文档,这等于就是这两个功能的完整的开发需求文档。
写完后再发给宗看,这回他没再说什么了。于是接着我便将三个文档发给了敖总。最后我问宗,视频管理系统还要不要继续开发下去,还是按敖总的意思先做另一个不同的版本。宗说,他暂时也不明确敖总的意思,先等敖总的最后决定。
这一次,我觉得我就像一个小丑,有点任人摆布和玩弄的意味,我有种“哑巴吃黄连,有苦说不出”的感觉。没错,你要我做什么我就做什么,这我都认为了,但是你不能之前让我怎么做,此时又反口说没让我这么做。我也第一次闪过一个强烈的念头──我想闪人不干了。但我却似乎连离开的勇气都没有,也许是因为我觉得自己的年龄不小了,不敢跳来跳去了。所以我的内心很矛盾,在挣扎着,很痛苦。
我也因此而第一次开始比较强烈地讨厌在这样的公司氛围下做这样的系统,没有一点可以让我自由发挥的余地。虽然此时已转正了,但我继续做下去的信心却更动摇了。
这一次,可以说是敖总对我的态度最激烈的一次,经过这一次后,我在公司做事也变得更加小心谨慎了。
《当程序员的那些狗日日子》(四十三)绝缘空间
不久后的一天下午,敖总急匆匆地走进研发部的办公室,告诉我说,半小时他要去华师找祝老师,我也一起去,让我准备一下。
半小时后,敖总再过来告诉我,让我先到楼下去等他,他要去地下停车场开车上来。
于是我先来到楼下,却也见到了有两位其他部门的同事在那里等着了。其中一位是业务部门的,我算是认识,另一位则第一次见到,不认识。简单地聊开后才知道,这位不认识的同事也是刚到公司不久,此时还没过试用期。然后和他互相说了各自的姓名,然后他就按公司的习惯叫法叫我“X工”,而他姓凌,所以我就按公司的另一个习惯叫法叫他“阿凌”。不过后来阿凌也随敖总对我的习惯叫法叫我“阿X”了。
在简单的聊天中得知,阿凌比我小三岁,广东潮汕人,原来也是计算机相关专业毕业的,但毕业后却一直没搞过编程,此时在公司则是负责市场推广方面的工作。从阿凌的言谈举止中,我还是觉得他是个精明干练之人,善于场面上的事情,看上去其心智要比其实际年龄成熟很多。阿凌说他毕业后这几年经历过很多事情,所以可能才显得成熟一些。
我们边聊天边等,然后敖总就把他的座驾开上来了,是辆咖啡色的宝马,但空间不算大,就是普通大小的那种。听小钟说,敖总的这辆宝马,大概是五六十万,所以算是宝马中的低价车了,但毕竟是宝马,比起二三十万广本之类的来还是强多了。我们三人坐上去后,敖总就挥洒着他的驾驶技术,往华师快速开去。
在祝老师所在学院的一个会议室里,祝老师就像上课时老师们讲课一样,在讲台上给我们讲了一通有关系统开发上的事情,提了很多新鲜花哨的业务需求,听得我有点心虚,心想如果都得将这些业务需求做出来,那可不是一件轻松容易的事情。然后祝老师倒是说了句像样的话,他说,阿X你不用紧张,很多内容都暂时不用急着开发出来,可以放到二期升级的时候去做。我总算松了一口气。他在台上讲倒是轻松啊,然后他所讲的东西就够真正去做的人累死累活的了。然后敖总也“哈哈”地冷笑着说,阿X你觉得怎么样。于是我说,要做的东西确实不少。
不过后来,祝老师这次所讲到的东西,经过去繁取简、去伪存真后,很多东西都并不需要做的,可见这些人也只是一时大脑发热,讲了这么多,或者说他们根本就没经过大脑思考,乱讲一通。
但是这一次之后,阿凌便被敖总多安排了一项工作任务,那就是负责跟进我对视频管理系统的开发情况,说白了就是督促我的开发工作,而宗则相应地基本上不再过问我的工作了。所以后来阿凌便成了除研发部外和我接触最多的其他部门的同事,而真正的工作上的接触,和我接触最多的就是阿凌了。
不久前那次讨论上敖总所说到的想做一套功能相对简单的视频管理系统的事情,不知为什么又没有了下文,最后事情也不了了之。
阿凌也开始履行他的工作任务,不时过来研发部先向我了解系统开发上的事情,我自然也耐心地跟其一一讲解。阿凌对我还是挺客气的,毕竟我和他不是在同一个部门,在职位上他没有权力来管我,而且他也是刚来公司不久,我比他还早来一段时间,他还不能一上来就管着我。
视频管理系统继续按照祝老师原先提出的业务需求来开发。管理员后台到最后要做到的功能,就是启动录制和停止录制的功能,即是通过录播主机软件程序所提供的程序接口对录播主机进行“启动录制”和“停止录制”操作的功能,以及对应的视频数据展示的功能。而在此之前,还需要先将文件传输程序开发出来,而这也是涉及录播主机软件程序所提供的程序接口的。
所以开发中有关程序接口的问题我就需要问到宗,虽然宗的态度不算太差,但仍然不算好,特别是当中我觉得某些程序接口所提供的参数或所返回的值并不能很好地满足我对程序逻辑进行处理,我希望宗能对其作一些简单的修改时,宗有点不高兴地觉得是我自己程序没写好的问题,他并不想作修改,然后我只好再费唇舌跟他解释一番,最后他才勉强地为我作了修改。
宗就是觉得他的技术比我强,我的水平不行,所以才怀疑是不是我的程序没写好的问题。但事实上就是,他只要稍作修改,调整一下程序接口所提供的参数或所返回的值,我就可以少作很多处理,少写很多代码。很简单的其中一个问题就是某个程序接口所返回的视频文件ID的问题,这些ID原来是没有作排序的,所以我在处理时就要先进行排序,但同时又涉及其他方面的不少问题,不好处理,但后来宗在返回这些ID时就先作了排序后,我处理起来则方便和容易多了。
程序接口本来就是需要双方共同协调好后再确定下来的。没错,程序接口是你提供的,你一早就定义好了,但在实际应用中有不完善的地方,你是不是可以再改一改呢?毕竟你做的软件程序是要跟我做的系统互相对接的,在接口的问题上,并不存在谁服从谁的问题。虽然我不会用C/C++,但我不认为我的逻辑思维就比你差。
但是在这件事中我就觉得我就是要上赶着服从宗所提供的程序接口似的,好像视频管理系统是为我自己开发似的。
对于从录播主机上下载下来的视频文件在视频管理系统上的播放,用到了Windows Server 2003自带的组件Windows Media Services(简称WMS)。虽然此前我没有用过WMS,但稍作了解后还是很快就熟悉了其用法,只要在WMS中创建一个目录位置指向视频文件所在目录(即文件夹)的发布点,以后就可以引用自动生成的URL地址来播放视频。录播主机上所录制下来的视频文件都是WMV文件或ASF文件,正是WMS所支持播放的文件格式。
严格地说,用WMS的方式来播放WMV文件或ASF文件,应该没有将文件转换成FLV格式的文件后再进行播放好,但是因为要将WMV文件和ASF文件转换成FLV格式的文件,当中所涉及的技术问题并不容易解决,所以宗表示可以先用WMS的方式来播放视频。
阿凌负责督促我的开发工作后,原来我可以直接跟祝老师联系解决的事情,也改为由阿凌去跟祝老师联系了,总之涉及视频管理系统需与外部联系的事情,都由阿凌去处理,然后再由阿凌将有关情况传达给我。很显然,敖总给阿凌安排这项工作任务的其中一个目的就是,使我不能接触到有关视频管理系统的业务上的事情,我只需埋头敲代码,开发系统,而无需接触到除此之外的其他事情。
其实另一方面的情况,也可以证明这一点。我从阿凌的口中得知,他们那边办公室(即主办公室)的同事都是有公司员工通讯录的,但通讯录上唯独没有研发部各人的联系方式。而事实上研发部各人也没有公司员工通讯录(立经理和宗也许除外),而且也没有公司的电话分机。所以很明显这是公司的有意而为,目的就是不想研发部各人与其他部门的同事有更多的接触。
事实上研发部办公室完全独立于其他部门办公室的特殊安排,也是出于这样的目的,就是让研发部各人不能与其他部门的同事有更多的接触。虽然刚进来公司时我还没有清晰地认识到这个问题的存在,但随着在公司的时间越来越长,我也就越来越感觉到了这个问题的真实存在。
每天中午到外面去吃午饭,棠石路两边的快餐店和大小餐馆都几乎吃遍了,最后只有三个字:都难吃!所以每天的午饭都成了很头痛的问题,吃吧食之无味,但不吃又不行。
最后林工实在不想再这样折磨自己了,于是决定每天自己带饭过来。所以中午去吃午饭时从这个时候起就少了林工的踪影。
研发部上下班时间与其他部门不一样,去吃午饭的时间也不一样,这也很可能是公司的有意而为,就是为了使研发部各人少与其他部门的同事接触。
敖总在公司的行踪不定,有时在公司,有时不在。研发部这边办公室的前台后面,客厅的当头,有一个不大的空间,可以算是一个简单的开放式厨房,公司专门请了一位阿姨,平时除了负责公司办公室的清洁工作外,如果中午敖总在公司,那么还负责为敖总做午饭。通常到吃午饭的时候,敖总都叫立经理和宗一起吃,并藉此和他们两人讨论技术上或工作上的事情,那感觉就好像他们此时要讨论的问题都很秘密似的。
所以通常在这个时候,一起到外面去吃午饭的就只有小钟、良子、小陆和我四人了。立经理和宗没在一起,小钟和良子似乎也比较放开地聊了。小钟和良子说,研发部的办公室单独在另一边,就是敖总故意这样安排的,就是为了不想让研发部的人跟其他部门的同事有更多的接触,特别是不想让研发部的人跟业务人员有接触。显而易见敖总这样做就是为了避免研发部的人与业务人员在私下里进行合作,从更远的方面来说也是为了防止其他公司的人来挖角。
敖总的做法,从他自己的角度来说,也许无可厚非,但对于像我这样的员工来说,却要受到这样的活动限制,就很不合理很不公平了。我只不过是个搞ASP.NET的小程序员而已,是“二奶仔”名下的次要角色,只不过是在做一套基于ASP.NET技术的、说不上有多高深的视频管理系统,至于要得到这样的“待遇”吗?如果你开出的工资高到可以让我忽略因受到这样的活动限制而带来的间接损失,那么我会觉得合理和公平,但你开出的工资并不是!
什么是间接损失?就是不能与其他部门的同事正常接触和交往,不能与外界接触,除了写代码和开发系统外,不能向更多的方面去发展自己的综合能力,连最起码的交际能力都不能得到发展。不要告诉我程序员就只需要写代码,不需要学会交际。
小钟和良子还说,立经理和宗都是有公司的股份的,他们都是公司的股东,入的是技术股。由此看来,敖总要限制的对象,可以不包括立经理和宗,因为他们有公司的股份,在收入上应该很可观,没有后顾之忧,即使受到限制也没多大关系,他们可以一心地为公司、为敖总卖力。所以敖总要限制的对象,更多的是研发部的其余各人。
宗是公司的股东,这似乎也可以很好地解释了他对我的态度及他的高傲。开发出来的软件程序是录播主机的“灵魂”,又是公司的股东,在公司的地位自然就不一样了,再加上如果其本人有点“自我感觉良好”,那就可以不将别人放在眼里。
由此看来,立经理和宗就是敖总的左膀右臂,一个负责录播系统的硬件开发,一个负责录播系统的软件开发,研发部其余各人则跟在他们两人后面,在他们两人的安排下开展工作。这也难怪敖总在公司吃午饭时,通常都会叫立经理和宗一起吃,他们就是要在这个时候讨论一些关键和秘密的问题。
从与小钟和良子的聊天中,我还是能感觉到他们两人自认为在公司没有立经理和宗的地位,身份有别于立经理和宗,他们更多觉得的是,与我和小陆是同一级别的员工。言语中,我也似乎能感觉到小钟和良子对敖总这种做法的不满,尤其是良子。不过小钟和良子始终还是敬畏和臣服于敖总的权威,并没有说得太明显和说得太多。
如果中午敖总在公司,有时他会单独叫上研发部全体同仁一起到外面去吃大餐。什么是单独?就是他从来都不会再同时叫上其他部门尤其是业务部门的同事一起去吃。在餐桌上敖总总是表现出一副唯我独尊的派头,而研发部各人则乖乖地以他为中心两边坐开,看他点菜,听他说话。当然立经理和宗会比较多地插上几句,由此也可以看出立经理和宗的作用和位置,不管是他们自己认为还是在敖总看来。而其余各人则一般都是在敖总问起话时才回敖总的话,说上几句。
你可以说这是敖总对研发部的特别关照──事实上敖总在表面上也说他最看重的是研发部──但其实我觉得研发部的人很可怜,这就像笼中鸟,养鸟的人高兴的时候就给鸟喂一些食物,逗鸟唱歌玩乐,鸟见到有吃的了,就高兴地边吃边叫起来,平时养鸟人则把鸟放在一边,任其在笼里跳来跳去,但怎么都走不出那个笼子。
这就是敖总的手段,把研发部的人单独地关在一个小房间里,不让他们与其他部门的人及外界有更多的接触,偶尔对他们施舍一点好处,请他们去吃一下大餐,不但可以让他们对他感恩戴德,而且更可以让他们更卖力地工作。
所以,在这样的情况下,虽然到此时我进入公司已有好几个月了,但对其他部门的同事大多都是只见其人,不知其名,有的甚至连面都没见过。这可是只是一家小公司,并不是什么大公司啊。
所以走进这家公司、走进研发部后,就像是进入了一个绝缘空间,不再与外界“来电”。
《当程序员的那些狗日日子》(四十四)是办公室还是牢房
经过一番努力并费了不少脑汁后,文件传输程序开发完成了,管理员后台最后要做到的启动录制和停止录制的功能及对应的视频数据展示的功能也开发完成了。经过测试后,文件传输程序可以正常运行,启动录制和停止录制的功能也可以正常操作。大功告成。
文件传输程序及启动录制和停止录制的功能,都是涉及录播主机软件程序所提供的程序接口的,事实上这两者在开发过程中我都只是在宗所提供的录播主机测试机上简单地进行过两三次测试,此外都是按照我的理解和想象先将程序全部写完了,而且全部编译通过,最后才在真实环境下做了测试。我并非想吹嘘什么,而是我自认为我的逻辑思维能力还是不差的。
至此,管理员后台算是初步开发完成了。阿凌说他想全面地看看管理员后台的功能和具体情况,于是在他的提议下,由公司提供一台普通的PC电脑,我将其安装并配置成支持ASP.NET程序运行的网站服务器,然后将管理员后台网站发布到这台服务器上,供阿凌对管理员后台的功能和具体情况作全面的了解。而这台简单的服务器,就放在主办室那边。
进入公司后至此时,也就是在安装和配置这台服务器及找阿凌说一些事情的时候,我才往主办公室那边多跑了几趟。
管理员后台开发完成后,接下来要做的就是教师后台和学生后台。综合考虑后,我还是决定先做学生后台。
和开发管理员后台的步骤一样,先按照网页界面模板搭建好学生后台的页面框架,接着进行编码及页面设计和制作的工作。
经过开发管理员后台时的一鼓作气后,我之前一直紧绷着的神经此时也有点松懈下来了,而且此时学生后台刚着手开发,思路上还不是十分清晰,我还没完全进入状态,所以便趁机多了一下网,多聊了一下QQ。
不过很快我就得到了宗的非正式警告。一天宗走到我的座位旁问我,系统开发得怎样了,并要我抓紧时间开发。
很显然宗的真正目的并不在于想了解系统开发得怎样,而是想给我一个提醒,不能过多地上网和聊QQ。由此也可以看到,宗还是留意着我在电脑上做了什么的。宗的座位在靠墙一边的最后面,从他的座位上斜看过来,正好可以将我的电脑屏幕看得清清楚楚。
所谓好话只说一遍,其实丑话也只需说一遍,既然宗发出这样的非正式警告了,我也不想再被他说第二遍,于是我马上调整了上网和聊QQ的行为,基本不再上网和聊QQ了──除了工作中必要的上网查资料和QQ联系之外。
于是我也尽量调整自己的状态,使自己尽快投入到学生后台的开发中,然后慢慢地我又进入了上班时间内不停地敲代码并不时设计和制作网页的日子。
每天上班坐在办公室里,除了必要的去倒杯水和上洗手间外,基本上就坐在座位上不动了,有时实在感到很闷很枯燥了,就透过玻璃窗多看几眼外面的风景。说是风景,其实就是与大楼靠得很近的天河公园的景物,除了一些树木和绿色植物以及公园里水泥道上偶尔经过的行人外,其实也没什么好看的。窗户正对面的方向,是天河公园里树叶长得很浓密的树木,树叶浓密得有点阴森的感觉,大部分视野也被挡住了。透过窗户斜向前望去,远处是天河公园的一个人工湖,不过也就是一个湖而已,并没有什么特别之处。目光所及之处,大概就是这么多东西了。
所以坐在办公室里除了有时可以看看窗外天河公园的这些景物外,再无其他可以舒缓精神状态的其他途径和方法了。
每天早上回到办公室,都能听到从天河公园人工湖对岸的远处传来的那些老人家在公园晨练时唱歌的歌声,因为是用了音响设备来唱歌,所以歌声能传得很远。
经常能听到的是那首《走进新时代》。“总想对你表白…我的心情是多么豪迈…总想对你倾诉…我对生活是多么热爱…勤劳勇敢的中国人…意气风发走进新时代……”,每每听到这几句歌词,我都觉得有一种异样的感觉。唱歌的人有男有女。没错,他们都是很意气风发的,虽然他们都是老人家;而且歌词都写得很对,他们是很豪迈和很热爱生活的,他们已从歌声中将这种情感和态度唱了出来。可是,我比他们年轻那么多,此时坐在办公室里却完全没有他们的意气风发,没有他们的豪迈和对生活的热爱。
但是,我也是勤劳的,虽然可能还不够勇敢。但是,我什么时候才能意气风发、才能豪迈呢?难道要到了像那些老人家的年纪之后才能意气风发起来、才能豪迈起来吗?
立经理通常都是上午10点后才到公司,他到办公室之前房门通常都还是开着的,但他到来后,基本上都会顺手将房门一拉,将房门关上,然后整个研发部就算是与外界完全隔绝了。然后每个进出研发部办公室的人都会有意无意地将房门关上。此时正是大夏天,办公室窗户那边的三个大玻璃窗都关了起来,虽然开了空调,但是40平方左右的房间里空气很不流通,加上七个人的呼吸和七台电脑散发出来的热量,房间里的空气很容易就变得十分浑浊,如果刚从外面进来,那种浑浊的感觉就更加明显。
立经理这么习惯将房门关上,那是因为研发部办公室外面就是那个客厅,客厅里经常会有客户或客人到来,只要有客户或客人到来,研发部办公室的房门必关无疑,这样做是为了不想让客厅里的人看到办公室里面的情况,同时也不想让研发部各人听到客厅里的人的讲话(当然立经理和宗除外)。即使是部门里或公司里的同事在客厅边上的那张小圆台桌上讨论个问题,房门都要关上。立经理和敖总对这点是很敏感的。所以关的时候多了,部门里外的同事都形成了习惯,即使客厅外面没人了,房门也都总是关着的。
几乎每天上班时间内立经理都要跟小陆讨论或讲解工作上或技术上的事情,而且立经理一说起来总是滔滔不绝,之前刚开始听时还没什么,但是慢慢地听多了,就厌烦了。这就像周星驰主演的电影《大话西游》里的罗家英一样,总是絮絮叨叨地说个不停,令到每一个听到他说话的对象,不管是人是仙还是妖都烦得不得了。虽然立经理和小陆的对话不至于那么严重,但却有“异曲同工之妙”。他们所说到的那些东西,我听来有何用呢?我又何需去听呢?但是在同一个办公室里,我不得不去听。
每天下午,天河公园里的水泥道上就不时会有行人经过,也会有一些慢跑或快跑的人经过。这些行人也许有很多是闲人或无所事事的人,但在这个时候我却觉得他们是幸福的,至少比我幸福,他们可以在公园里游荡,感受到外面的真实世界和时间的变化,而我却只能坐在狭小局促的办公室里,仿佛与外界完全隔绝了一样。
由于小陆的台面上摆了越来越多的硬件物品和工具,已无法再摆下去了,所以立经理便提出我和小陆对调座位,小陆坐我的座位,再在靠窗户的边上多加一张台,专门用来供小陆摆放硬件物品,而我则坐小陆的座位。
于是我便坐到了两边中间的那个座位上。然后形势也随之发生了变化,此时不但宗,而且立经理也能清楚地看到我的电脑屏幕了,我仿佛就被两双眼睛从背后的两边监视着,无形中增加了我的不舒服感,于是我工作时更加不能有一丝懈怠了。
然而除此之外,还有一点也变了,那就是我不再可以随时透过窗户看看外面的风景了。林工坐在靠窗户一边的最前一个座位上,他习惯了早上一到办公室就将窗帘拉起来,立经理也是一样,所以就只有小陆那个座位所对应的窗户还稍微拉开了一点窗帘,因此整个办公室就像被密封起来一样,只剩下那么一点窗户可以望到外面。但是上班时我不可能转过头去往小陆那边看。
有时我坐着坐着便闷得发慌,这就像被关在高墙里一样,只有墙壁的高处有一个缺口可以透进亮光来。此时的办公室,不正无异于牢房吗?
这就是研发部办公室主客观环境的真实写照。
我不免想起了在北京时的票务公司,那里的办公室很自然舒适,有浓浓的文化艺术气息;想起了刚到广州后的门票公司,那里的办公室宽敞明亮,而且可以看到外面的很多景象;想起了邮购公司,那里的办公室虽然装修简单但却很宽大,而且也可以看到外面的一大片自然景物。唯独在这家科技公司,办公室狭小局促就不说了,所能看到的就只有四堵墙。
但是,我回想过去的那些情况,是没有任何作用的,不管过去的是好还是不好,人都必须要往前走,而不能活在过去当中。
《当程序员的那些狗日日子》(四十五)越发觉得自己像条狗
注:这一篇,应该可以作为狗日日子的主题篇了。
不久后研发部又招了一位新同事进来,是做Delphi的,并要求用到一些简单的C++,负责协助宗做一些录播主机软件程序的对视频录制进行处理的功能,所以也属于宗的手下。这位新同事姓彭,比我小四岁,被大家称为小彭。小彭来自湖南,个子不高,体形稍偏瘦,性情随和,他就坐在我前面的那个空座位上。
虽然小彭比我小四岁,但没想到他已成家,刚结婚不久。而且他也很有个性,每天中午去吃午饭时他都不跟我们一起,而是自己到相对便宜一些的快餐店去吃,可能是因为已结婚了,所以更懂得省钱。而且下班后他也不跟宗或立经理打声招呼就闪人,这点也很有个性。
可能是因为我和小彭同为做软件方面的开发,而且职位平等,他还是和我聊得比较多。下班后回去的路上有时走在一起,他也很乐意和我聊天。不过结了婚的人对工作和生活的态度始终还是有点不一样,比较严格要求自己,虽然我比他大四岁。当然此时我在工作上也严格要求自己,只是在生活上比较随意。
小彭的到来,似乎并没有让部门中的人特别注意到他,他就是那样独来独往,你可以说他是不合群,但似乎他又不是不合群的人,他跟人说话时态度还是很亲切的。
宗对小彭的态度还是很好,因为宗的老婆也是来自湖南,所以跟小彭也似乎有了这方面的话题。这也不免让我有了一些比较。
也许宗没有错,我也没有错,错的只是我不是他所喜欢的那种人。每个人心里都有一些自己不喜欢的人,也许我正好就是宗心里不喜欢的那种人,所以他才对我态度才一直没法真正好起来。
阿凌通过我发布的管理员后台网站对管理员后台全面了解了一番后,也提出了很多修改意见,有合理的,也有过于追求尽善尽美的。合理的,我都可以根据他的意思来作修改,但对于要求尽善尽美的,我就暂时不想作修改了,因为我还要开发学生后台,任务很紧迫,没有太多的时间。阿凌提修改意见当然容易了,只要手指在键盘上轻轻一敲,简简单单的几行文字,就够我忙的了,而有的可能是需要作大改动的,那简直就不是好玩的了。
在邮购公司时,祁总曾给我灌输了一种思想,那就是在很紧急的情况下,先将东西做出来,只要能正常使用就行,需要优化的地方等做完后有时间再作为二期升级慢慢去优化。这可以说是一种中庸之道,也是一种很好的做事方式,我当时还是很认同,所以我也从中得到借鉴。
所以我此时的态度就是,管理员后台的功能只要能正常使用,我就暂时不想再去动它,而先做后面还未开发出来的学生后台的功能。
不过,我从祁总那里借鉴过来的“中庸之道”,很快就不灵了,因为不久后,敖总、阿凌、祝老师、宗等人,还有我,就在那个小会议室里,对管理员后台的功能和界面效果等进行了一次大讨论。
那个小会议室里有一个大屏幕平板电视,通过公司特制设备可以将其作为电脑显示器使用,所以就通过这个大显示屏打开管理员后台网站,给各人演示实际操作,边看当中的功能和界面边进行讨论。
各人都说了不少意见。阿凌还是照提了他已跟我提过的那些修改意见。敖总更提出了,那个启动录制和停止录制的功能,操作怎么那么复杂,使用的人还要登录到这个管理员后台上进行操作,能不能使用刷卡的方式,直接刷卡就可以进行操作。这已完全超出了我的技术范围。不过敖总的这个提议最后还是不了了之了。而且敖总还提出,能不能通过管理员后台实现对录播主机进行开机和关机的操作。这又是一个一时大脑发热提出来的意见。这涉及程序接口的问题,宗说,只能提供关机的程序接口,开机不行。在关机的状态下,录播主机都已经“死翘翘”了,还怎么能响应程序接口的请求?
敖总还说,他始终觉得管理员后台的界面不好看,跟他的设想不相符。于是在统一意见后,决定由祝老师那边设计新的网页界面。当然祝老师是不可能亲自去设计的,而是他让他的手下去做。
这次讨论后,他们所提出来的对管理员后台的修改意见,很多我就要先照着去修改了,而且在修改的过程中,阿凌也是紧跟着了解修改情况的。
阿凌的口头表达能力很好,他工作的其中一部分内容就是负责给客户讲解公司的产品,当然其中也包括我所开发的视频管理系统,所以有时就能听到他在展厅给客户讲解产品的声音,听起来就像专业的讲解员。公司招阿凌进来,也是为了让其接替之前一位负责讲解公司产品的同事,因为那位同事要离职。在我看来,阿凌的讲解水平还是比之前那位同事高很多,不论是阿凌的口头表达能力还是他的气质。
而且阿凌还很善于讨好敖总,似乎很快就得到了敖总的信任并对其委以重任。看来,这才是在职场上脱颖而出的制胜法宝,是真正的生存之道。但搞编程的人大多偏偏就缺少了这种外在的素质──当然这种外在素质很多都是内在素质的体现──只知道埋头写代码。此时的我就是这样,欠缺良好的口头表达能力,不会讨好领导,不会八面玲珑,不会左右逢源,只能低头写代码。
虽然阿凌和我表面上都客客气气的,但他和我毕竟立场不同,所以也很快就决定了我和他的关系是既合作又对立的。他站在敖总的立场,自然希望我做的东西都符合他的意思,进而可以迎合敖总的意思;但是我站在我的立场,自然希望尽量避免对系统进行更多的改动,我想大多数开发系统的人,都有我这样的想法。
几天后,祝老师便让他的手下做好了新的网页界面并发给我,但我看后却觉得还不如此时的管理员后台的界面效果好,所以我第一想到的是,如果照着这个新网页界面来改,改完后万一敖总等人觉得不好,要放弃或又要我重改,那我岂不是白费了很多功夫?
于是我让阿凌过来一起参考一下,但阿凌觉得还是要改,最后我只好提议,先不要改管理员后台的界面,因为管理员后台的页面太多,改起来要费很多时间,先改学生后台的界面,因为此时正好在做学生后台,要改的话页面还不是很多,改完后后面要做的页面正好也可以用新的网页界面效果来设计。于是阿凌表示他先向敖总请示一下,看敖总是什么意见。最后阿凌给我的答复就是,敖总表示可以先这样改。
祝老师发过来的新的网页界面,实际上只有几个简单的稍作美工处理的页面,这些页面很多地方都做得很粗糙,也不能直接满足我的修改需要,所以需要经过我的优化后才能用得上。
学生后台的页面按照新的网页界面效果改完后,我便将其发布到那台网站服务器上,供阿凌查看,然后阿凌又请敖总及其他部门的另一位同事在那个小会议室里一起讨论,看新的网页界面效果怎么样。讨论的结果却是,新的网页界面效果不如原来的界面效果好,放弃,就改回用我原来所做的界面效果。
我一听,心里就有点火了,随即暗暗地骂道:去你大爷的!这样改来改去你们来改。但心里骂归骂,要做的工作还是要做,因为敖总说过,他要我做什么我就做什么,而不是我想做什么就做什么。当然我是不会骂他们的娘的,因为我觉得这样不厚道,我只骂他们的大爷,说不定他们根本就没有大爷。我知道我此时早已没有了脾气,几年的时间,我身上的棱棱角角已渐渐地被磨掉了,也许这也是我的悲哀,但这也是为了更好地适应社会,适应这个不需要棱角的社会。
当然,我还没有笨到将学生后台原来的页面改掉了,而是将整个学生后台网站保留着,只是新建了一个网站项目来改用新的网页界面效果,此时他们说放弃,那我就只需将其搁置不用,而继续用原来的学生后台网站项目来进行开发。
做这套视频管理系统,可以说在开发过程中一直有宗、敖总、阿凌甚至祝老师在盯着我,看我做得怎么样,这直接给我增加了无形的压力。而且我也渐渐明白了,做这样的视频管理系统一点都不好玩,学校的那些用户,尤其是那些管理员和教师,对于系统里的每一个操作都觉得很麻烦,不想去了解怎样使用,最好可以不用他们动手,凭意志就可以完成所有的事情。
反过来看我在邮购公司时所做的兑换系统,其中的客服后台,是给客服人员使用的,当中也有不少复杂的操作,但是客服人员不能觉得操作麻烦,因为他们的工作就是必须依赖客服后台来进行的,而且他们的主管或组长也会给他们培训如何操作,他们也必须要掌握这样的操作,说到底就是有上级的命令要他们这样做。
但是视频管理系统的用户情况却完全不一样,那些管理员和教师,让他们多去掌握一个系统的使用,他们当然不情愿了,但是学校又想借助系统来促进教学质量的提高,这本身就是一对矛盾。
所以敖总、阿凌和祝老师对系统的功能十分挑剔,一个功能我认为这样做就可以了,但他们却认为要那样做才行,于是我就不得不照着他们的意思去做,我已完全没有了设计的自主权。事实上换在以前的公司和用户,我原来的做法已完全可以了。但既然身在这家公司,就要按照他们提出的要求来做,这个我只好认了。
经过一段时间的埋头开发后,学生后台终于初步开发完成了,然后敖总、阿凌又要查看学生台后做得怎样了,于是我将其发布后,又在那个小会议室里进行讨论。
敖总似乎对系统的界面特别在意,他总是认为此时的界面效果不好,又叫来其他部门的那位同事一起讨论。敖总装作一副专业人士的样子,在大显示屏前面指手划脚,还有点谈笑风生,说这点不好看那点也不行,但是他说的意见在我看来却是那么可笑。没错,你在经商方面成功了,但在美工设计方面,我并不觉得你就强过我,所谓“闻道有先后,术业有专攻”,你在经营上得心应手,但并不代表你可以面面精通,在其他方面也一样强。
敖总问阿凌的意见,问那位同事的意见,但偏偏就不怎么问我的意见,然后阿凌又趁机说些中听不中用的意见,讨好敖总,而那位同事,大概只是做过简单的宣传手册的平面设计,并不会网页的美工设计和制作,所以也根本提不出什么专业而又有参考价值的意见。敖总不会想到,我曾经也是以美工设计开始的,但既然他不看好我,我也不想逞什么强,多揽事情上身。
敖总还说系统的名称不好,不准确,页面底部有关公司的文字信息也不准确,怎么这些细节上的问题都没有做好?于是我又在心里开骂了:我操你大爷的!这些问题你们自己去想就是了,关我鸟事!你们想好了,就告诉我,我照着改,难道这些问题都要由我去想吗?我的着眼点只放在系统功能的开发上。(不好意思,在这里用了粗口。)
最后敖总的意思就是,系统的界面还是要改,让阿凌去跟祝老师联系,还是让祝老师那边来设计新的网页界面。既然这样,那设计网页界面方面暂时也没有我什么事情,我也先不用理会了。
不久后敖总又请来了华师的几个老师,都比祝老师年长很多,听他们和敖总的对话,好像有的是敖总以前的师兄弟,或者是敖总在华师任职时的同事。敖总请这些老师过来的目的就是让他们对系统提出修改意见,然后这些老师就你一言我一语地,一下就提出了很多修改意见,然后又够我忙的了。
这些身处高校的老师,提出的意见总是十分怪异,有些想法在我看来就是异想天开,不切实际。比如其中一个老师提出,那些搜索功能应该做成像百度或Google的搜索功能那样,输入一个词就可以将包含这个词的内容都搜出来,不要再按分类进行搜索。他也不想想,百度或Google的搜索引擎功能是由多少和怎样的技术牛人开发出来的。还有一个老师提出,搜索功能应该做到连上传的DOC文件中的内容都能搜索出来。他也不会想到,做这个功能的难度有多大。由此我也大概看到了为什么当前高校教出来的学生不符合社会实际需求的原因。但是他们提出的很多修改意见,我还是得照着去做。
敖总“嘿嘿”地冷笑着问我,“阿X,你觉得怎么样?”然后眼睛就一动不动地盯着我看,似乎要穿透我的内心,看得我心里直发毛,我本想用眼神把他瞪回去,但我竟然连这样做的勇气都没有,而且想到还在他的公司里做事,还是应该适当回避一下他的眼神。
这些老师提出那些修改意见后,我又要忙着去修改了。于是每天的上班时间内我又忙开了。
此时我每天的工作状态就是,早上来到公司,一坐就是到中午,然后出去吃午饭,吃完午饭后回来休息一会,然后下午接着一坐就是到晚上下班,偶尔去倒杯水和上洗手间时可以走动一下,偶尔的浏览网页和QQ聊天也变得越来越少了。虽然上班时间内觉得很枯燥乏味,但总觉得一天的时间很快就过去了,似乎已感觉不到日升日落和白天黑夜的交替。然后每天下班后就拖着疲惫而孤单的身影回去。就这样日复一日,周复一周。
我不时在想,难道青春尾巴上的最后一点时光就这样过去吗?以后的时光都要这样度过?
每当坐在办公室里埋头敲着代码的时候,我就不时想起小学的一位同学,上学时我们几乎是一样的性情,一样的人生轨迹,后来他上完职中后就出来社会了,而我则继续上学,然后毕业,工作,开始了办公室的打工日子。而那段很长的时间也恰恰是我们很少联系和见面的时间,后来重新见面和联系后,才知道,他早已是我们那个地方的一位“大哥”级的人物了,年长的年小的都知道其名号,他也不时说起他那些“英雄”事迹,那些打打杀杀的日子。我有时竟羡慕起他来,羡慕他那些灯红酒绿、声色犬马和快意恩仇,而不用像我这样,整天坐在办公室里对着枯燥的代码,看人脸色,仰人鼻息。他在QQ上的签名是,“我的兄弟的我情!我的兄弟不叫顺溜!叫利益!”,值得玩味。
在这家公司待了几个月了,我却一直找不到归宿感,想离开的想法一直没有间断过,但我却又没有离开的决心和勇气。为什么会这样呢?以前的公司,我想辞职的时候都是很果断的。是不是因为自己快30岁了,心态“老”了,冲动不起来了,不敢跳来跳去了?
从这份工作中,我越发觉得自己就是处在最底层的“代码民工”,别人让你转左,你不能直行,毫无话语权;自以为工作很认真努力,却看不到发展前途和出路,只觉前面越走越艰难;越来越没有机会去接触别人,所有的工作空间都只是一台电脑。这是我这份工作的问题,还是这家公司的问题,还是编码这类工作的问题?我没有答案。
每当忙了一天而拖着疲惫而孤单的身影回去的时候,我就觉得自己像一条狗,活得毫不体面,十分可怜。狗可能还有一个对它不错的主人,而我没有!难道这就是定数,再无法改变?
《当程序员的那些狗日日子》(四十六)午夜浪叫与噩梦
注:这一篇,应该可以让各位有种耳目一新的感觉。
自从到广州后,我就一直住在棠下村。刚到广州时就住在棠下村是因为我的老朋友业,但不久后业和他的妻子就搬走了,所以在棠下村我就成了“单枪匹马”。
棠下村的居住环境要比在北京时的石佛营西里小区的居住环境差很多,但比起梆子井那个平房区来,还是好了很多。最重要的是,在棠下村租住的,很多都是大学毕业生,是“广州新白领”,而且很多都是俊男美女,而我怎么说也是个大专毕业的,也算得上是个“广州新白领”,所以在棠下村租住,很容易就能找到那种认同感,能找到那种“同是棠下租住人,相逢何必曾相识”的感觉。
在此期间,我已换过好几个房子了,有试过光线很暗的,有试过在顶层夏天被烤得很热的,有试过刚装修好还散发着难闻气味的,可谓“历尽艰苦”。
在邮购公司工作期间,我曾在环市东路、地铁1号线、地铁2号线(当时的2号线)各自沿线找过一遍房子,结果一个很普通的单房都要一千块钱以上,于是还是打消了念头,继续租住在棠下村。
刚到科技公司时,我又在中山大道和黄埔大道靠近公司地点附近找过一遍房子,结果还是一个很普通的单房都要一千块钱以上,于是还是决定继续租住在棠下村,反正从棠下村到公司路程很近,只需从棠下村坐车坐一站到学院站下,再走天河公园,从天河公园穿过去后就到公司。
所以,就这样,我也就和棠下村结下了两年多的“不解之缘”,一直住在这里。
也是在找房子的过程中,我对广州地铁1号线和地铁2号线各自沿线的很多地方熟悉了。
由于此时住着的房子还是觉得不爽,于是我又开始在棠下村找房子了。
费了一番功夫后,终于找到了一个一房一厅的房子,光线、通风、面积、楼层等总体感觉还可以,离公交车站也近。
就在我欢欢喜喜搬“家”入住后,我以为迎来了新生活了,但是却没想到,出现了很多意想不到的情况。
自从跟程序“搞上关系”后,我就习惯了很晚才睡,基本上都超过晚上12点。每当午夜时分,我躺在新入住的房间准备入睡时,慢慢地就会听到附近不远处不时传来一种很特别很特别的“天籁之音”,堪比世上任何一种美妙的交响乐,扣人心弦,夺人魂魄,令人激动兴奋异常和情难自控,恨不能自己亲自参与演奏这一首首交响乐。低吟时清脆婉转,高潮时跌宕起伏,冲刺时荡气回肠,结束时余音绕梁,听者无不动容神往,奏者更是酣畅淋漓,神游九天。
这究竟是什么“天籁之音”具有如此震撼的效果呢?那就是大自然赋予女人的在床上的一种本能所发出的叫喊声,这是每一个男人都喜欢听到的叫喊声。
这些“天籁之音”分不同时间由不同的人来演奏,从不同的方向传来,“天籁之音”的旋律和节奏也大有不同。有低沉含蓄的,有豪放激昂的;有时断时续的,有一气呵成的;有百转千回的,有气势磅礴的;有短促快速的,有经久不息的。总之每一种都有共同之处,又各具特点。有时两种以上的“天籁之音”交杂在一起,简单成了一场精彩无比的交响乐盛会,各个演奏者同时尽情发挥,却又似乎要互相一比高下。
让我觉得最美妙动听的,大概是从与我的房间同一个方位下面传来的那一曲经典之作。大叫,爽浪,亢奋,持久,充满肉欲,响彻夜空,毫无间断,无比享受,欲仙欲死,娇哼低喘。
诱惑是什么?这时的这一曲经典之作就是诱惑,会让每一个听着的男性都变得血脉贲张的诱惑,让不举的变得正常,让正常的变得更坚挺,让本来就坚挺的马上喷血而死。
我听着,恨不能有破墙遁地之术,或有孙悟空七十二般变化,可以出现在演奏现场,把那正在快活的小子一脚踹到床底下,然后马上宽衣解带,提枪上阵,与那正在兴头上的浪女继续上演一场肉搏大战,演奏另一曲更精彩的交响乐。
不过那小子能与那浪女合奏出如此精彩绝伦的交响乐,看来也非等闲之辈,即使非三头六臂,也必定长得高大健壮,我未必是他的对手,很可能不但未能把他一脚踹到床底下,还反过来被他抓住垫在浪女的身体下面,让浪女同时享受一下人肉床垫的滋味,那我就丢脸丢大了。
棠下村真不愧是广州有名而典型的城中村啊,也许在这里每一晚都会上演着精彩各不同的交响乐。其实广州这座城市又何尝不是呢?只是棠下村那些建得间隔很密的楼房使这种交响乐传播得更清楚更直接罢了。从中或许可以看到女人矜持起来让人觉得她真的很矜持,可是浪叫起来也让人觉得她真的很浪。但这不是女人的错,这是大自然赋予女人的一种特殊本能,这恰恰是男人都喜欢的。
这可苦了我这个单身男子,常常午夜时分听到这样的旋律,情欲难耐,奈何枕畔犹虚,无人来合奏。在这个时候,我才更深刻地体会到,女朋友是用来干什么的。我不禁暗骂自己,早干吗去了呢?
然而,与“天籁之音”的效果完全不同的,却是另一种可恶的声音。每晚12点前后开始,楼下周围的店铺就断断续续地开始收市关门了,店铺大门安装的都是卷闸门,关门时,总是能听到一阵急促的“嗬”的巨响声传来,那效果同样震撼,只是不是美妙动听的,而是震得心慌难受的,如果正在快要入睡的状态下,必被吵醒无疑。
偏偏“天籁之音”在某一个时间段后,就渐渐平静下来了,剩下的只有不时传来的关卷闸门时发出的刺耳噪声。所以经过两三次在快要入睡的状态下被醒吵后,再也很难入睡,只好躺在床上辗转反侧,那感觉十分痛苦,就如噩梦般。一边是“天籁之音”,一边是刺耳噪声,真是“冰火两重天”啊。
我找这个房子时,根本没想到它因为是临街房子,会有关卷闸门时的噪声问题,真是百密一疏。每当被这种刺耳的噪声吵得睡不着时,我就在想,究竟是谁这么有才,发明了这种制造噪声的家伙?如果可以投诉和罚款的话,那个发明者一定会被罚款罚到倾家荡产。
然而慢慢地过了一段日子后,午夜的浪叫声也渐渐少了起来了,直至最后偃旗息鼓,毫无声息,真是令我大为不解。难道是因为那些演奏交响乐的男女组合都搬走了,还是因为他们都收敛起来了,变成了在悄悄进行了?
不过这下倒也很好,我的心神可以不再受到扰乱,从而可以做到清心寡欲,无欲无求。
经过一段时间的噪声干扰后,我竟然也能在这样的环境下适应下来了,关卷闸门时发出的刺耳噪声,不再对我入睡有很大的影响了。
原来,人都是可以在不同的环境下适应下来的,恶劣的环境也没有什么大不了。
《当程序员的那些狗日日子》(四十七)躁动的空气
每天在公司上班,研发部是清一色的雄性动物,研发部这边的办公室也只有研发部一个部门,所以唯一能接触到的雌性动物就是前台MM。但是所谓的“能接触到”,也只是在早上到公司时跟前台MM打声招呼,上洗手间进出办公室而从前台旁边经过时见一眼前台MM,中午到外面去吃午饭时见一眼前台MM或再多加打一声招呼,前台MM下班时到研发部发办公室跟立经理打声招呼时再见一眼前台MM,仅此而已。因为研发部各人早已形成了习惯,没事的话是不会跟前台MM多说什么的,所以我也只好随大流。
所以这等于每天都是在和尚庙里做事,不要说我此时还没有女朋友,就是有女朋友,一个正常的男人,每天都只能在没有异性的环境下工作,时间久了,也会产生偏离正常状态的心理。所谓“男女搭配,干活不累”,话虽然有点俗,但却是大实话,是前人总结出来的大道理。也许像立经理那样的技术狂可以不近除老婆以外的女色,但我不是,至少我觉得在工作上有女同事的存在可以在一定程度上调节紧张的情绪和精神状态。
前台MM在上班时间内似乎也很郁闷,除了接接电话,处理一些文档资料之外,也不能接触到其他人,基本上就一直坐在前台的位置上对着楼道对面另一边的主办公室门口,当然还能够见到那么一点主办公室里面的景象。我觉得我在上班时间内像是在牢房里一般,而前台MM也好不到哪里去,在浪费着对女人来说并不多的美好年华。
后来公司新招了一位前台MM进来,原来的前台MM则调到主办公室里面的某个部门去做其他工作去了。新来的前台MM初来乍到,还是表现得很热情大方,但研发部除了小钟外,其余各人似乎也不怎么主动跟新来的前台MM多说两句。当然我还是愿意跟新来的前台MM多说两句,不过也就止于两句,再多的就没有了。在研发部那样的氛围下,再多说就过火了。
每天下班后离开公司,走到天河公园后,我就像是刚从深山的寺庙里走出来一样,有种与世隔绝后再回到人间的感觉,然后看到出现在天河公园里的女人,我才回过神来,重新感受到这个世间原来还有女人的存在。
此时已是8月份,正是广东七八月份最热的时候,到处都是火辣辣的感觉。每当下班后从公司出来,走在天河公园里,举目就不时可以见到性感的少妇和年轻的美女在眼前出现,她们或在公园消闲或正在赶路,在她们身上似乎总有一种无形的东西将我的双眼吸引,那种东西似乎很明确,但又似乎不明确。那是什么呢?那大概就是女人对于男人的最原始的吸引力。是啊,我早已是个男人了,而不是一个男孩了,所以这种最原始的吸引力也同样会吸引到我。
我不知道从什么时候起,会特意留意起女人来,也许就是在这个夏天,在不知不觉间开始的;至少我可以肯定,在到这家科技公司前,我是不会特意留意起女人来的。
在我的心底里,也似乎有一种无形的东西在随着天气的不断升温而不断变得强烈,空气中似乎弥漫着一种躁动的气息,在热浪里似乎随时能闻到一种燥烈的味道,各不相同的女人在这种火热的天气下也变得性感迷离起来。每天下班后从天河公园走过,直到棠下村,一路上随处可见女人的身影,只见那白衣热裤下的玲珑身段,紧身上衣下的波涛暗涌,迷你短裙下的雪白修长匀称的双腿,每一处都散发着最原始的诱惑。每每看到这样的画面,我都似乎有种想扑上去的冲动。这是一种原始欲望下的潜意识,在沉睡多年后终于在这个“适当的时候”觉醒了。但是正常的意识却死死地克制住这种潜意识,使我不能失去理智,使我还处于正常人的范围内。但是,在到处都散发着诱惑的躁动气息下,在朦胧的夜色中,大自然赋予的潜藏在我体内的原始力量正在滚淌着,我的体内似乎正有一股热血往上涌,就要从我的鼻腔中喷薄而出,让我难受异常。
我从来都没有像这个时候这样如此渴望有一个女人,一个女朋友,不但有心理的需要,更有生理的需要。我就像一堆干柴,只要有一点火星就可以将我点燃;或者说我的体内早就有一团烈火在熊熊燃烧着,需要泼上大盆大盆的冷水才能熄灭。
这是一个难熬的夏天,不但因为天气酷热,更因为内心同样酷热。
因为有一些事情,我找到了已两年没见的门票公司的曾经理。真是没想到,此时门票公司已从先烈中路的汇华商贸大厦搬到荔湾区西华路一幢相对简陋的写字楼里,办公室不再有原先的漂亮,公司规模也缩小了很多,当初充满生气和活力的感觉也不见了,而且公司人员除了四人创业团队和原来的少数几名员工外,其余人员全换过了。而且公司并没有上市。
曾经理看上去似乎憔悴了不少。虽然我离开门票公司前和曾经理之间曾发生过一些不愉快的事情,但此时那些不愉快的事情早已烟消云散。我和曾经理都变得有几分客气。我问曾经理此时境况如何,他似有感慨地说,公司方面,受金融海啸影响,业务少了很多,生意更难做了;个人方面,岁月不饶人,年岁不断增长,青春不再,人也苍老了许多,真是“岁月如飞刀,刀刀催人老”。
曾经理说出了一些实情,也有一些谦虚和自我调侃的成分在里面。看来门票公司正到了“残酷的明天”,此时只有继续坚持下去,并且要扭转局面,才有可能到达“美好的后天”。
门票公司此时的状况,并不是我所想见到的,我更希望见到的是,此时的门票公司发展得很好,甚至真的如它当初所定下的目标那样,可以做到上市,尽管我已离开这家公司多时了。
当初技术部的剑、永、浩和我四人中,此时只有浩还在这里做着,这自然是因为他和曾经理是老乡的关系,可能浩也有过想走,但又碍于曾经理的情面而留了下来。
我的事情办完后,我本想约上曾经理等人到外面去聚餐,但曾经理却执意说改天由他来请,而且还当面就定好了时间,于是我只好由着他了。
到了约定的时间,我如期来到曾经理所指定的地点。除了曾经理外,还有浩及门票公司技术部此时的一位新同事,而且永也被曾经理请来了。永还是那么有个性,而且似乎在新的公司里正混得不错,看上去很潇洒的样子。
曾经理客气且热情地把大家请到他的府上──他在广州的新家做客。经过多年的拼搏和奋斗,曾经理在广州终于拥有了属于自己的房子,虽然地段稍偏了一点,但终究是有了自己的一个“家”。而且曾经理也结婚了,而且是新婚不久,而他的夫人就是我在门票公司工作时见到过的他的那位漂亮的女朋友,可谓是有情人终成眷属。所以曾经理也算是修成了正果,成家立业,进入了人生的另一个阶段。
曾经理夫人亲自下厨,为大家烹饪美味晚餐。我尝到了他们家的一道招牌菜──梅菜扣肉,味道真是无可挑剔,十分地道,令我大饱口福。
尽享美味晚餐后,稍作休息,曾经理又再请大家到他家附近的一家卡拉OK厅唱歌。开唱后不久又有门票公司原来的一位女同事和此时的两位年轻的同事MM到来了,于是众人一边唱歌一边摇“大话骰”拼酒。几杯啤酒下肚后,我也早就放下了拘谨,和大家玩成一片。什么程序,什么代码,都不及此时对着年轻MM拼酒高歌来得过瘾。
浩很有激情,玩得很投入;永虽然没浩疯狂,但歌却唱得很好;其余各人也很尽情地玩。在广州很久以来我也没有试过这么放松了,所以也大杯地喝酒,放声地唱歌,真是痛快。
没想到曾经理夫人竟是天生一副好嗓音,把男声女声流行传统的一首首歌曲演唱得惟妙惟肖,一首《青藏高原》更是仿似原唱,高音部分竟一点都没有落下,引来大家一阵阵鼓掌。相比之下,曾经理歌喉则要逊色很多,甚至唱起来有些跑调,很是搞笑。然后他们夫妻两人来了个夫妻二人唱,结果男声不搭女调,引得大家一阵阵发笑。
玩到深夜时分,曾经理夫人以动人的一曲结束了唱歌节目,大家尽兴而归。
痛快地玩了一个晚上,我心情大好,仿佛又回到了在门票公司工作时曾经理不时请技术部我们四人一起去聚餐的日子。开心之余我竟然有所感触,想起了星爷主演的电影《大话西游》里的一句经典的台词,我将其稍微改改后就成了:曾经有一位很好的上司出现在我面前,我没有好好珍惜,等到我离开后才后悔莫及……如果上天再给我一次机会,那么我还愿意让曾经理继续做我的上司……
带着满身酒气,我坐在回去住处的出租车上,望着深夜里的广州城市夜景,城市夜景在出租车的快速前行中变得很漂亮,同时在我满脑的酒意中变得暖昧起来。天气依然酷热,空气中依然弥漫着躁动的气息,马路边上偶尔可见的女人依然那么充满诱惑。
那种原始的力量又在我身体里滚淌起来。在这个时候,我什么都不想要,只想要一个女人。
《当程序员的那些狗日日子》(四十八)No money no talk
注:重阳,又是重阳!
到广州两年多的时间,当年上大专时的五室友,各自又有了很多不同的变化。“海牛”和勇都生儿育女了,而且勇已在河北保定市区买了房,此时他仍在北京那家小型电力公司做着,平时在北京上班,周末则回保定与家人相聚,生活也算稳定下来了,而“海牛”也在山东老家过起了波澜不惊但也相对稳定的日子。小伟也结婚生子了,他的妻子是他在湖北同一地方的老乡,原来在深圳工作,后经老家朋友介绍认识,开始时两人天南海北地通过电话或QQ联系,后来她则离开深圳,到北京去和小伟在一起了,再后来两人就结婚了,并且后来就生下一个女儿。两人的爱情故事说不上有多轰轰烈烈,只是平凡人的相识相恋然后结婚的一个很模式化的过程。老大上完两年的研究生后,此时已毕业,而且在北京的一家相对大型的国企谋得职位,其户口也因此而迁到了北京,此时正是他准备一展身手、开创美好前程的时候。大伟经过前面和两个MM的恋爱小插曲后,后来则跟另一个MM完全确定了恋爱关系,此时正是热恋中的甜密时候。
所以当年上学时同宿舍的六个人中,到此时就只有我一个人仍然单身,原来在北京时还有大伟和小伟相陪,而此时则变成了我一个人“孤军作战”,真是有点不是滋味。
虽然五室友的大概状况我还能了解一二,但是,毕竟和他们的空间距离拉大了,这使得我和他们之间的联系也变得越来越少了,往日的关系和感情也似乎慢慢淡了下来。广州与北京之间两千多公里的距离,还是让有限的电话联系对彼此关系和感情的维系变得鞭长莫及。
而在广州,虽然有不少高中的同学,但大多因为我北上那几年和他们联系很少,感情也更加疏远了,虽然高中时我和大多数同学的关系都很好。尤其是慢慢到了我们这个谈婚论婚甚至是生儿育女的年龄,大家因为工作和生活的原因,也越来越疏于同学间的聚会了。就像翰,我在门票公司工作时碰巧和他遇到,但大家出来聚过一两次后,后来也没再出来过了。
尽管这样,但我和捷还是隔三几个月出来聚一下,随意地聊聊天,谈谈各自的工作、生活和感情方面的事情,而且前一段时间还听他说他开始新的恋爱了,他的新女友是他在中大(中山大学)上夜校时认识的,比他小四岁,广州人,说起来他觉得他和她的认识还是挺巧合的,也算是挺有缘分的,而且两人都对对方的感觉很好,也正向着谈婚论嫁的方向发展。
捷说在认识他的新女友前,他曾到过四川旅游,并见到了他那个四川的女友(准确地说已是前女友了),但是她已经结婚了,是无爱婚姻,她说她还忘不了他,问他以后还能不能再和他保持联系。捷是刚知道她结了婚的消息,意外之余只好理智地告诉她,把他忘了吧,好好地过自己的新生活。
就是在这一次之后,捷对她两年多的思念之情也终于放下了,虽然他早就清楚她和他已不可能有结果,但是他一直都没有忘记她,但是当知道了她已结婚的事实后,他突然觉得所有的思念都不应该再发生了,因为她已经是别人的女人,他心里也开始完全把她放下了。然后不久后,就遇到了他此时的新女友。
自前一段时间听捷说起他的这些情感经历后,我也从心里为他高兴,一个痴情的汉子终于可以开始新的恋爱了。
一个周六的上午,我在QQ上遇见了盈,就是在北京时通过老乡的女友丽认识的盈。我到广州后,在门票公司时,可以随便上QQ,所以那时也跟盈在QQ上保持着联系;到邮购公司后不久就不准上QQ,而下班回去后晚上我又很少再打开电脑,所以就很少在QQ上见到盈了;再到科技公司后,我也很少在QQ上聊天,所以也一直没和盈聊过。所以这回在QQ上见到,大家都觉得有种久别后的感觉,盈还是亲切地叫我“哥”。
一番寒暄和叙旧后,还是让我觉得盈还是那个可爱的小妹妹,也许曾经她对我也产生过那么一点情愫,只是最后彼此都没有点破。我问她有没有男朋友,她也问我有没有女朋友,我告诉她没有,然后她说要告诉我一个“震惊”的消息。我一听,就大概猜到是什么消息了。果然盈告诉我说,她结婚了,因为她觉得一个人太孤单了,害怕过一个人的生活,所以和对方谈了几个月恋爱后就结婚了。
但是盈却说,她有点后悔这么仓促就结婚了,结婚之前家里人在催,自己也没有想清楚,有点后知后觉,所以她此时的精神状态不是很好。盈自我感慨了一番后,然后问我想不想见见她,于是我就和她互相打开了视频。再聊了一阵后,视频中闪过一个男子的身影,然后盈就说她也要下线了,于是和她打过招呼后,她就下线了。我很自然地猜测,那个男子可能就是盈的丈夫。
就是这一次之后,在QQ上我也很少再跟盈聊天了。在我的印象中她还是那个可爱的小妹妹,但是她的身份已变了。
就这样我在广州过着有点单调无聊的日子,虽然曾经我也有过很多关系和感情都很好的同学,但始终经不起时间的冲刷和距离的阻隔而使彼此的关系疏远了;而到了广州后,似乎真的没有交上几个真正能敞得开来聊的哥们,即使是酒友也好。所以最后能排解孤独的,也许就是身边的那个最亲密的人,可是偏偏此时我又还没有找到那个人。
和捷没见一段时间后,一个周末我和他又相约晚上出来唱K,而且捷把他的新女友带出来了,他的新女友很端庄漂亮,果然是郎才女貌,两人十分般配。
有点小小意外,捷的女友还带了她的一个姐妹出来,经介绍后我知道了捷的女友名字叫琳,而琳的姐妹叫艳。艳看上去年龄大概和琳相仿,广东人,正如她的名字一样,长得有几分美艳,但却艳而不媚,大大的眼睛,圆圆的脸,披肩长发,很有气质,身材也很好,圆润丰满。艳不俗的外表,还是令我眼前一亮。
程序化的唱K流程,先吃自助餐,然后各人开唱,或女声独唱,或男声独唱,或女声合唱,或男声合唱,或男女声合唱,唱得差不多后,就再点了几瓶啤酒来摇“大话骰”拼酒。说是拼酒,其实也就是意思一下,毕竟我们四人相互的关系还是不能让气氛太过热烈起来。摇“大话骰”喝完啤酒后,接着又开唱。
整个K歌过程中,我不知哪来的勇气,虽然平时工作中很少接触到女生,但此时却能对艳大献殷勤,艳也对我投以热情,而且在边唱歌边聊天的过程中,我了解到了艳此时还没有男朋友,这对我来说似乎是一个不错的信息。快到K歌尾声的时候,很自然地我和艳互相交换了手机号和QQ号。
回去的路上我和捷单独走到一块的时候,捷偷偷地问我,“觉得艳怎么样?今晚就是特意安排让你们两人见个面的,好好把握一下,看没有机会。”我听后便恍然大悟了,连声对捷说“谢谢”。看来捷还是知我的心思啊。
第二天我便加了艳的QQ号,然后在平时有空的时候就和她开始在QQ上聊起来了。也许是因为有捷和他的女友琳的介绍,和艳聊起来还是觉得很融洽。
和很多离开校园后的社会追女故事一样,我和艳在QQ上聊得感觉有点熟了,周末有空的时候我就约她去吃饭、逛街、看电影,或到广州的一些旅游景点去游玩,我周末的日子也似乎变得精彩起来了,而平时也因为能和艳在QQ上聊天而似乎觉得有了一种期盼和寄托,我也似乎有了追求的目标了。
在这些接触中我还是觉得艳对我也有好感,所谓“一个巴掌拍不响”,如果只有我一个人主动,艳不响应,那么我再热情也是徒劳。
慢慢地和艳交往着,我对她的感觉也似乎在一天天中升温。又是一个周六的晚上,我约了艳出来,和她吃过晚饭后,我们决定去珠江来一次“珠江夜游”。在珠江河中,在游船上,虽然珠江河水并不是那么干净清澈,但是看着珠江两岸缤纷璀璨的夜景,吹着游船前行时扬起的习习凉风,听着游船发出的轻轻的机轮声,我的心情还是变得很好,艳的心情也似乎不错,有点心花怒放。在有点朦胧的灯光的映照下,艳变得十分迷人。这是一个美丽的夜晚,因为艳。
大概一个半小时后,轻松愉快的珠江夜游结束,我和艳回到岸上。在游人来来往往的沿江中路往回走的路上,我和艳并肩而走,路上正有一对对情侣从我们身边走过。就在过马路的时候,我心中突然生出一种冲动,在这种强烈的意识的驱使下,我大胆地伸出右手,在那电光石火的一瞬间,果断地牵住了艳的左手。
艳似乎觉得很突然,好像犹豫了几下后,还是接受了我的牵手。就在这个短暂的过程中,我还是感觉到我的心跳突然加速了,然后慢慢地才回复正常,接着我的心里也掠过一种幸福的感觉。是啊,我已不知有多久没有牵过女生的手了,这是我初恋结束后所牵的第二个女子的手。
我不知道我对于艳,是发自内心的真正动心,还是只是因为内外的原因,急于想找到一个女朋友,所以才和她亲近,但这并不重要,重要的是,这样的夜晚,我不再孤单一个人。
艳那柔软细腻的小手,似乎有一种磁力紧紧地将我吸住,让我久久不愿意放开。打车送她到她住处的楼下后,我也要和她告别了。就在我和她互相说过“再见”,她正要转身离开的时候,我轻轻地在她的脸上偷吻了一下。艳觉得意外之余对我回以微笑,再对我说了句“拜拜”后就离开了。
我心里随即再掠过一丝幸福甜蜜的感觉,这是一个美好而完整的夜晚,虽然还不是真正的完整。
不久后,是农历九月初九重阳节,虽然是周一,但凑巧的是,我和艳都有假期可用,于是和她相约去登高爬白云山。
广州10月下旬的天气,很凉爽,有点秋高气爽的感觉,很适宜登高爬山。大概是因为周一,来爬山的年轻人似乎不是很多,更多见到的是比我们年长很多的老人家,但这并不要紧,完全不影响我们登高的心情。
我和艳一口气爬到山顶后,便找了个地方来歇脚。站在山顶上,举目远眺,广州城就在眼前。站得高,望得远,开阔的视野使我的心情变得很舒畅,我和艳开心地聊起天来。我们互相聊过去的经历,上学时的,工作后的,甚至各自的情感经历。我跟艳聊我这几年的工作经历,跟她说我是如何从一个外行变成一名程序员,又如何从北京辗转到广州的经历。艳似乎听得津津有味,对我通过刻苦自学而艰难地走上程序员道路的拼搏精神也似乎很赞赏。
想到我和艳也交往了一段时间,大家都有发展下去的意思,于是我也不加隐瞒地跟她说出了我大概的收入状况,以及我当前对职业发展的一些迷茫。就在这说起这些事情的时候,我还是隐隐发现艳的脸上掠过一丝难以察觉的表情变化,但是此时我正认真地跟她说着这些事情,我并没有往心里去多想。
跟艳说完这些事情后,我再跟她说,我一定会努力的,一定可以在广州创出一片天地来。我这样说,既是对自己的激励和期望,也是为了向艳表明我的态度和决心,让她对我有信心。
艳说,既然我这么有决心,那有没有想过怎么去实现自己的目标,有没有什么计划。艳这一问,还真是把我问倒了。我的确还没有认真去想过怎么去实现自己的目标,甚至连具体的目标是什么我心里也都暂时还不清楚。于是我跟她说了一句很中庸很有自我安慰意味的话,“车到山前必有路,船到桥头自然直。”
这一次重阳节和艳一起登高爬山,其实还是很开心的,但是此时我还没有想到,就是这次登高爬山,成了我和艳的关系的转折点。
登高爬山过后,慢慢地我发现艳对我有点冷淡下来了,QQ上很少见到她上线,打电话给她她也好像不想多说话,想约她出来她也总是借故推辞了。
这样的状态持续了一段时间后,有一天我实在忍不住,于是很诚恳也很强烈地希望她可以出来,有什么问题当面说清楚。
终于约了艳出来了,就在“广州名片”天河城北门前的小广场上我见到了她。我说我们先到天河城里面找个地方坐下来慢慢聊,但艳却说不用了,就在这里说就行了。
于是我便开门见山,问她最近这段时间怎么了,好像总是不愿意和我多联系。
艳听我这样问她后,心里似乎在犹豫着什么,沉默了许久后才说:“阿超,对不起,你是个好人,我不适合你的,你会找到更好的人。”
我一听,觉得很意外,过了一会才回过神来。真是没想到艳会是这样跟我说。
可是我仍不明白,也不甘心,继续追问艳为什么,艳又沉默了许久后才回答:“你没有什么不好,就是没钱,和你在一起我没有信心,我想找个有钱的,对不起!”
接着艳又说:“我不想欺骗你的感情,更加不想伤害你。谢谢你这段时间给我带来了不少快乐,忘了我吧。对不起!”
然后艳还没等我说什么,就转身离去。
望着艳绝情而去的背影,我怔在了那里,说不上话来。我不是想要答案吗?现在答案出来了,我该满意了吧?
可是我心里并没有一点满意的感觉,而是觉得有点冰冷和难堪。我一动不动地站在那里,刚才的一幕来得太快太突然了,过后我都还没有完全回过神来。
望着艳的背影消失在我的视线范围内,我心里是一阵无法言表的难过。我突然想起了那句经典的中国式英语:“No money no talk”。此时,通过我的亲身经历,这句话再一次得到了印证。
在这个时候,我似乎更加坚信了一个有点俗气但却很有道理的现实写照,那就是:金钱不能买来爱情,但却可以买来女人。女人买回来了,也许可以慢慢培养感情,但是你没钱,那就连培养感情的机会都没有。
就在这一刻,我突然有了一个不实际的想法,那就是我要赚一个亿回来,然后公开选美招亲。可是一个亿就如同天上的月亮,我可能永远无法达到,所以公开选美招亲也只能是扯淡。
站在天河城北门前的那个小广场上,络绎不绝的行人正从我身边走过,前面的天河路正车水马龙,天河城北门上的那个电子大屏幕正播着一出又一出充满激情的时尚广告,没有人知道我刚刚被一个女子“飞”了,就在这繁华喧闹的地方被“飞”了。
情绪渐渐平复下来后,我想起了那次重阳节登高爬山时,艳在听我说起我的收入状况和对职业发展的迷茫时,她脸上掠过的难以察觉的表情变化。原来那时候,艳的心里已有了想法了,所以也是在那次之后,她开始有意疏远我。
但是就在这个时候,我也似乎想通了。艳想找个有钱的没错,错的是我没钱。
从唱K时初次认识,到此时正式分开,前后大概正好两个月的时间,“百日维新”还持续了103天,而我和艳的关系只维持了60天左右,比“百日维新”还少了几十天。短暂的温存过后,我又被打回了原形。
《当程序员的那些狗日日子》(四十九)倾注心血而成的系统
调整心情后,我继续回到原来的工作和生活的状态。
经过两个多月的狗日般的上班日子后,视频管理系统学生后台之前提出要修改的地方已修改完成了,教师后台也开发得七七八八了。
实际上这两个多月的时间一部分是用在学生后台的修改上了,一部分是用在教师后台的开发上了,因为教师后台的功能很多都跟管理员后台的功能相似,所以可以直接从管理员后台那里搬过来后再稍作修改即可,因此可以不用费很大的功夫。
一天宗问我系统也开发了那么长时间了,快完成了没有。于是我如实向宗说明情况,宗听后也没再多说什么。可是我还是不敢松懈怠慢,继续加紧开发。
又是一段紧张而辛苦的敲代码日子后,教师后台也初步开发完成了,整个视频管理系统也算初级开发完成了。
按实际业务流程对整个系统进行了一次全面的测试后,测试结果表明视频管理系统的运行基本正常,当中出现的一些小问题我也很快就将其修正了。一套完整的视频管理系统算是正式开发完成。
根据开发过程中的实际情况,敖总曾提到的“PPT目录索引”功能并没有用到,评分功能也不需要,所以这两个功能都不用在视频管理系统上开发。DOC、PPT、XLS、PDF等格式的文件转换成SWF格式文件以及视频文件转换成FLV格式文件的问题,由于实现的技术难度太大,在征得祝老师、敖总、宗等人的同意下,我可以暂时不这样做,而改为用另外的处理方式,DOC、PPT、XLS、PDF等格式的文件可以直接单个进行下载,一个教学单元相关联下的DOC、PPT、XLS、PDF等格式文件的课件也可以打包后进行下载,视频文件则仍用WMS的方式来播放。这样处理后,我倒是省事很多。实际上那个打包下载的功能开发起来一点也不简单,程序中还是经过很多步处理,程序算法也相对复杂。
祝老师曾提到过的视频的展示页面和展示效果的问题,由于系统本身的功能定位就比较特殊,实际情况跟他的想法并不相符,所以还是无法做到按照目前几大主流视频网站的展示页面和展示效果来做,而只能根据实际情况来处理。
系统开发完成后,根据敖总和宗的要求,还要再做一项特殊的处理,那就是给系统加上USB加密狗功能,即安装视频管理系统的服务器上必须插上USB加密狗后,系统才能正常运行,这样做的目的自然就是为了防止系统被其他人无限制复制使用。USB加密狗里面的程序由宗设置好,他再提供加密狗驱动程序和相关的DLL文件,加密狗驱动程序手动执行安装后,我在系统的程序中再调用DLL文件中的函数进行判断就可以了,如果服务器上插有USB加密狗,系统则可以正常运行,没有则不行。DLL文件中的函数是WIN32 API函数,所以需要用到C#调用WIN32 API函数的方法,当然这些问题我都可以很容易解决。
系统刚一开发完,按照祝老师和敖总的意思,就要先给华师安装一套给他们试用。于是我亲自跑去华师一趟,在祝老师的安排下,给他们安装了一套刚新鲜出炉的视频管理系统。
随后不久,宗告诉我,负责技术支持的同事要给客户安装视频管理系统,但不会安装,让我写一个详细的系统安装手册。于是我按照宗的要求,写了一个图文并茂且十分详尽的系统安装手册,包括服务器要选用的Windows操作系统版本、安装IIS组件、安装WMS组件、安装.NET Framework 2.0、安装SQL Server 2000、安装加密狗驱动程序、在IIS上创建虚拟目录、在WMS上创建发布点、在SQL Server 2000上创建数据库、网站数据库连接信息的配置等都一一详细说明了,总之就是要让一个从未搞过ASP.NET程序开发的人看了这个系统安装手册后,都可以将视频管理系统安装起来。
除了因为华师的特殊性,我可以去给他们安装系统外,公司的其他客户,我是不能去给他们安装系统的,公司有专门的技术支持人员负责做这样的工作,所以写这个系统安装手册的目的就是要让他们掌握视频管理系统的安装方法。这可以说是完全有别于以往公司的做法,以往的公司,所做的网站系统都是为公司自己所用的,所以网站系统的安装都由开发人员自己来搞定,但此时在科技公司,却要由从来都没有搞过ASP.NET程序开发的技术支持人员去做,可想而知我要将这个系统安装手册写得多清楚明白才行。还好,费了一番功夫后,写出来的系统安装手册还是让宗看了后觉得OK的。
对于我将管理员后台、教师后台、学生后台分别作为三个独立的网站项目来建立的做法,宗一开始还是很疑惑,觉得我这样做既麻烦又不合理,后来我向他解释一番后,他才认可了我的做法,没再有意见。
宗始终还是对我的技术水平有点怀疑,或者说对于ASP.NET有点不放在眼里啊。也许他曾经也做过网站程序开发,是从网站程序开发走过来的,但那是代表他以前那个时候和那种技术的做法是不是?毕竟ASP.NET比其他网站程序开发技术还是有很大的不同,即使同为微软所出,ASP.NET都比ASP有了根本性的变化,如果是用ASP,我自然不会这样做,因为那样就是自找麻烦,但是用ASP.NET,就完全没有问题,ASP.NET完全可以很好地支持这样做。
虽然我不是科班出身,但在这个时候,我早已不是当年的吴下阿蒙,已俨然是一名ASP.NET程序开发的专业人士,我自认为我有能力去把握这些大方向上的技术问题,而宗却似乎并不相信我的做法,总是带着怀疑,这使我心里觉得很不爽,所以当时我心里还是一阵激动。
没错,你做C/C++,技术上比我牛很多,但是ASP.NET你也不是没搞过是不是?也许你也可以很轻易地就学会ASP.NET,但你毕竟没学是不是?所以在ASP.NET上我比你更有发言权。再说了,你做你的C/C++、做你的嵌入式开发,我做我的C#、做我的ASP.NET开发,井水不犯河水,凭什么你总是以这样的态度来对我?这个世界不是由你一个人全玩了,你够牛的话你就不要招我进来,你自己一个人C/C++、ASP.NET全做了。即使是微软里开发操作系统的大师又怎样?他就能否定众生吗?还不是他做他的,我做我的?不但微软里开发操作系统的大师不能否定众生,就算是国家主席、总统,也不能否定众生。没错,也许你的技术真的很牛,你的能力真的很强,我可以尊重你为技术“牛人”,但你不懂得尊重我,那么你在我眼中也只是一个很低级的人。
不过一阵激动过后,我还是面对了现实,在这家公司,人家搞C/C++、搞嵌入式开发的,就是比我搞C#、搞ASP.NET开发的牛很多,这是不容否认的事实。
接着没过几天,敖总又请了华师的几个老师过来公司,又是对系统提出很多修改意见和新的要求,我逐一作记录,然后讲得差不多了敖总就和各人一起离场了,从敖总跟各人客套的说话来看,很显然是要请各人去“腐败”,这时正是下午四五点接近吃晚饭的时候。
这不免使我想到了所谓的精品课程及由此而产生的视频管理系统对教学质量的提高究竟能起到多大的作用。从本质上看,这些无非就是一些形式上的东西,并不是实实在在的教学本身的东西。难怪当下大学的教育质量这么差,老搞这些形式上的东西有什么用呢?扎扎实实地把教学质量提上去才是正道。在这样的形式主义下,又有多少教师会专得下心来好好去研究教学本身的问题呢?都想着怎样捞外快去了。
我将记录下来的修改意见和新的要求整理后,阿凌就过来跟我说,先估算一下每一个问题要处理完成大概需要多长时间,然后他再向敖总请示一下,看哪些可以先处理,哪些可以先不处理,因为后面还有一套新的系统要等着去开发。
我听后不觉心里一惊,这套视频管理系统才刚刚开发完成,还在完善当中,我还没来得及稍作松弛的时候,后面又有新的系统等着我去开发了,那将又要开始新一轮的辛苦和忙碌了。
就在我挑了当中的一些难度相对较小的问题处理后,阿凌就再过来向我传达了敖总的意思,说那些还没处理到的问题先不用处理了,暂时搁下,先做后面等着要做的系统。
对于这样的安排,我当然觉得不好,因为停下来后而去做其他的系统,以后再回过头来处理这些问题,思路就接不上了,所谓“趁热打铁”就是这个意思。但是阿凌的态度却很明确,他已确定了要先做后面等着要做的系统,他表示这是敖总的意思。于是我只好听从安排。
于是我先发布了视频管理系统的一个正式的安装版本,供技术支持人员给客户安装和使用。
至此,一套完整的视频管理系统算是定型了。尽管我在这家公司觉得有种种的不如意,尽管我对做这样的系统有种种的不情愿,尽管这套系统也许仍是一套很“烂”的系统,但无疑,这却是我所做过的所有网站系统中,投入最大精力所做出来的一套系统,是我最认真、最完整地做出来的一套系统,可以说是倾注了我很大的心血而开发出来的,就像是自己“十月怀胎”孕育而成的孩子一样,所以对它有一种很特别而又很复杂的心情,既有爱又有恨。
可是,看着这个我自己亲手一行一行代码辛辛苦苦敲出来的系统展现在我面前的时候,我却没有了最初刚进入程序开发行列时的兴奋和激动,有的只是内心的平静和冷静,甚至是一点麻木。是啊,很多事情都已变了,尤其是我的心态已完全变了,此时的我已不再是以前那个随意兴奋和激动的我了。
但是毫无疑问,将一套系统从零开始完整地开发出来,我做到了,什么系统分析师,什么系统架构师,什么美工设计师,什么文档工程师,我觉得我都兼任了,事实上在开发这套系统的过程中,我的工作角色已不仅仅是一名只负责敲代码的ASP.NET程序开发人员。
《当程序员的那些狗日日子》(五十)无限愧疚
不知不觉,时间已来到了2009年12月份,视频管理系统的开发也告一段落,按照阿凌和敖总的意思,接下来就要做后面等着要做的系统了。
事实上视频管理系统的程序和功能有没有需要优化的地方呢?当然有,最明显的就是数据分页的问题,由于在开发过程中一直很赶进度,所以有很多地方我就直接用了ASP.NET的服务器控件GridView及其默认分页功能来实现分页,在数据量不大的情况下,这种做法没有问题,我这样做也是借鉴了邮件公司祁总的思想,先将系统做出来再说,但这样做的最终结果将会是,当数据量越来越大时,程序执行的效率也会变得越来越低。但是此时视频管理系统刚开发完又要马上去开发新的系统,我也管不了那么多了。
虽然之前我一直在犹豫着、挣扎着要不要离开这家公司,但到了这个时候,已是年终岁末的了,我还是暂时不想作考虑,而决定等过了春节后再作打算。
一天捷给我打来了电话,他说他才知道了我和艳的事情,觉得十分不好意思,没帮上忙,反而帮了倒忙。但是我倒是觉得无所谓,并再次谢过捷的好意。
等着要做的系统,叫做“微格教学管理系统”(简称微格系统)。所谓的“微格教学”,就是专门针对师范生(当然也可以是在职教师)所进行的一种特殊的教学训练实践活动,训练人数一般较少,训练时间相对较短,简言之就是老师给一定人数的学生布置训练任务后,学生按照老师的要求自我进行教学训练,然后老师对学生训练结束后提交的作业进行点评和打分,作业的内容包括学生训练过程中所录制下来的视频及其他相关课件。
所以微格系统跟视频管理系统有很多相同之处,比如都需要跟录播系统对接,都分为管理员、教师、学生等三个不同的后台,都可以通过本系统实现对录播主机进行“启动录制”和“停止录制”的操作,等等;最大的不同就是,视频管理系统是定位在教师教学上的,主要用于将教师在教学过程中所形成的教学资源发布给学生访问,而微格系统则是定位在学生教学训练上的,主要作为学生教学训练过程中教师和学生互动的平台,供学生将在教学训练过程中所形成的作业资源提交给教师进行点评和打分。
一天因为有一些事情阿凌要我和他一起到华师去找祝老师,路上聊天中阿凌跟我说起,视频管理系统已卖出去好几套了,有的是两三万块钱一套,有的是几万块钱一套,也有直接作为配套系统赠送给客户使用的。阿凌还说到,因为客户招标中都要求各公司的录播系统中要有视频管理系统作配套,所以视频管理系统已成为各公司的产品竞标时不可缺少的关键因素之一。
视频管理系统一发布没多久就卖了好几套,看来销售状况还是不错,而这只是刚刚开始。由此看来,视频管理系统的作用还是不容小视,也可见其实我的工作还是很重要的。
不过我听了后,却觉得这些好像跟我没有任何关系一样,如果不是和阿凌在这样的聊天中说起,公司和敖总肯定是不会告诉我这些情况的,视频管理系统的销售情况如何,与我无关。
一天阿凌约了祝老师过来公司,加上我,三个人一起讨论微格系统开发上的事情,当然主要就是向祝老师了解系统要实现的实际业务情况。一番详细讨论后,我也清楚了当中的具体情况,其中最主要的一点就是,学生可以在事前或事后自我进行教学训练,教师在系统中布置训练任务后,学生则要在规定的期限内完成任务并将作业提交给老师,然后老师自己或老师指定一定人数的学生对作业进行评分,最后老师则可以根据作业的实际情况和作业所得分数作出点评,当然也可以不点评,优秀的作业可以作为教学训练的优质资源供其他学生访问。
所以系统最关键的就是评分功能,教师要在教师后台中指定一定人数的学生对某一个任务下的所有作业或某一个学生的作业进行评分,因此系统就要做到可以自动将评分人与作业进行评分配对,这样评分人才清楚自己要给那些作业进行评分,而教师和作业提交人也可以知道谁给这个作业进行了评分,然后系统也可以根据每个评分人所打的分数来给作业计算平均分。要评分,就要有一套评分标准,评分标准可以临时创建,也可以调用事前已设置好的评分模板。这些跟评分有关的功能都要在教师后台上实现,所以教师后台在微格系统中是处于比较关键的位置的。
事实上教师之所以可以指定一定人数的学生对作业进行评分,就是为了让教师可以偷懒啊。
讨论完后,我也开始像开发视频管理系统的工作流程一样,先做需求分析和设计数据库,然后搭建程序架构并开始正式的开发工作。
此时对于微格系统的开发,因为有阿凌的专职跟进,宗也基本上不过问了,但我还是按照开发视频管理系统时宗所要求的做法,将数据库的表的设计用文档写了出来,然后将文档发给祝老师确认。最后祝老师给我的答复就是,表的设计没有问题。
祝老师给我发了一个他上研究生毕业答辩时所做的系统给我,让我参考一下当中的功能,他说那个系统就是与微格教学有关的。这是用ASP + Access 2000开发出来的一个系统,我将其运行起来并简单地看了一下后,就不想再作什么深入研究了,在我看来那些功能和操作做得并没有什么水准,我自认为我以前在北京那家票务公司时所做过的网站论坛系统比这个系统强很多,所以它的代码我就更加不想去看。
事实上虽然祝老师是计算机专业硕士毕业,但从多次跟他的工作接触中,如果单从专业的层面来说,我觉得他的专业水平似乎并不见得有多高,如果说到程序开发方面的能力和水平,我就更加觉得他没有实践经验,而只有理论知识。
但是毫无疑问,祝老师的收入和发展前途肯定都比我好很多,在这个以挣钱的多少来衡量人的能力大小的现实社会里,他的能力又的确比我强多了。而且不可否认的是,祝老师的讲课能力也肯定比我强很多。
敖总在了解了微格系统的实际业务需求后,又觉得系统的功能要这样做很复杂,跟他想象的不一样,问能不能做得简单一点。因为阿凌也很清楚当中的具体情况,于是跟敖总大概解释了一下,最后敖总也没有再坚持自己的观点。虽然阿凌是根据自己知道的情况跟敖总作解释的,但客观上他还是帮我“解了围”。
实际上敖总和阿凌急着要我去开发微格系统,是因为公司在一个客户的招标中中标了,中标的产品中正包括微格系统。从阿凌所写的宣传资料和另一位同事所写的投标技术资料中我看到了,虽然微格系统还没开发出来,但他们已在各自的资料上将微格系统的功能写得天花龙凤,我看后都不知道原来微格系统还有那么多和那么“花哨”的功能。
忽悠啊,忽悠啊!系统还没开发出来,就可以写成这样,看来从中也完全看到了,做系统的人和系统本身是多么的没有意义,因为不管有没有系统的存在,只要将系统完美地“虚构”出来,就可以骗得客户买单。这是不是就是做技术的人的实在,以及做业务的人的伪善?这是否也决定了,做技术的实在人,发不了财,做业务的伪善者,才能发财?这似乎也决定了,做技术的人是没有地位的,因为并不是因为有了技术人员做出来的产品才拿去销售的,而是因为有客户决定买这样的产品了才让技术人员去开发的,因此起重要作用的并不是技术人员,而是业务人员。由此也决定了,这时候的技术人员是处于最低端的生产者,上面的人让他做什么、怎么做,他就必须做什么、怎么做,这不是个别现象,而是宿命,是这类技术人员的宿命,而在这个时候,我也不可避免地处于这种宿命中。
就在我忙于开发微格系统的时候,一天我接到了父亲打来的电话,父亲语气严肃地说家里有事,让我尽快请假赶回家去。听父亲说话的语气,我知道家里肯定是出事了,但我却无法猜到是什么事,我的心也马上提了起来。
于是我当即请假赶回家,见到父亲后还没多说其他,父亲就告诉我说,我母亲被查出腹部长了个肿瘤,还好是良性的,但必须要做手术,手术费要四万多块钱,前期住院和检查已花了一笔钱,此时他手上只有两万多块钱了,还差两万左右,问我有没有钱先拿出来应急。父亲说之前一直没有将我母亲生病住院的情况告诉我,是因为不想我担心,影响工作。可是,什么工作比得上自己母亲的健康重要呢?
我知道父亲是个不会随意向我开口要钱的人,即使平时我回到家中给他钱,他都不会要的,但是在这个时候,他不得不向我开口要钱,可见家里肯定没有更多的积蓄了。
像祖辈们一样,家乡特殊的地理环境,决定了父亲也是一个渔民,早年父亲曾到广东沿海的其他地方去当渔民,通过辛勤劳作,也挣到一些钱,我上学那么多年,家中从不曾向别人借过钱,几年前家里新盖了一所房子,听父亲说花了二三十万,所以我能猜到家里的积蓄已所剩无几,而此时母亲要住院做手术,所以就马上出现了经济问题。
但是在这个时候,我却不得不如实地告诉父亲,我手上所有的钱加起来就一万多块钱了,还不够两万块,扣除了在广州工作所必需的生活费和应急的钱后,我大概只能拿出一万块来。毕业后出来工作这么长时间,我却一直没挣到什么钱,更没有攒下什么钱。
父亲听后,没有觉得失望,更没有要责备我的意思,而是理解了我的处境。但是越是这样,我心里却越觉得愧疚。父母生我养我,供我上学,我毕业后出来工作已好几年了,但在母亲最需要用钱的时候,我却不能完全拿得出钱来,我愧为人家的儿子啊!
父亲说那就再问问我姐姐吧,她应该能拿得出这钱来。虽然父亲早年能挣到钱,可是此时毕竟年纪大了,已不可能再有当年之勇,轻易地就挣一两万块钱回来。
我和父亲赶到市人民医院后,我见到了正躺在病床上的母亲,此时她正打着吊瓶,我姐姐正照看着她。病痛的折磨和治疗用药,使母亲看上去比之前消瘦了很多,此时精神状态很差。我走到病床边,握着母亲的手,喊了她一声“妈”后,却说不上话来。我的喉咙已有点生硬,眼泪正在眼眶里打转,但我还是强忍着没有让眼泪流下。这个给了我生命、我心里最敬爱的女人,她生病住院了我不知道,她需要钱来做手术了我也不能完全尽到责任,我愧对她,我愧为她的儿子!
母亲是个勤劳的“劳动人民”,会持家,一直以来的体力劳作使她的身体显得很“硬朗”,但这段时间却因为肿瘤疼痛发作和治疗用药使她一下子消瘦了很多。这时我才知道,为什么以前母亲一直觉得腹部有时会隐隐作痛,原来就是因为长了肿瘤,但却因为觉得是小事而一直没有去做检查,所以才没能及早发现。
父亲跟姐姐商量后,姐姐说那两万块钱就先由她来出吧,我那一万块还是我自己先留着,我在广州工作和生活也随时需要用钱。我不知该说什么,心里只有无限愧疚。
母亲做手术那天,上午9点多进手术室,直到下午1点多手术才结束,在这段时间里我觉得是我人生中最难熬的时间,每一分每一秒都过得那么慢,都让我觉得那么揪心和不安,因为手术可能存在的不可预测的意外和风险,使我不知道还能不能再见到母亲平安无事地从手术室里出来。
最后还是有惊无险,手术结束后,医生告诉我们,手术很成功,我母亲没事了。心头大石终于放下。
手术过后,母亲还要留院观察和休养一段时间,我在医院陪了母亲两天后,也要返回广州到公司去上班了,后面的时间则由父亲和姐姐轮流照看母亲。
我和父亲先回到家中,临行前我拿出几千块钱塞到父亲手上,父亲明白我的意思,但他还是不想接我的钱,推让了几下后,我再也忍不住,眼泪从眼眶中渗出,激动地说:“爸,我对不住您!对不住妈!您就收下吧!”
父亲见状,便没再推让,将钱接了过去,然后坚决地说:“臭小子,你给我听好了,以后不要再这样了,要像个爷们!”
在返回广州的大巴客车上,虽然一路上高速公路两边的风景都不错,但是我却无心欣赏,而是心事重重。是啊,我的确不像个爷们,要是像个爷们,就不应该连对自己父母的一点责任都尽不了。