这十三年的程序员生涯(三)

Tags:

在我看来,这样子的上了大学,像是个玩笑。
进华工我就是奔计算机系去的,没想到被丢到了材料成型与控制工程。
本以为再怎么武汉算是自己的大本营,走走关系就能搞定,结果还是被告知教育部正在查转系的,等到大一上学期完一起参加转系考试好了。
军训的一个月,说实话,其实也没准备跟班上的同学混得太熟,因为想着就是要转系的人了。没想到跟辅导员说了以后,顽固的我竟然被辅导员说服了,留在了这个专业!
原因是辅导员开出了一个让当时的我很难想象的条件:把刚上大一的我送到本系某国家重点实验室,专门做软件开发。他又说,既然你的计算机功底已经这么好了,不如兼学两门本事,或者读个第二专业也行,不一定要过去啊……
无论如何,我真在这里呆了下来。

老张的实验室,大概我03年10月份就去过了。其实第一次面谈,我记得很清楚,我没说什么话,而辅导员是当时的骨干limin的同学,借着这层关系推荐我过去的。老张一直在说话,其中对我起了决定性意义的两件事我也记得很清楚:一是实验室曾经在一个项目中发现了Java编译器的一个Bug;另一件则是实验室出去的研究生都是年薪10万。于是我在被吹得昏昏然的情况下同意了留在本系,冲着这个实验室去了。

随后,学校里搞了一个机器人比赛,我很有兴趣,便跑去找老张。他当时说得很慷慨,费用都可以报销;不过他劝我不要急,因为时间太少,不如现在开始准备参加下一次比赛。
结果这个所谓机器人的东西,成了我大学期间最大的笑话——从2003年11月到2004年底,我花了大量的时间在搜寻自制机器人的资料,从头开始学习电路之类,结果直到最后,依然是纸上谈兵,没有任何实际成果出现。想来这也是必然,我一直是搞纯软件,心里的确很想要亲手做出个什么东西,的确也对嵌入式很感兴趣,但是根本没有任何环境,也没有人能够指导,也没有积累,或者也是我自己觉得那个目标太过遥远,无从下手。于是,白白浪费了这么多时间。
而这段时间的我,大概是感觉到自己的无力而继续无所作为了,而也慢慢消失在老张实验室的视野里了。
一个人在旁边郁闷……

在耗费了一年半的时间以后,机会出现了。
当时而言,我只是尽力去抓住这个机会,没想到后来竟然会发展到那种地步。
2005年4月底,由于学校有个“创新基地”的体制,提供给优秀的学生自我发挥的空间,老张的实验室自然也是其中的“基地”之一。我最后由于成绩不够好,没有资格加入“基地”,但是老张为“基地”准备了一个项目(也不能完全这么说,事后我发现他还是对这些本科生不信任,而准备由他的研究生来保底的),完全被我“抢”了。这次也让老张突然发现了我实力的存在,于是他就充分利用了起来。
2005年五一长假的前一天,老张召集”创新基地”的人开会,让我也过去。他在会上说有个项目要做,想要“基地”的人加入进来试试。这就是那个长江航运的MIS项目,原本在2003年有过一个B/S测试版,但是最终由于效果不好被取消了。这次他想做成C/S,使得无线通讯能够更方便的使用。会上分了三个小组做客户端,我和另一位同学做Delphi;他的研究生带两人做vb.net;还有一个小组做Java。而Gao博做服务器端;准备从这三个中择优选用。
后来的事情则肯定是出乎老张意料的。这些本科生里面,会写软件的就寥寥无几,而我则是仗着自己有点Delphi基础,在五一长假的时候加班加点,狂查资料,并且在通讯问题上和Gao博尽力沟通。五一过完,我交出一个Delphi的原型版本。当时我怀着忐忑的心情问唯一可能有能力做了点东西的人,答复却是他没有开始做;而且研究生那边也没有动静……于是,5月11号,Gao博请我吃了顿饭,基本也就确定了这个系统的客户端就是我的了。

当时我是有点欣喜若狂,没有意识到后面这事带来多少麻烦。
开发小组就只有两个人,我和Gao博。自然也就只有我们俩来做系统分析,所以我们就是不断的跑汉口的长航公安总局,去了解客户需求。弄得差不多了以后,7月份我和Gao博在长航的帮助下,去了趟三峡做实地测量(插曲A:发现万州长航公安局的局长竟然和我是高中校友,同是华师一毕业;插曲B:和Gao博在一起,总被不了解情况的人叫做“两位博士”,我解释都不好解释,最后只有极大的满足了个人虚荣心^_^)。最后测试情况非常良好,没有出现丢包的问题,一次通讯错误都没有,我准备的断点续传策略都没用到,大家长嘘一口气……
跟着的那个暑假我一直呆在实验室,回趟家像是探亲的。老张给那个暑假留下来的人发了300块充饭卡(其实全实验室包括”预备人员”都在)。其实7月份拿去测的那个版本就很好了,我们无论怎么折腾都没有出问题,因为之前我几乎花了半个月时间做测试。觉得那方面没什么事了,我开始玩我心仪已久的Linux,装上rh9,折腾了一暑假,最后软件包依赖把我折腾疯了……

不过更让人疯的还在后头。
9月,突然出现客户需求变更。我记不清当时变动有多大了,但是10月份就要直接上船安装了,时间非常紧,我生怕出大Bug,就只有玩命的干。老张发了400块钱,作为补贴。不过同时,自己也开始觉得这样子的写软件,不是办法。
10月份上船安装。我推脱了,没有再去一次宜昌,而是在10月2号去把眼睛做了激光手术——由于从小看电脑看到大,到那时候眼睛已经是左500度右700度了。而恢复没两天(要求是一周内不准看屏幕),我和家人正在汤逊湖玩的时候,被叫去实验室,说加密程序配套有问题。无奈只有过去,戴着墨镜留着眼泪(手术后反应…)把东西弄完了。

对我来说,那只是黑色十月的开始。
实地安装的头一天,一个长途打到我的手机上,Gao博在那边装上了软件却连不上服务器。我当时在寝室,机器在实验室,只有借别人的机器看看,发现一切都正常。想来想去,突然发现似乎是服务器的IP地址变了,而我们写入加密配置文件的是IP而不是域名,自然就连不上了……
这次虽然问题解决得很快,但后来则几乎没几天就要收到短信说出了点什么问题。具体的就不说了,反正10月份我已经出现了心理障碍,听到短信响或者手机响就害怕,就怕接;然后就是突然开始有点脱发的迹象……整个人被压力压得要崩溃,我又特别有责任感,特别不希望自己的东西出事,最后反正是精神高度紧张持续了一个月。
其实最后看来,那一个月一共只发现了一个真正是我程序设计上的Bug。

接下来,我开始慢慢放轻松了——毕竟我还是本科生,我还有课要上呢!以此为契机,我把机器搬出了实验室,随后就采取了尽量少改程序的策略,而且改了我也没时间测,也不想再让自己背这么大的责任包袱。结果这个项目一直改来改去,最后还是加上了通信(也就是收发消息)功能,一直改到来年3月,算是稳定了。老张在2005年底发了1k的年终奖金,不过之后再没有拿到过补贴了。
这个项目基本就这样完了。现在一套软件卖5k,据我所知到现在卖了有30多套了。

在实验室做事的时候还有一个事情对我触动很大。大三上学期的最后一天(似乎是2006年1月),我在实验室和limin一起熬了个通宵。虽然这不是第一次,不过却是让我刻骨铭心的一次。因为Swirl(jsp写的B/S结构的MIS)那套软件就要发布了,我刚考完最后一门考试就直奔实验室,给软件加上了我写的加密狗模块(),然后准备完成最后的打包。不过在打包之前,大家不停的找bug改bug,但是没有用版本控制系统,都是拷来拷去,结果最后大概同时存在着4-5个改过的版本。经常是有人发现了一个bug,改了,没过多久,又发现bug,一看,怎么还是原来那个……我由于是要打包,所以只有最后走,途中打包无数次,每次耗时20分钟,安装测试又耗时15分钟,一测试又发现老bug,完全让我崩溃了,毫无选择只有通宵……
从那以后,我开始努力熟悉版本控制系统。但是由于使用上的原因,还是没能避免后面会提到另一个项目的版本灾难……

2005年12月,我去南京玩了一趟,好久之后再次见到了fishy、Edward、miu还有Wing,玩得很开心。从fishy那里得知他当时所在的趋势要搞一个“趋势百万程序大赛”,他建议我组队参加。回来后我得到了正式的消息,就开始在BBS上大量发贴招人,以为这事很难办的我结果一下招到了十多人(那次华工有40多支队伍参加,居全国之首,不知道有没有我的功劳,呵呵)……我自己加入了一组,做C#.net的,组名为Sylvia,准备在来年3月大展身手。
寒假里,我开始学习C#.net。然后就发现这东西的确好用。5天看完《The Programming Key of C#》,然后就依靠MSDN开始写项目了。其实我自己一直有一个想法想要转化成软件,正好拿来练手。
那是一个被我命名为EliteNote的弹出式记事本,可以通过使用快捷键自动保存剪贴板里的文章和图片,并且文章和图片以Tag分类,且有关联。例如图片和图片的注释就是紧密关联的,但如果两张图片主题相同,也可以被设为关联。我最终想达到能够通过搜索一个特定内容而快速得到与之关联的所有内容,形成类似于一种联想的组织方式(比如MindMap)。后台使用XML存储文件信息,便于管理和编辑。
当时一切都是新学的,但是我还是尽力做到正规。用了SVN做版本控制,尽量的定义好类的结构,写xsd作为xml规范等等。在极度兴奋中花了5天做出了这个东西的原型(至今我都怀念那时候的感觉,之后我基本再没有重现过那种极高效率的状态了),然后又修修改改,等到开学拿给同学们用了用,感觉还行。但是至此以后就没有修改过了,感到是激情耗尽,不想动了……

跟着就是2006年开我的第一个重大事件——趋势百万程序大赛了……

待续……

13 Responses to “这十三年的程序员生涯(三)”

  1. fishy Says:

    做open source是正道
    btw, get a mac广告gift篇讽刺了一把windows程序员,哈哈

  2. yasker Says:

    又不是我自己选择要做Windows程序员的,我那时又没法选择……真是……

    btw,我刚看了那个广告,笑死了……

  3. maple Says:

    写得真够波澜起伏的,没想到还看到了 EliteNote,呵呵

  4. yasker Says:

    差点忘了,那个东西你还帮做过测试,呵呵。

  5. qiuqiu Says:

    大侠,等你的”待续”已经许久了
    怎么老不见出炉呢
    急!!!
    我是读软件的,和你一样,在一所全国很重点的大学里
    为了自己的兴趣努力活着
    呵呵
    赶紧
    我正等着大作出炉呢

  6. yasker Says:

    汗……“大侠”这种称呼是万万不敢当的……“大作”也是万万不敢当的……
    只能算是稍微发点牢骚,写点东西当作谈资罢了……
    本来想等到过了2006年就写的,不过一直有点懒于动手了……
    过两天补上,谢谢关注,呵呵。

  7. qiuqiu Says:

    呵呵
    我 也是 学 计算机 的
    所以 特别 相知到 你 参赛后的事
    因为我 也 想在 准备参加 着2比赛 的

    我也是在 重点的
    大一
    270971720我的 QQ
    呵呵
    乐意的话家2我啊

  8. yasker Says:

    呵呵,现在想起来,可能2006年的那篇还得要花点时间——现在的我貌似还没有那种心情,还有很多东西需要弄。抱歉了,先等下吧,呵呵。
    先说一句,竞赛的结果是没有晋级,呵呵。

  9. qiuqiu Says:

    那我就在只好耐心 等拉
    不过看你的生活好象很牛耶
    不错不错

    我现在正在自学C#
    呵呵
    能告诉我你现在的身份吗
    就是职业
    呵呵

  10. yasker Says:

    我非常不牛, 比起在我这留言的其他人来说……
    目前是大四在读。

  11. dd100000 Says:

    yasker , hope meet you at wealink , let do some very interest things .

  12. qiuqiu Says:

    看的出来此地一堆牛人!!!
    呵呵
    他们应该都是你认识的吧

  13. nicklj Says:

    呵呵,看着你一步步走过来的,实在是佩服

Leave a Reply