作此文,祭奠我当程序员的那些狗日日子,并与所有仍在艰苦奋斗着的同行共勉。

这里所说的是“我”当程序员的那些狗日日子,但我绝对没有说别人当程序员是狗日日子。在这里我也并没有贬低“程序员”这个职业和这个群体的意思,我只是想写出我的职业经历和表达出我的感受。所以希望您可以带着平常心去看,只当看一个小程序员的职业故事,如果您看后没有骂我,那我就已经感到很欣慰了!

──作者序

《当程序员的那些狗日日子》(一)毕业后的徘徊

我不是计算机相关专业毕业的,我上的是大专,我的专业叫供用电技术,是跟电力行业相关的一个专业。高考填报志愿时,对计算机的了解还完全处于懵懂状态的我,在第二志愿里填报了计算机专业,结果便与计算机专业失之交臂。大专三年里我对自己的专业完全没有兴趣,当时唯一感兴趣的是与计算机相关的课程,所以大一时所设的C语言课程,我学得特别好,考试的成绩在班上是第一名。但是我毕竟不是计算机专业的学生,所学的课程极为有限,大专毕业后我找工作的方向还是与我的专业相关的行业。那时大概是因为我的专业知识没有学到多少,所以找工作时也从未想过要找技术性的工作,而一心想找与业务相关的工作。

毕业这一年我正好是22岁,虽然当时的就业前景并不是十分乐观,甚至可以说正笼罩着一种“欢迎研究生,考虑本科生,不招大专业”的悲观氛围,但此时正初出茅庐、年轻气盛的我,还是冲劲十足。当时我把自己的行头整理了一番,剪了个短发,穿上了平生第一次穿的西装,显得十分精神,外形已十足是个业务员的装扮。我们学校离北京很近,当时有一家北京的公司到我们学校来招聘,前去应聘的同学很多,竞争十分激烈,这一次我并没有应聘上。但我并不甘心,也没放弃,便向应聘上的同学打听消息,再次到这家公司的现场招聘会上去应聘,事后我又向同学取得公司老总的手机号,并打电话给老总,在电话中向老总慷慨陈词,最终得到老总的点头,我被录用了。

在这个应聘的过程中我完全体现了一个业务员为了开拓业务的那种不屈不挠的精神,并且在后来真正开始去跑业务后,我也保持着这种精神。我想,这完全是因为我当时很年轻,心中无所畏惧,敢于大胆地往前闯。但是当后来我走上了另一条职业道路后,我发现我身上慢慢地再也找不到这种精神了,那些年轻时的冲劲,也成了逝去的回忆。

在公司培训了一个月后,我便开始出差到外地去跑业务了。公司的业务在全国各地,公司的产品是与电力相关的设备,所以目标客户就是各地(主要是地级市)的供电局,而分配给我的地区就是湖北和江西两省。

第一次出差由一老业务员带我,但事实上他只在湖北带我跑了三个地级市的供电局,剩下的地方则由我自己去跑了。初次涉足社会,当时毫无社会经验的我,就这样一个人一个地方一个地方地跑去该地的供电局见相关的人物,有设计院的院长,有物资公司的经理,有管生产的科长,更有也是管生产的副局长。有过被保安拦下而进不了供电局的大门,有过被生产科科长冷冷地赶出门外,有过为了打听供电局的最新电力设施规划而极力献媚讨好,也有过被供电局里的人热情招待。虽然各种意想不到的情况正冲击着我的大脑,挑战着我的意志,但我并没有退却,在困难面前依然冲劲十足。

很快我便适应了一个人在一个个陌生的城市出差的生活,从一个城市坐车到另一个城市,找旅馆住宿,找地方吃饭,等等,慢慢地我已变得轻车熟路,到各个供电局去跑各个相关的部门和见相关的人物也变得有条不紊起来。

上学的时候我有一个要好的老乡,他是计算机专业的。他和我差不多同一时间找到工作,在找到工作前我们都曾一起彷徨过,也一起互相鼓励过,并且毕业离校后就和他一起合租房子,跟他建立起很深的感情。所以这时远在千里之外出差的我,一到晚上回到旅馆一个人的时候,便给他发短信说我出差的情况,他也跟我说他工作的情况,并继续互相鼓励。他在短信中跟我说,“哥们,大胆地闯吧!你一定能成功的!”我深受鼓舞,并坚信,我们都会好起来。这时的我并没有想到,后来我走上了另一条完全不同的职业道路,是跟这位老乡的影响分不开的;而这时我也还不太清楚他的工作的具体内容,只知道他是一名网站开发程序员,后来才知道,这时的他就是一名ASP程序员。

从湖北到江西,历时一个多月,我几乎跑遍了这两个省的地级市,每天白天我不是走在去供电局的路上,就是在从一个城市坐车到另一个城市的路上,有时坐在火车上,看着车窗外广袤的土地,令我产生无限遐想,那种总是在旅途中的感觉令我至今难忘。这样的工作状态,在我走上了另一条完全不同的职业道路后,就再也体验不到了。

第一次出差任务结束后回到北京的公司,我像是经历了一场洗礼一样,因为这是我离开校园踏入社会后的第一次不寻常的经历,我几乎只身一人从北京出发到外地跑了一大圈后再回来,我克服了孤独和最初的惶恐不安。

我们初次出差的目的就是先将自己区域内的供电局都跑一遍,熟悉一下工作流程,公司并不要求能出业绩,事实上也不可能第一次出差就能出业绩。然后在公司作完总结后又继续出去跑,重复上次的过程,慢慢地跟供电局的人混个脸熟。

前后一共跑了三次后,我已开始摸出了头绪,如果再继续跑下去,我想应该很快就会出业绩了。但是第三次出差回来后,涉世未深的我,却在报销差旅费的问题上跟老总争执起来。可想而知最后的结果是怎样了,那就是我失去了这份工作。当后来我明白到自己的做法是多么幼稚的时候,在很长的时间里,我都不能对此事释怀。如果我没有因为这件事而失去了这份工作,那么现在的我会是怎样呢?也许我现在就是一名经验丰富、收入不错的业务员了。但人生没有假设,我也永远没有答案。

失去这份工作后,我便找到了我那位老乡,继续和他一起合租房子。每天他下班回来,我便见他在他那台上学时从中关村二手电脑市场买回来的旧电脑上捣鼓程序。看着他在满电脑屏幕都是英文字符的程序中改来改去,然后在浏览器里打开网页来测试功能和查看效果,我便觉得他很牛,觉得他高深莫测,并对他产生了一种景仰之情。后来当我对这些东西很了解后,我才知道,那个编辑代码的工具只不过是再常用不过的Dreamweaver而已,而那些功能,也只是随便在网上都能找到的用JavaScript实现的小功能。

回家过了一个春节后我又继续出来北京找工作。然而这次却出师不利,碰了好几次壁,不久后更加遭遇了2003年的“非典”。在“非典”前我和一个也是刚刚失去工作的同学一起搬回了学校所在地合租房子,所以在长达几个月的“非典”期间我便被困在那里出不来,找工作也成了不可能的事情。然而更加令我想不到的是,在“非典”快要结束的时候,我和相恋了快两年的初恋女友分手了。这个曾经在我生命中占据着重要位置的女孩,从此消失在我的世界里,而在以后很长的时间里,我竟然不能从这段感情中走出来。那个分手的电话结束后,我痛哭流涕,整个世界像塌下来一样。失业又失恋,真是“屋漏偏逢连夜雨”。也就是在这个时候,我作出了一个决定,那就是等“非典”结束后离开北京,离开北方,回到广东的老家去。

老乡知道我要回广东后,觉得很突然,他在短信中跟我说,“兄弟,难道要放弃爱情了吗?”他不曾想到,此时爱情已离我而去了。在走的那天,这位老乡来送我了,几位同学也来送我了,不能来的老大,也打电话过来向我道别,问我回家是不是有更好的发展,并祝我一路顺风。我以为这一走,就再也不会踏足这片土地了,然而没想到,我接下来的几年年轻时光,还是要在这里度过。

回到家中,我边调整心情边试图去找工作,毫无背景和关系的父母,并不能帮上我的忙。当两个多月后我的心情调整过来后,我决定再次北上,因为我觉得我大专的同学和老乡都在北京,最近这几年我对那里更加熟悉。

没想到这次北上,到再次回家的时候,已快两年后。离开家的时候我姐姐已身怀六甲,等我再次回家时,她的小儿子已快两周岁了。

这一次,我还是找到了我那位老乡,和他一起合租。再次到北京,我有种“风萧萧兮易水寒,壮士一去兮不复还”的悲怆之感,因为有一些事情已经变了,从失去那份工作后到这时,我仿佛经历了很多事情,心中竟觉得有点沧桑。

到北京几天后就是中秋节,那天晚上,我和老乡,还有他的同学,一起坐在所租平房前面的那条简陋的小路上聊天。这是北京东五环边上的一个叫梆子井的平房区,破旧,落后,然而我却不得不暂时租住于此。望着深邃的夜空,一轮皎洁的圆月正高挂在上空,月光洒满了大地。此时,正是万家团圆之时,然而我却不得不在异乡的一个冷清的角落里度过,我的心中满是惆怅。月光虽美,但我却觉得前路一片迷茫,不知出路在何方。约九个月的时间我竟处于失业的状态。我这时的心情,我的老乡并不能体会得到。

“天无绝人之路”,此时急于想找到一份工作的我,在当时北京的一份招聘报纸上看到了一则招聘信息,在王府井东方新天地的一家新开张的粤菜餐厅要招聘服务员等职位,并要求懂粤语的优先。王府井东方新天地?粤语?当时就冲着这两点,我几乎没有考虑就决定去应聘了。我的老乡也支持我前去一试。

结果正如我所期待的那样,我被录用了。在回来的路上,我的心情变得很好,一如那万里晴空一样蔚蓝清澈。

于是我便开始了一份完全不同的工作,在这里我不但认识了很多来自广东的同事,也认识了很多比我还年轻的男女服务员同事,我们一起经历了餐厅开张前的培训期,一起在开张后进入各自的工作岗位,慢慢建立起了一种很亲切的关系。常常下班后我和这些年轻的男女服务员同事一起去聚餐吃夜宵、喝酒,尽情地吃喝玩乐。这是一段很难忘的工作经历,在后来我走上了另一条职业道路后,我才知道,我再也不会有这样的工作经历了。

由于我是大专毕业,领导知道后很看重我,在餐厅开张后便让我做了另一个重要的职位,所以工作中我可以接触到不少其他方面的东西,这可以说是一个机会。相对于大多数是高中或初中毕业的其他服务员同事,我这个大专生在学历上还是显得很有优势。

我想,也是在这一次工作经历中,我最有机会接触女生了,因为餐厅包吃住,所以除了睡觉外,我几乎所有时间都和这些年轻的女服务员同事在一起。但此时还没有从初恋那段感情中走出来的我,并没有想过在这个时候再找一个女朋友。后来当我快要进入“剩男”行列的时候,我才明白,有些事情,一旦错过,将不再回来。

我的工作搭档是一个来自湖南的女孩,她的名字叫晔,是餐厅其中一个领导的亲戚。此时晔还差一点才够20岁,长得很清纯和有几分灵气,很讨人喜爱。工作中我和晔的相处时间很长,所以晔和我接触多了,便和我变得很熟,慢慢地我也发现晔对我有好感。有一次因工作上的问题我对晔说话说得有点急和重,结果晔忍不住哭了,双眼满是泪水。我这才感到自己说话说重了,于是马上递上纸巾给她擦眼泪。晔在接过纸巾擦眼泪的时候,她就已经不再因我的话而难过了,而似乎流露出一种被怜爱的感觉,那种感觉让我看在眼里,我心里也似乎有了一种特别的感觉。这就像一对情侣,女的因男的哭了,然后男的很细心地关心女的,让女的感觉到男的对她的怜爱。

此时的我也还不够24岁,比晔大四岁,这样的年龄阶段和年龄差距,不正是很适合谈恋爱吗?如果此时我主动向前走一步,那么我可以肯定我和晔将会发展成恋爱关系。只可惜此时我还没有从初恋那段感情中走出来,所以对晔也没有动心。在我离开这家餐厅后我还不知道我算不算是错过了一位很好的女孩子,但很久以后我觉得是。

因为餐厅工作的特殊性,所以这一年的春节我便在餐厅度过。我那位老乡要回广东老家过春节,但我并不觉得孤单,因为在餐厅里有那么多年轻的男女服务员同事和我一起度过,而且,是在繁华的北京王府井中的东方新天地度过。

如果这份工作我一直做下去,我不知道现在的我会怎样,但我想,一定不会像后来那样,走上了一条完全不同的职业道路。

做了几个月后,年轻气盛并开始有点心浮气躁的我,在觉得加薪无望的情况下,留下一封辞职信后,就不辞而别。我自以为用了一种很潇洒的方式,但后来却觉得自己的做事方式是那么的不成熟。我并不懂得去把握一些比暂时的经济收益更重要的东西,所以这一次,我也是错过了一些很难得的东西。

这份工作后,我算是完全脱离了我的专业了。这时已是2004年的5月份,离我毕业的日子已快两年的时间。快两年的时间,就这样过去了,我仿佛又回到了起点上,重新走在了求职的路上。两份不太一样且时间都不长的工作,从中我并没有积累到多少过硬的经验,这对我的求职十分不利。何去何从,我再次迷茫了。

《当程序员的那些狗日日子》(二)走上不归路
快两年的时间,当年上学时我们宿舍的六个人,也各自有了不同的发展情况。来自河北的老大在北京一家规模算比较大的电力公司任职,同样来自河北的勇在天津电建一分公司任职,来自湖北的小个子小伟在朋友介绍的一家待遇不错的小公司任职,来自山东、长得十分健壮的“海牛”则回山东老家,在老家一家中型电力国企谋得职位,而上学时和我最聊得来、也是来自山东的大伟,则在北京通州一家小变压器厂做着一名小技术员。此时他们五人中,应该就数大伟混得比较不如意。当然与他们比起来,就数我最差了,因为此时我失业了。

北京5月的天气,乍暖还寒。我找到了大伟,在他任职的那家小变压器厂的简陋宿舍里,我们再次见面,道不尽的唏嘘感慨。上学时和我一样纯真的大伟,也似乎多了几分沧桑。他跟我说,他现在的工资很低,这里不会有什么大的发展前途,他正在等待机会,一有合适的机会他就会离开这里,言语间掩盖不住他内心的落泊和失意。

从与大伟的倾谈中我也找到了许多安慰和共鸣,当晚我和他就到外面去喝酒,我们都喝得很多,似乎要借酒来发泄内心的苦闷。酒后我们一颠一颠地走在城铁八通线旁的那条公路上,像两个落寞的街头浪流汉,沿途浪流,不知走向何处。虽然已是5月了,但入夜后的寒风还是让我们感到寒冷,身心都感到寒冷。但毕竟是5月份了,北京的寒冷很快就会过去。但我们心里的寒冷呢?

找了半个月的工作,屡屡受挫后,我有点心灰意冷起来。这时老乡把一本书递到我的面前,跟我说:“兄弟,不如你也来搞网站编程吧,从现在开始学,我相信你也可以学会的。”

我有点意外,也有点不敢相信。到了这个时候,我还可以去学吗?还能学会吗?会不会太迟了?然后老乡便继续跟我说,这是ASP网站程序开发,不难的,只要你肯去学,一定能学会。

于是我有点怯生生地翻了翻那本书,是清华大学出版社出版的一本有关ASP程序开发的技术书,老乡说这是他们上学时用的教材。书中那些“If…Else…”、“For…Next”、“Do While…Loop”、“Do…Loop While”等语法,跟我印象中的C语言的语法竟是那么相似,这不免挑起了我当年上学时对计算机课程的兴趣。我想起了当年学习C语言时用两个“for”循环实现了九九乘法口诀时的得意,虽然后来我知道,这只不过是编程中最常用到的逻辑思维之一,但毫无疑问当年我已具备了这种逻辑思维。所以这时我心里便在想,凭着我学习C语言的经历和心得来看,我要学会“ASP”这门课程应该不成问题。

想想老乡近两年的时间里工作都相当稳定,而且他此时的工资也算不错,这些都是因为他掌握了一门技术,一门网站程序开发的技术,如果我也掌握一门技术,是不是也可以像他那样,有一份稳定而且收入也不错的工作呢?考虑再三,兼在老乡的鼓励下,于是我决定,先花几个月的时间去学习网站开发的相关技术,然后再去找工作。憨厚实在的老乡对我说,“兄弟,好好学,你一定能学会的!”

我不知道,我这样先花几个月去学一门技术后再去找工作的做法是不是对的;我也不知道,从做业务开始,再转到技术的方向去,我是不是在走回头路;我更不知道,如果此时我不做这个决定,后来的我会是怎样,但可以肯定的是,我不会走上另一条职业道路而成为一名程序员。

当我将我的决定告诉同学大伟后,大伟说,你真的要这么决定了吗?你可想好了,你不是计算机专业的,而且你已毕业快两年了,可能你会没有什么优势。我知道大伟是真心为我着想的,但我心意已决,所以不想再改变决定。

这时我捡起了毕业前买的有关Dreamweaver和Flash的两本书,因为当时是出于兴趣买的,但一直没真正去学过,没想到两年后,再次派上用场。此时的我,虽然对网页设计制作还不会,但对Photoshop图像处理却还是有一定功底的,因为上学时我自学过很长时间的Photoshop,所以日后这也成了美工设计和程序开发我都可以一手包办的根本原因。

除了老乡的那本教材,我还亲自到北京西单图书大厦买了另一本ASP程序设计的书,以及另外两本有关JavaScript和SQL Server 2000的书。

就这样,从Dreamweaver到Flash,从JavaScript到ASP,我开始了长达几个月的艰苦学习过程。我不得不感谢我的老乡,在这个过程中他给了我很多指点,以及我可以用他那台旧电脑上机实践,虽然上学时我自己有过一台全新买的电脑,但真正跟电脑结下“不解之缘”的,是从这台旧电脑开始。

此时的我还不知道,从我对着电脑去学Dreamweaver的那一刻起,我的人生轨迹就开始慢慢改变了,而这段人生轨迹,过后我宁愿它从来都没有发生过。

顶住失业的压力和内心的煎熬,埋头苦学了几个月后,我算是学到了点皮毛,于是我也开始跃跃欲试,再次开始找工作了。怀着忐忑不安的心情,连吹带骗,我终于找到了一份网站程序开发的工作,说穿了,就是ASP程序开发。我很清楚地记得,这时已是2004年的10月。

就这样,几乎从零开始,经过几个月的艰苦学习后,我开始走上了另一条职业道路。但此时的我还不知道,我走上的是一条没有尽头的、黑茫茫的“不归路”。

《当程序员的那些狗日日子》(三)无数个熬夜的日子

由于我不是计算机专业的,为了增加应聘成功的机会,我在我的毕业证扫描件上做了一个小小的手脚。凭借我Photoshop图像处理的功底,我在毕业证扫描件上将我的专业名称“供用电技术”毫无破绽地改成了“计算机技术与应用”──这是我老乡专业的名称──这样,我就俨然成了一个计算机专业“毕业”的人了。我知道我这样做是在弄虚作假,有失于做人的诚信,但在当时,我迫不得已,而且在接下来的两年时间里我也为此事而遭受着很大的心理压力和不安。我只能安慰自己说,这是“善意的谎言”。

能够应聘得上,除了这点外,还有很巧的一点是,当时的那个部门小经理也是非计算机专业毕业的,对网站开发的相关技术很外行,而他们又正急于招人,所以才被我“忽悠”过去了。所以我宁愿相信我能走上这一条路,冥冥中早已注定了。

公司是在东二环边上、东四十条地铁站附近的一座商住两用的写字楼里,所以我上班时就可以坐城铁八通线转地铁1号线再转地铁2号线到达。在这个时候我才知道,原来北京上下班高峰期无论是坐公交车还是地铁都是那么多人,每每我在八通线的广播学院站上车时,都很难挤得上去,经常需要站台上的工作人员把乘客往车厢里推才能挤得上去,这也成了一道独特的风景线。也是从这个时候起,我开始了上下班挤公交车或地铁的漫长日子。

带着新鲜、激动、喜悦而又有点紧张的复杂心情,我正式开始了对着电脑工作的日子。经理把一个网站交给我说,这是公司的网站,我的工作就是对这个网站进行维护和更新。同时我也了解到,原来负责这项工作的程序员不久前辞职了,所以才招了我进来。

于是我便在很陌生的状态下开始去了解这个网站的相关情况,可以说当时的我根本没有工作思路,只是在“摸着石头过河”。经理首先要我做一个产品搜索的功能,这时的我对于ASP只是学了一些基础的内容,要将理论用于实际开发当中还是有一定的难度。而更重要的是,对于开发搜索功能必须要用到的SQL Server 2000,我还根本没有开始去学。

一道难题摆到了我的面前,但工作来之不易,我没有其他选择,我必须去解决。所以每天下班后回到住处我便狂攻ASP和SQL Server 2000,往往到夜里12点多甚至1点多才休息,然后第二天又精神抖擞地去上班。周末休息的时间我也利用上了。也许是因为新鲜,也许是因为此时的精力还不错,当时我竟不觉得累。

苦熬了数个夜晚和好几个周末,并在老乡的指点下,我终于将产品搜索功能开发出来了。面对着自己第一次开发出来的“程序”,我心里竟有种莫名的兴奋和激动,觉得“程序开发”是如此了不起,我可以通过简单的英文字符的复杂组合去实现这么美妙的功能,可以为别人所用,方便别人的工作和生活。后来我才明白,很多走上程序员这条道路的人,在最初学习编程或进行开发的时候,都有过和我类似的心理感受。但我至今都不知道,这是对于编程的最客观真实的感受,还是一种迷惑了大多数人的感受,所以他们在最初时才不知道实际上“程序开发”并不是一件那么美妙的事情。而事实上,当日后我很轻易就可以做出这样一个功能并且经常重复做这样的功能的时候,我再也没有这样的感受了。

我的“能力”得到了经理的肯定,所以入职一个月后我顺利转正。但由于那个“善意的谎言”所带来的一点心虚,以及我在技术上的真正的底气不足,我并没有跟经理重提给我的工资加到面试时所提到的转正后的标准,而默默继续接受了试用期的标准。也许是从这个时候起,我开始慢慢变得胆小起来,慢慢地没有了刚毕业后做业务员时的胆量和无所畏惧的精神。也许这也是我为自己的“谎言”和选择所付出的代价。

就这样,在我还没有用过硬的技术将自己完全“武装”起来的时候,我就一脚踏进了“程序员”的行列──也许在真正的程序员看来这只是一个再菜鸟不过、甚至连初级都算不上的代码工,但毕竟已经开始了。在这段刚开始的日子里,我每天都如履薄冰地专心工作,生怕一不小心就会被人发现我不是计算机专业科班出身,生怕别人知道我的技术水平其实还很低。所以在同事面前我尽量不谈起跟专业有关的话题,也不谈起跟技术有关的话题。但在工作的背后,我抓紧一切时间努力地学习,因为我坚信,我一定可以学好的,我要用事实来证明我那个“善意的谎言”并不是真正的谎言。也许正是因为此时的这种执着和信念──如果这说得上是信念的话──我才在程序员这条道路上走了下去。

转眼时间来到了2005年的1月份,这时老乡告诉我,他们公司有一个女同事和她的朋友,想和他合租一套楼房,问我有没有兴趣一起合租。

想想我和老乡在这个叫梆子井的平房区也住了很长时间了,尤其是我的老乡,他几乎是一毕业后就住在这里,所以我们在这种平房区都住怕了,于是我没有作任何考虑就答应了。

楼房很顺利就找到了,是在东四环朝阳公园桥外一个叫石佛营西里的小区里。搬进去的那天我第一次见到了老乡的同事和他同事的朋友。老乡的同事叫欣,来自山东,欣的朋友则叫梅,来自广西。此外还有一位来自东北的哥们,叫宇,他是梅的同事,是陪梅一起来找房子的。没想到就是这次见面,我发现我和宇很聊得来,虽然我和他的工作性质并不一样,但却有种一见如故的感觉,所以后来我们也成了关系很不错的朋友。

我和老乡终于离开了那个破旧落后的平房区,而搬进了环境好了很多的小区里,我们都不免有几分感慨,因为那个平房区,不但有我和老乡,还有他的好几个同学,都几乎一毕业后就住在那里,是彼此毕业后踏入社会的第一站,是最初的“革命根据地”,那里留下了我们在酸涩中带着梦想前进的回忆。

没想到我和老乡都赶了一趟时尚,男女合租。和两位MM一起住,我们的生活似乎变得没有那么单调了。欣大概比我小一岁,长得不算很漂亮,但身材却凹凸有致,并有几分小资情调,听老乡说她此时还没有男朋友。而梅则大概比我大两岁,但却长得很小巧玲珑,是个温柔善良型的MM,有着广西女孩那种最优美的特质。梅做得一手好菜,人也勤快,常常下班后都为我们做晚饭,令我们有种很亲切温馨的感觉。

但是也许是因为此时的我正被学习技术的念头强烈地影响着,我并没有往其他方面去多想,就觉得这只是男女合租这么简单。每天晚上我还是狂啃ASP和SQL Server 2000至深夜才睡,好几次欣看见我在那个小厅里如此“挑灯夜读”,都叫我不要那么晚了,要早点休息。她有点奇怪地问我为什么要那么拼力学习,我不知如何回答她,每次都只是对她笑笑,然后谢谢她。也许是从这个时候开始,我慢慢地脱离了真实正常的生活,而走进了无数个敖夜学习的不正常作息的日子。也是从这个时候开始,我的身体状况慢慢地差起来了。

《当程序员的那些狗日日子》(四)喘过气来了

不久后便临近春节,我终于有了毕业以来的第一个真正意义上的春节假期,我紧绷了很长时间的神经也终于可以得以暂时放松一下。由于囊中羞涩,加上春节期假火车票难买,我决定这一年春节也在北京度过了。我的老乡也决定不回家,而和我一道,在北京过春节。

欣和梅都回家了,所以合租的房子里就剩下我和老乡两人。两位MM突然没在,我们俩竟觉得有点失落。原来同在一个屋檐下生活,时间虽然很短,但彼此却已将对方视为一种习惯了,尽管或许欣和梅并不这样认为。

正好老乡的一个同学也不回家过春节,所以老乡就把他叫来了,这样我们就三个人一起在北京这座异乡城市过春节,总算没那么冷清。除夕夜和春节那天我们也毫不怠慢,亲自动手弄了丰盛的食物,既是为了庆祝过春节,也是为了犒劳自己。

除夕夜和大年初一我都给家里打了个电话,虽然我跟父母说我在北京过春节过得很好,但是他们还是很记挂我,尤其是母亲,虽然我见不到她的样子,但是从说话的语气中我能感觉到她有点哽咽了,她说我两年都没有回家过春节,她的心里很不是滋味。当挂掉电话后,我的心里也极难过,有种眼泪要涌出来的冲动,但我还是忍住了,因为我知道,“男儿有泪不轻弹”,即使此时没有当着母亲的面。

我们三人就近去逛了朝阳公园庙会,领略了北京春节庙会那喜庆热闹的气氛。这也算是我在北京所逛的唯一一次庙会。

虽然是春节假期,但我仍然没有忘记学习技术,还是一有时间就拿出ASP和SQL Server 2000的书本来学习,我似乎已不知道工作之外还有生活,或者说,我暂时已没有了条件去讲生活,所以必须以拼力地学习技术来改变。但是,这时的我还不知道,要想有更好的工作和生活,有时学习技术并不是一条行得通的路,反而是其他东西更重要,比如社会阅历或关系。

短暂的春节假期过后,我又回到了朝九晚六上班的日子。经理给我布置了新的任务,要我做一个日历,并通过日历的某一天可以将当天的产品查询出来。经过这段日子的学习积累,我对ASP和SQL Server 2000开始上手了。我发挥我的逻辑思维,配合所学的知识,完全用ASP将日历做出来了,然后用ASP搭配SQL Server 2000,也实现了日历的产品查询功能。

任务完成后,经理对我的表现甚为满意,而我自己也觉得,那个日历的功能,的确做得不错,虽然这对于那些复杂的程序来说,还只是小菜一碟。这无疑给了我很大的信心,也让我心里舒了一口气,因为,我真的可以学得会,也真的可以做得到。

接下来的一段时间继续在经理的安排下做了一些小功能,我也都一一顺利完成了。而且,我Photoshop图像处理的功底,也派上了用场。此时公司业务比较多,公司网站上的产品信息也随之更新得比较快,虽然美工的设计水平不错,但她还是忙不过来,所以经理让我帮忙处理了不少图片,并设计了不少产品的特效网页。自然这些工作都得到了经理的肯定。

经过这些程序开发和美工设计的实践后,我的工作也变得顺手起来了,我开始有了较多的底气,不再像刚进入公司时那样诚惶诚恐了。我慢慢地感觉到,我开始“奠定”了我在部门中作为“程序员”的角色和位置了。

而在这个时候,ASP和SQL Server 2000的书本,我也从头到尾完完整整地学了一遍,那些基础理论知识我也算是掌握了。终于,我可以不用再熬夜学习了,我终于喘过气来了。

《当程序员的那些狗日日子》(五)工作中,工作外

和经理共事了几个月的时间,我对他也慢慢了解起来。他大概比我大三岁,来自新疆,但却是汉族人,是人民大学毕业的研究生。他说他在这里工作是朋友介绍进来的,他的朋友就是公司现在的总经理。每天中午吃过午饭后,我便和他走到办公室外的楼梯间抽烟,并听他说一些工作上和个人经历的情况。我听得出来他对自己目前的这份工作并不是十分满意,他跟我说他目前的工资并不是很高──但当然比我高多了。我知道他是人大毕业的研究生,所以对他比较景仰,但他却有点不看好自己的感觉。他跟我说,当他像我这个年龄的时候,他也曾经很有激情,很有理想,很有斗志,但随着时间的慢慢过去和年龄的慢慢增长,对社会接触和了解多了以后,人就变得没激情没理想没斗志了,只想找份稳定舒适的工作。他的这种“过来人”之谈,此时的我似乎还不能理解。他说,当你到了我这个时候,你就会明白了。而当我真的到了二十八的时候,我真的明白了,理解了,什么激情理想斗志,都会在年复一年的重复工作中慢慢消失。

我知道目前公司这座“小庙”容不下经理这尊“大佛”,某一天他应该就会离开的,而且那天不会太久。不久后公司人事变动,此时的总经理,即经理的朋友,被总公司调到其他职位去了。紧接着经理告诉我,他在中关村那边找到新的公司了,还不错,所以他要辞职了。少了朋友的关照,经理要走便顺理成章。大概是他新公司那边要人要得紧,所以经理提出辞职后第二周就没来上班了,自然很多工作都没交接完,结果令当时挺看好他的那位北京人行政大哥大叹这小子怎么这样做事,这太令他失望。按正常是要提前一个月提出辞职的,但“一个月太久”,所以“只争朝夕”。也许谁都没有错的,错的是我们处在了这样的时代。

虽然和经理的共事就这样画上了一个句号,并且后来我也和他失去了联系,但至今我都不会忘住,我的第一份“程序员”的工作是他给我面试的,是他给了我这个工作机会。

对公司和同部门的其他同事,我也慢慢了解了。公司是一家专门从事演出、体育赛事等门票的经营、代理和销售的公司,其所属的总公司则是一家文化艺术公司,据说总公司老总原是文化部的一名官员,所以凭着老总的关系,使得几年前我们这家子公司得以独家涉足演出票务行业,而且当时北京的演出市场正火爆,我们公司便赚得盆满钵满。但是后来形势发生变化,很多公司加入了竞争的行列,而且我们公司那些积累了经验和资金的员工,也纷纷出来“自立山头”,于是公司便一下子失去了当初的良好势头,只维持着一种不温不火的状态。我便是在这个时候进入公司的。

大概是因为总公司是文化艺术公司,而我们子公司又是跟演出票务行业相关的公司,这让我感觉到公司特别有那种“文化”的氛围。办公室商住两用的格局,显得很闲适自然,铺的是光洁漂亮的棕色木地板,显得简洁大方,而且办公室里外到处贴满了近期港台和大陆明星的演出海报,所以置身其中,就像被浓浓的文化艺术气息包围着,情操似乎都得到了陶冶。这种氛围,在我后来进入了一家“电子科技”公司后,是根本无法感受得到的。也是在后来,我才慢慢清楚了,我骨子里更多的是个“文化”人,而不是个“科技”人,虽然我是工科专业毕业,并且做的是程序开发的工作。

经理走后,部门里就剩下我和另外两位女同事,她们都是在公司当年业绩很好的时候进入公司的,可谓是资深员工。一位来自江苏,姓魏,大家都亲切地叫她小魏,因为她大概比我大两岁,所以我也亲切地称其为“小魏姐”。另一位则是北京人,她的名字很特别,叫小京,大概比我大三岁,但是她倒愿意让我直称她为小京。小魏是做公司网站订单的处理的,性格直爽,平易近人,有时有一点可爱的孩子气;小京就是那位美工,性格温柔细腻,是个贤妻良母型的职业女性。她们俩进来公司时都是二十二三岁,此时小魏已是谈婚论嫁的年龄,而小京则是新婚不久,她们可谓是在公司度过了女人最美丽的时光。看得出来她们两人感情很好,像一对好姐妹,由于小京外形上更娇小一些,而小魏则更会关心人一些,所以看上去倒是小魏像个姐姐。

虽然不久后部门又招过一个男同事和一个女同事,但他们不久后又都走了,所以小魏和小京后来便成了和我一起共事时间最长的部门同事,我和她们都变得很熟。而且,在我以后的其他工作经历中,同部门里再也很难见到女同事。所以直到现在,我都对这一工作经历印象深刻,都还清楚地记得当时和她们一起共事的情景。人生中总是人来人往,有些人你见过了但很快就会忘记,但有些人则会让你一直记住,小魏和小京就是这种可以让我一直记住的人,尤其是在我刚走上“程序员”这条职业道路后并在技术“成长”过程中所共事的同事,对我来说意义很不一般。直到现在,小魏都还是我QQ上的“好友”,我都还是亲切地称呼她为“小魏姐”。

经理走后,小京就暂代经理一职,这一暂代,就代到她放产假时才结束。

公司有专门的销售部门,但是他们做业务的方式跟我刚毕业后做业务员时的方式很不一样,他们的客户是属于自己的,他们只是从公司里提票,公司从中赚钱并提取一定比例的金额。所以这些同事工作都很积极卖力,而且他们有时不从公司里提票,而是通过各种关系找外面的“黄牛”拿更便宜的票来卖,所以只要能找到客户,他们都很能赚钱。他们中有几个同事,积累了不少固定的客户,业绩都做得很好,所以工作是越做越轻松。

其中有一个同事叫恩,来自安徽,比我小一岁,但人很精明,也很有想法和冲劲,就像我刚毕业时很有冲劲一样。由于工作上他要经常过来问我一些问题,一来二去,我就和他熟悉了。私下交谈时他跟我说他想做一个跟公司网站类似的票务网站,问我能不能帮他做。但是由于我还是公司员工,有保密的问题,而且此时我觉得技术上还是不太胜任,所以并没有答应他。不过,这也让我知道了他们销售部门的不少同事,在外面都有自己的票务网站。

就是在这时,我第一次闪过了一个念头:我能不能也自己搞个票务网站,像他们一样做票务的业务?但是很快我就打消了这个念头,因为提票需要提前交部分票款,如果提的票很多,则要交很大的数额,这是我无法承受的,而且网站运营前期也要投入一笔钱,这笔钱我也无法支付。

所以念头打消后,我还是决定专心地做好手上的工作。当时我有点偏执地想,既然不能往业务方面去发展,那就专心地搞技术吧,等我把技术搞好了,我也一定能像他们一样赚钱的。但是后来的事实证明,即使我搞技术付出的努力比他们多很多倍,我仍然不能像他们一样赚钱,而只能是挣份不高的工资。

也是在这时候,还有一个销售部门的同事,姓程,也是来自东北的,我和他也很谈得来。他比我年长好几岁,我便称他为程大哥。后来我们也成了关系很好的同事和朋友。

直到这个时候,我仍然没有完全放开自己,仍然有意识地将自己“封闭”起来,仍然担心被同事知道我那个“善意的谎言”,仍然承受着很大的心理压力,所以这也直接限制了我跟同事作更深入的交往和发展自己的人脉关系,并且也导致了后来我变得有点自闭起来。很久以后回想起来,这真的是我为这个“谎言”所付出的很大的代价。

与欣和梅合租一套房子,共住了好几个月,我对她们也比较熟识了。欣似乎是个比较物质的MM,追求似乎很高。虽然好几次老乡跟我开玩笑说她还没男朋友,“近水楼台先得月”,让我不妨考虑一下,但我还是没有去多想。第一是我觉得欣并不是我所期待的那种类型,第二是我觉得目前我需专心地搞技术,不想分心。反而是梅,我对她的感觉似乎更多一些。梅是做礼品业务的,而且还做得不错,业绩很好,所以我心里挺敬佩她的,觉得她这么一个小巧的MM,能做出这样的成绩,很难得。

梅的同事宇和梅一样,也是做礼品业务的,他偶尔会到我们合租的房子来玩。宇大概比我小一岁,长得挺阳光帅气,有着东北人的那种豪爽,很乐意帮助梅。与梅比起来,宇的业绩则要差很多,因为他刚入行不久,工作还不得法。虽然和宇只见过几次面,但我感觉和他很投缘,很快就和他聊得很熟,这大概是因为此时我和他在工作上都有点失意,有点惺惺相惜的感觉。

渐渐地我知道了宇对梅有意思,正在追求梅,但梅似乎对宇并不响应,所以让宇有点苦恼。我看在眼里,所以便帮宇制造机会,让他周末有空就过来玩,以让他可以多跟梅接触。在我看来,宇的外表完全配得上梅,所以就很奇怪梅为什么对宇不动情。

有一天晚上吃过晚饭后,我在厨房里帮梅洗碗筷,并和她闲聊起来,然后就聊到了宇。我说宇人很好,问她为什么却这样对宇。梅自然明白我的意思,便很坦率地说,第一是她觉得宇比她小,但最重要的一点是,她是广西人,而宇是东北人,虽然他们现在都在北京,但她始终不想远嫁到东北去,所以她便不能答应和宇发展感情。听梅这么说后,我便明白了。

这一次,我和梅聊了很多,聊彼此工作的情况,聊各自过去的经历,我发现我在说话的时候,梅很认真地听,尤其是当我说起我通过自学而走上“程序员”这条道路的时候,梅的目光中流露出一种赞赏,或许是她赞赏于我的决心和毅力。当跟梅说出了这些情况后,我发现我心里轻松了许多。原来有人聆听自己说话也是一种放松和减压的方式。

帮不上宇的忙,见到他时我便只好安慰他,让他看开点。但是宇似乎还是对梅不死心,我只好感叹“问世间情为物,直教人有点痴痴”。

有一天老乡告诉我,说欣在外面认识了一个男的了,北京人,开着一辆奥迪车,应该挺有钱的,但那男的已三十多岁了。果然有一天欣带着那个男的回来了,那男的看上去的确有三十多岁,但欣带着他只在我们面前打了声招呼后,就带他进她的房间了,所以我并没有仔细看清他的模样,但看得出来他很老道,不是我和老乡这种“小屁孩”能比的。

当时我心里便在想,欣怎么能找这么一个“老男人”呢?难道仅仅是因为他经济条件好就和他在一起吗?很久以后当我快三十岁的时候,我才理解了,女人,不就是就想找个好归宿吗?女人最美丽的时光就那么几年,此时不找个条件好一点的,难道要找个像我这种天天要熬夜学习技术而又挣钱不多的程序员?反过来说,当我有钱了,难道不想找个年轻漂亮的女人?可见此时我的思想是多么的僵化甚至迂腐。后来我知道,一门心思投入到技术上面去,的确会让我有意无意地拒绝对新事物的接受,让我的思想变得保守。

《当程序员的那些狗日日子》(六)继续熬夜学习的日子

公司换了两个临时总经理后,最终总公司老总把他的儿子推上了总经理的职位。他们姓李,所以就分别被称为老李总和小李总。小李总和我是同样的年龄,听说早年调皮捣蛋,所以老李总便把他送到国外去留学,镀了一层金后回来,然后去了索尼北京分公司工作,此时则“临危受命”,回到他老爸的身边接管这家子公司。所以小李总即使算不上是大“富二代”,也算是个小“富二代”了。无疑家庭出身可以在很大程度上决定一个人的起点。相比之下,此时同为25岁的我,是完全不能比拟的。

从言谈举止来看,这位小李总并不像传闻中所说的那样调皮捣蛋,而是显得很和善和很有礼貌,也许人总是会变的。他上任后,便到我们部门来了解公司网站的情况,因为公司网站对于公司业务的运作还是很重要的。而且他在知道了我是去年底入职的新员工后,也主动地来了解我的工作和待遇的情况,并且,对我来说最有意义的是,他在知道了我的工资还是试用期的标准时,竟主动帮我提到了转正后的标准,真是令我十分感激。

了解了网站的情况后,小李总便对有关网站的工作任务作出了安排:先做一个网站访问量统计系统,再做一个网站论坛系统,并慢慢考虑对网站进行改版。

于是几道难题便摆在了我的面前,我也便按照小李总的安排,先做网站访问量统计系统。虽然网上已有很多现成的网站访问量统计系统,但都跟小李总的要求不太相符,而且更重要的一点是,我并不想拿别人的代码来改,而想自己来做,因为只有这样,才能提高我的开发水平。

跟之前所做的产品搜索功能、日历功能和那些小功能相比,网站访问量统计系统还是大不一样,这要复杂很多,开发的难度要大很多──对于那些高手来说可能就是轻而易举的事情,但对于此时的我来说难度的确不小。

但是往往很多事情只要你迈出了第一步,就可以再迈第二步、第三步,甚至更多步。凭着心中的一股拼劲及刚掌握没多久的那些理论知识和实践经验,我开始了网站访问量统计系统的开发了。因为系统是供公司内部使用的,对网页设计的要求并不是很高,所以从数据库的设计到网页的制作,再到程序的编写,我都一个人来做,而不用再让负责美工设计的小京来做网页。

也是在这个时候,我算是真正开始了数据库设计的最初实践。我不得不说,公司网站的数据库还是设计得很规范标准,这对于对SQL Server 2000刚上手没多久的我来说很有指引意义,这让我初次真正明白了如何建立表与表之间的关联,如何使表设计得更加合理,可以说,后来我对数据库的良好设计,都是从这里得到启发的。

网站访问量统计系统的开发便按部就班地进行着。很多东西都可以触类旁通,所以我也越做越变得顺手。

如果就只是用ASP的话,那么我后面的工作应该就不会有什么大问题了,但偏偏公司网站的程序是用ASP.NET开发的──当然此时还是ASP.NET 1.1──所以虽然我可以暂时用ASP来做网站访问量统计系统和后面的网站论坛系统,但如果要真正改动网站的核心功能,我用ASP还是无能为力。所以我要想真正胜任工作,就必须要学ASP.NET。

事实上此时我对于ASP.NET为何物还不是太了解,只知道,它比ASP多了“.NET”这几个字符,觉得它应该是ASP的升级版本或者高级版本。但是正如一开始我对ASP也毫不了解却学起了ASP一样,我想,通过学习,我也可以对ASP.NET了解起来的。

于是我再次到北京西单图书大厦买了两本ASP.NET程序设计的书。由于公司网站的ASP.NET程序是用VB.NET语言编写的,所以相应地我还买了一本VB.NET的书,而没有买C#的书。事实上此时我的老乡也是刚刚接触ASP.NET,所以这一次,我几乎是和他站在了同一条起跑线上。

于是白天上班我便专心地做网站访问量统计系统,晚上回到住处后则拿出ASP.NET的书来学习,周末休息的时间我也基本上在学习。因为其中一本ASP.NET的书,在前面的章节里有专门介绍VB.NET的基本语法,所以我可以先不用专门去学VB.NET那本书。

因为有了ASP中VBScript语法的基础,所以VB.NET的语法学起来并不难,而且,这些语法都是基本的,可以让我由浅入深。VB.NET的基本语法学完后,便是真正的ASP.NET语法的学习。

我不得不说的是,这一本由中国铁道出版社出版的ASP.NET的书,跟我之前买的那本ASP程序设计的书,可以说是姊妹篇,都是相同的出版社出版,相同的作者编写,封面的设计效果都几乎是一样。正是因为我觉得那本ASP的书编写得很好,很有利于初学者学习,所以我才专门挑了这一本ASP.NET的书。而事实上,当我开始去学习这本ASP.NET的书后,也真的觉得它的编写很有利于我这个ASP.NET的初学者学习。

同样地每天晚上我都学到很晚才休息,学习的过程同样是艰苦的,但在艰苦中我更找到了一种学习的乐趣和动力。每当学完了一个ASP.NET的知识点,我都觉得又有了新的收获,我又向前走了一步。也许正是因为这种发自内心的最纯粹的对知识的追求,才让我可以克服重重困难,不继地学下去。

学习之后我才发现,原来ASP.NET并不能简单地看作是ASP的升级版本或者高级版本,而是微软推出的网站程序开发技术的另一个全新的版本,或者说是ASP的一次彻底的“革命”。对ASP的机理刚刚熟悉起来,马上又被ASP.NET全新的概念冲击着。的确,用ASP的思维去理解ASP.NET是一件几乎行不通的事情。

从学习JavaScript和ASP开始,慢慢地,我也形成了适合自己的一套特别的学习方法──当然这是对书本的学习而言。学习的过程中我会拿出一个本子,边看书本的内容边将那些关键的知识点在本子上写一篇,然后我就可以很牢固地记住这些知识点,而不是边看书边上机操作。正是通过这种方法,我学完了JavaScript、ASP和SQL Server 2000那三本书,而且学完以后上机实践时我都能够很好地将书本上的理论知识和实际操作对接起来,而不会出现理论知识跟实际操作脱节的情况。所以在学习ASP.NET的过程中我也同样是用这种方法。

这本六百多页的书,我就这样一页一页地学习,往往学完了一个章节后,看到后面还有那多没学时,我就在想,这本书我什么时候能学完,那种一下子想将它学完的欲念特别强烈。但我却很清楚,学习求知的过程不可能有捷径,必须要一步一步来,一点一点去学。这就是技术的学习,没有捷径可走的技术学习。

所以学习ASP.NET也成了我几乎每天晚上必做的事情,我也继续着熬夜学习的日子。每当熬夜熬得很累而不得不要停下来去休息的时候,我就在想,明天继续再继续,我一定能将这本ASP.NET的书学完的。我知道,这是一种很强烈的信念,有了这种信念,很多事情都可以得以实现。

《当程序员的那些狗日日子》(七)悄悄改变的人和事

很快就到了“五一”七天长期。想想从2003年的9月份到这时,我已有一年多快两年的时间没有回过家了,所以我决定趁假期回家一趟。我的老乡也回去,所以我们便一道而行。

怀着激动、感慨、高兴而又有点难过的复杂心情,我终于回到了家里。有点难过,是因为我离家快两年了,我并没有“衣锦还乡”。

到家的时候已是晚上,当转过到我家的那个巷口,我远远地看到家门前巷子里我母亲的时候,我就忍不住大声地叫了一声“妈”。那一声,真的喊出了我心里面藏了很久而不能表达出来的思念之情。我母亲见到是我后,也有点难抑心里的激动,深情地应了我一声,然后说,“你回来啦!”是的,我回来了,别了快两年后,我回来了。

这时候,我见到了一个很小的小孩子和我母亲在一起,那小孩子见到我后,怯生生地看着我,用他那双还不太懂分辨世界的充满童真的眼睛看着我。我母亲指着我对小孩子说:“快,叫舅舅!”

原来这个长得还水灵灵的小孩子,就是我姐姐的小儿子,我的小外甥,一个还不到两周岁的小男孩。听到母亲让他叫我“舅舅”的那一刻,一种莫名的感觉突然涌上我的心头,我不知道这是一种怎样的感觉,是开心,是意外,还是其他?在我上次离开家的时候,他还没来到这个世界上,但此时,他却已真真切切地站在我的面前了,我似乎一下子接受不了这种角色的转变。在这一刻,我才完全真实地确定,我已升级当舅舅了,这也意味着,我已开始进入了人生的另一个阶段。

我随即抱起这个小外甥,也试着让他叫我“舅舅”,但他这时还没学会说话,而且他对我这个“陌生人”也有点怕生,所以挣扎着并不想让我抱,我便只好放下他。

我也见到了父亲和姐姐。然后父母和姐姐都张罗着给我弄吃的,那情景,让我这个在异乡漂泊多时的游子感受到了在家的温暖。

第二天白天的时候,我才看清楚,原来父母都老了许多,白发已爬上了他们的鬓角,脸上的皱纹也明显了许多。岁月,让小生命来到了这个世界上,也让长辈的容颜变老。我拿出几百块钱递到父母面前,这是我想给他们的一点心意。虽然离家快两年,但我有一部分时间没有工作,而且工作挣的工资也不多,所以扣除了来回路费和一些需应急的钱后,我就只剩下这么多了。

然而父母却没有接我的钱,父亲说,“儿子啊,你就留着自己用吧,爸知道你一个人在外不容易,爸帮不上你的忙,但是我还是希望你能过得好一点。”

听到父亲这么说,我便没有再推让,我知道父亲的性格,他决定了的事情,便不会再改变。但是我心里却很不是滋味,我只是想尽一点做儿子的心意,但我都不能让他们坦然地接受,还要他们为我操心。

我见到了我的曾祖母,她已不能独自走动,只能躺在床上,由我祖父照顾,我的心被深深触动。上次离家时,她还行走自如,而此时却已不再是往日情景。

我祖母在我父亲还很小的时候就和我祖父分开了,所以在我的感情世界里,我曾祖母就像一个祖母的角色。我离家在外尤其是上学的那几年,每次我回家后再出去的时候,我曾祖母都会给我一个利是钱,希望我出门在外顺顺利利,平平安安,所寄托的是一种长辈祈求自己的子孙平安顺利的感情。然而此时她却只能躺在床上,这令我心里很难过。这快两年的时间里,她是怎样变成这样的,我没有看到,也不知道。此时我唯一可做的,就是给她一点钱,算是我的一点心意,并多陪陪她。

原来,在这快两年的时间里,我最亲的家人,都在悄悄地改变着,这些改变,既有小生命到来所给我带来的喜悦,更有长辈变老所给我带来的难过。但是我知道,那些难过的改变还会继续在改变。

我也见到了小时候和我一起长大的小学同学,他们中的不少人已结婚了,有的已做了父亲,已不再像我一样,还是单身一人。他们都变了。

可是,我不是也变了吗?几乎每个遇到我的熟人都说,你瘦了。这是真的,我真的比以前瘦了,而且这一瘦,在以后的很长时间里都没有胖起来。

《当程序员的那些狗日日子》(八)床上等你

在家短暂停留后,我又要离开家而到北京去了,心中虽有不舍,但还是不得不告别家人而再次北上。

返回北京后,我又继续着白天上班做网站访问量统计系统、晚上回到住处后熬夜学习ASP.NET的日子。

有一天老乡告诉我说,他恋爱了,那个MM是同学介绍的,之前和她在QQ上已聊了很久,最近出来见面了,两人都觉得合适,便决定相处。我这才想起,之前很长的一段时间里,晚上老乡回到住处后都经常在QQ上聊天,以前他是很少这样的,原来是在和MM发展感情。

老乡比我大一岁,人很踏实,上学时没有谈过恋爱,这是他后来一直觉得遗憾的事情。工作后开始考虑找个女朋友,和几个MM交往过,有去追人和被追的,但都没成,此时却最终尘埃落定,确定了人选。最让我印象深刻的是,他曾为了一个MM而熬了好几个晚上,用水木年华的那首《一生有你》做了一个Flash,可惜最终都没能打动那个MM。所以此时他也总算得偿所愿,找到了自己想找的人。

当时还没想到的是,这个MM后来最终成了老乡的妻子。后来我才明白,老乡其实对自己的人生很有规划,上学,工作,恋爱,结婚,生儿育女,奋斗前途。而我此时却根本还没有这样去规划过,只觉得结婚还是遥遥无期的事情,就连该找个女朋友了,都没有好好地考虑过。后来几年时间一晃而过后,我才深深地体会到,有些事情必须要在适当的年龄去做,否则时间一旦错过了,再去做将难上加难。

不久后我家中的一个好兄弟戈要到北京来玩,并看看在北京有没有好的工作机会,所以他找到了我,并在我们合租的房子里一起住。正好老乡说他的女朋友想搬过来一起住,好让他们两人互相有个照应,所以我便决定和戈搬出去住。

我和戈搬到了东直门的一个叫万国城的高档楼盘的地下室里,这里离我上班的地方很近。这是我唯一一次住地下室的经历。我们住的地下室在地面三层以下,虽然里面装修得还算可以,但待在房间里时间一长,就会觉得很压抑,尤其是晚上,睡觉都有种不踏实的感觉。虽然我们房间的窗户外可直通地面,阳光和通风都很好,但那种被深深地困在地下的感觉还是让人觉得很难受,像是与世隔绝了一样。

住在地下室,我们不能自己做饭,所以晚上我和戈都跑到万国城旁边的那些小食店随便吃一顿。那些毫无营养的饭菜,加上中午我在公司也吃得不是很好,所以很快我又很明显地瘦了。虽然戈的身体好,但他明显也瘦了。不久后戈更患上了失眠症。

有时候晚上我们便走到地面上,在万国城楼盘里的一个供休闲的石级上静坐。看着这气派的楼盘,这与楼盘下面我们所住的地下室简直形成了鲜明的对比,真是上面是天堂,下面是地狱。我们望着远处黑暗的夜色,只能见到其中的几点灯光,这仿佛就是我们的前途,正一片黑暗,只有几点微弱的亮光在闪动着。戈说,“兄弟,我是不是连累了你?我是不是想得太简单了?”我明白戈的意思,他觉得让我陪他一起住地下室他过意不去,而且他没想到在北京找工作并不是那么容易。但是我坚决地对戈说,是兄弟就不要说这样的话。

为了放松一下心情,一个周末我和戈及我的老乡相约一起去游颐和园,并照了不少照片。很久以后我翻出这些照片来看,竟有种莫名的感动,因为这让我记起了我和我的好兄弟曾在北京“落难”过。我也才发现,这时的我真的是瘦到了最低点。而且,所谓“相由心生”,相片中的我不经意间便流露出了一种彷徨和落泊的感觉。所以后来这些照片我一直都不想拿出来给人看,因为,我不想让人再看到我曾经落泊的样子。

不知从什么时候起,我发现了一个IT技术交流的网站,它的英文简称就叫做CSDN。这不是别人介绍的,也不是从报纸杂志或电视上看到的,而是,我在网上搜索与技术相关的问题时通过链接进来的。这时我还不知道这个网站的鼎鼎大名,但是这完全不妨碍我很快就被网站中论坛里的文章所吸引。这里除了有很多技术方面问题的讨论和交流外,还有很多技术“牛人”所发表的有关自身经历的文章,这些文章令我看得津津有味,这让我第一次从网上近距离接触到了技术“牛人”,感受他们激昂的思想。原来,这里是一片广阔的技术天空,我像是找到了我心里原本所期待但又不是很清晰的“革命阵地”,让原本还找不到准确方向的我得以确定前进的方向。

于是我在工作之余一有时间就上CSDN,游走在其中的帖子中而不想离开。每每看到帖子中介绍那些技术“大牛”非比寻常的学习和工作的经历时,我都会变得激情澎湃,热血沸腾。我仿佛看到了将来有一天我也变成了像他们一样,成了一个技术“牛人”,然后再对技术侃侃而谈。

慢慢地我也知道了这个CSDN网站的名气,它号称是“全球最大中文IT技术社区”,它几乎是每一个程序员都会上的IT技术网站。虽然我一直搞不清楚它的英文全称是“Chinese Software Develop Network”、“China Software Develop Network”还是“China Software Developer Network”,但是它却有一个被其上面的程序员用来调侃的“别名”叫“床上等你”,CSDN即为“床上等你”的拼音全拼的首字母。这不管是巧合还是意外,都让“CSDN”多了几分轻松的色彩和调侃的意味。我现在都还清楚地记得,它那时的帖子页面是一页到底、没有分页的。

带着对CSDN上技术“大牛”的崇拜和向往,每天晚上回到租住的地下室里,我更加努力地学习ASP.NET。虽然地下室的条件比原来和老乡合租的楼房要差了很多,但我完全不受影响,反而更加有动力,而这种动力,我想,毫无疑问是受到CSDN上技术“大牛”的影响而产生的。看着ASP.NET那本书上的一行行的程序代码,我仿佛看到了一行行优美动人的音符,这一行行的程序代码拼凑起来就是一曲曲美妙动听的旋律,我也仿佛在这一曲曲美妙动听的旋律中看到了一片光明的前途。

戈问我,你那本书上写的是什么东西啊?太深奥了啊,我一点都看不懂。我跟戈说,你不懂没关系,钞票你懂吗?万国城气派的楼房你懂吗?美女你懂吗?你都懂吧!这就是钞票,这就是气派的楼房,这就是美女。戈听我说完后,似懂非懂地点了点头。

“书中自有千钟粟,书中自有黄金屋,书中自有颜如玉”,这是古代读书人的人生信条,此时刚开始站在IT技术浪尖上的我,也以为只要学好了编程,就自会有粮有房有女子,有我的“颜如玉”跟我说,“床上等你”。但后来的事实证明,程序中并没有千钟粟,程序中并没有黄金屋,程序中并没有颜如玉,有的只是冷冰冰的、枯燥的代码。

《当程序员的那些狗日日子》(九)秋与冬

日子一天天过着,网站访问量统计系统也渐渐成型,看着这个完全由我自己一手开发的系统一天天完整起来,我心里有一种难以言表的喜悦,因为,这是我自己第一次相对完整地做一套系统。同时,那本ASP.NET的书我也学了快有一半,我也越来越有信心很快就可以将它学完。

前后历时两个多月后,网站访问量统计系统终于做完了,摆上线的那天小李总亲自查看了一番,他看后觉得很满意,这正符合他所预期的效果,并且他当面表扬我做得很好。受到肯定,我心里感到很欣慰,总算我的努力没有白费。

两个多月的时间,对于那些高手来说可能太长了,但对于此时刚刚起步的我来说,还算可以了,而且时间也在小李总要求的范围内。至此,通过网站访问量统计系统的开发,我开始积累起了一些ASP + SQL Server 2000的开发技巧了。有时经验往往就是这样积累起来的,只有通过实践,才能让自己的水平得到进步。

这个网站访问量统计系统还是能对公司网站的运作起到一定的作用,通过它,可以知道公司网站年、月、周、日的总访问量及每个页面的单独访问量;访问者是通过其他搜索引擎网站进来的,还是直接输入公司网址进来的;通过其他搜索引擎网站进来的,都用了哪些关健字;等等。这对公司网站在搜索引擎网站上做竞价排名等各种推广很有指导意义。

网站访问量统计系统的开发完成,一方面,坚定了我在网站开发技术的路上走下去的信心,另一方面,也让我看到了,前面的路还很长很远,要想很好地走下去,还要付出很大的努力。但是这时我已不再感到惧怕,因为我已可以从完全不懂到开始掌握起来了。

按照工作任务的安排,我又继续开始做网站论坛系统。同样地,根据小李总的要求和我自己的想法,这一次我也是决定自己来做,而不想拿网上那些现成的论坛系统来改。

每天同样是白天上班做网站论坛系统,晚上回到住处后学习ASP.NET,周末休息的时间也基本上在学习,时间在一天天过去,不知不觉中,北京的炎热已渐渐消退,天气已开始转凉了。初秋的北京秋高气爽,天气十分舒适宜人。去找工作多次失望而归的戈决定不再去找了,所以他就想在北京好好玩一段时间后就回家,此时才是初秋,但是他希望可以看到北京下过一场雪后再回去。

趁着舒适的天气,一个周末我和戈随意去游北京城,感受秋天里北京的繁华;去爬香山,观赏香山的美丽红叶和浓浓秋色;去登长城,在长城上做一回“好汉”。站在由题词的“不到长城非好汉”的石碑前,戈说,“我也做了一回好汉了!”是的,我们都做了一回好汉。但是我知道,在现实中要想做一回真正的好汉很难,直到现在,我都觉得自己不是真正的好汉。

北京真的很繁华,香山的红叶真的很美,长城真的很古老神秘,北京的机会也真的很多,戈说,“兄弟,我已知道了北京不是我混的地方,但是我还是衷心地希望,你可以在这里混出名堂来!你那些书上的东西我真的不懂,但是你说的我懂,钞票,气派的楼房,美女,我懂,我也喜欢,我想这也一定是你所喜欢的。我知道你每天都熬得很累,继续努力!兄弟我为你打气!”

戈的一番话,令我有点难过,也令我心里感动异常。难过是因为我知道戈这段时间经受了不少挫折,感动的是,戈懂我的心。是的,我真的熬得很累,我也希望可以混出名堂来,我同样喜欢钞票、气派的楼房和美女。但是要想得到这些,比登长城难很多。但是“路漫漫其修远兮,吾将上下而求索”。

不久后又是一个中秋节,我和戈一起去找到了我的同学大伟。这时大伟已有了较大的变化,他早已从通州那家小变压器厂离职,先到一家与我做业务员时那家公司类似的电力公司,大概一年后又跳到西门子旗下的一家公司,也是做着与专业相关的工作。凑巧的是,勇后来从天津电建分公司出来后,也跳到了和大伟同一家公司,而且这家公司的老总和我原先所在那家公司的老总,都是从老大所任职的那家电力公司出来的。我们专业的就业范围其实很固定,都是跟电力相关的,所以那个行业里的公司数都可以数出来。这时大伟跳到了西门子旗下的公司,而勇则继续留在那家公司,而且后来勇一直都在那家公司做着。

这时大伟算是在一个新环境里重新开始,他对这份新工作也算比较满意,但是由于之前他报名参加了一些课程的进修学习,费用不低,他所挣的工资都用上了,所以此时他的环境也不是很好。大伟所租住的地方是在南二环边上的一个平房区,同样的破旧落后,各色人面混杂其中,环境比我原来住过的梆子井平房区还要差。

这一晚,我们三人在大伟所住附近的一家小饭馆吃饭喝酒,很普通的饭菜,也是很普通的燕京啤酒。我们边吃边喝,既有碰杯时的痛快,更有借酒消愁的失落。这又是一个在异乡度过的中秋节,我们把酒对明月,但明月却不明我们的心。大伟对我说,“兄弟,没想到你真的走上了程序开发这条路,看来你已完全脱离了我们这个专业了,我佩服你当初的勇气和决心。”大伟说得没错,我早已脱离了我们所学的专业,而走上了一条与大伟等人完全不同的职业道路。

临近10月份时,我的老乡跟我说,梅和欣都想搬走了,问我想不想搬回那套楼房去住。我和戈早就不想在地下室住了,所以当然很乐意搬回去住。

梅和欣搬走后,我和戈接着便搬过去了。我们终于离开了地狱,虽然没有上到天堂,但始终是回到了正常的人间。这次之后,后来我和欣便失去了联系,但和梅还一直保持着联系。不知欣现在是否已如她所愿,找到了她的好归宿呢?

老乡的女朋友叫丽,是老乡同学的同事,在一所民办学校教书。此时他们两人已在热恋中,关系十分甜蜜。丽平时都是住在她所任教的学校,周末有空才过来找老乡。

我和老乡白天上班,所以戈大部分时间便一个人待在住处,晚上则提前为我们做好晚饭。戈是那种很有男子气慨的人,以前在家里都是很少下厨做饭的,都是“饭来张口”,但这时却要亲自动手为我们做晚饭,真是让我觉得过意不去。

可以自己做饭吃,一段时间后,身体本来就很好的戈,气色很快就好起来了。这总算让我感到些许安慰,因为虽然戈工作没有找到,但总算不至于他来了一趟北京我却让他饿着了。

有一天丽过来玩,带了一个她的姐妹盈过来。盈看上去比我小好几岁,是个小女生,长得不算漂亮,但却是很活泼可爱和聪明伶俐的那种,嘴也很甜,见到我们都叫“哥”,而且她那口很有北方味的普通话,听上去让我觉得很亲切。原来盈就住在我们住处附近,此时正在一家餐厅里上班,做啤酒推销的工作。我发现和盈挺聊得来,觉得她就像一个很可爱的小妹妹。后来我知道,盈比我小五岁。

丽带盈来过几次后,我们都和盈变得很熟了。虽然后来丽还带过她其他的姐妹来过,但是盈却是唯一一个让我觉得很聊得来的。盈此时没有男朋友,她说她上学时谈过一个男朋友,但后来分手了。戈跟我说,你也还没女朋友,不妨考虑一下,先谈几年恋爱,等你快三十了,她也不小了,然后你们就结婚。这时,我也才闪过一个念头,其实是可以考虑找个女朋友了。但是对于结婚,我心里仍毫无概念。

虽然此时我和初恋女友已分手两年多了,我也算是从那段感情中走出来了,但是对于要重新找个女朋友,我心里也没有特别强烈的想法,我不知道是否因为我还不想让另一个人走进我的内心,还是我此时只想一心去学好技术,而不想分心在感情上。所以对于盈,我只是和她不温不火地交往着,这时我更多的是把她当成一个妹妹来看待。所以有时盈过来玩,她走时我会送她回去,但也仅仅是止于送,而并没有进一步的行动。

和初恋女友分手后,慢慢地我就有了一个想法,那就是对于男人来说──或者说对于我来说──一定要先有事业,然后再有爱情,即使没有事业,也要有一份过得去的职业。但是这时我却还不懂得,一个男人,在他25岁的时候,他可以没有钱没有事业,也可以先去找到一份感情的,因为他有的是年轻,年轻就是资本,他可以找到一个女人陪他一起去奋斗。但是当一个男人到了30岁的时候,他还没钱没事业,再想去找到一个女人陪他一起去奋斗,那就太晚太难了。正是因为这时的我还不懂得这些,所以并不知道有些事情是经不起等待,不是等你什么都具备了以后才去做。如果一个女人跟了你几年,到你30岁时还没钱没事业,但起码两人有了几年的感情,也许她就不管你混得怎样,她都认定以后就跟着你了。

此时梅和宇都已从他们原来的礼品公司离职了,宇跳到了中关村的一家公司。我和宇一直保持着联系,他有时还是会过来我们的住处玩。虽然和梅不在同一家公司了,但宇对梅似乎还没放弃,只是梅对宇的态度还是一样,并不动心。

宇来过几次后,戈和他也熟悉了,所以加上老乡,我们四人有时便一起吃晚饭喝酒,听戈说他以前出来混“江湖”的故事。戈比我们都大,他以前的人生经历跟我们都不太一样,他那些“江湖”事迹,让我们听得津津有味。很多事情戈都是第一次在我面前说起,他那些经历,是我这种在校园里走出来的人所不能经历到的,他说起的那些打斗场面,更加是我玩不了的。从这方面来说,戈是条硬汉子,而我不是,所以我从心里对戈充满敬佩。

有时喝酒喝得兴起,宇就不免流露出一些感慨,既感慨工作不够如意,也感慨对梅的追求没有结果。虽然对于梅的事情他没有明说出来,但是我能感觉得到。

有一天宇跟我说,他们公司有一女同事,人挺好的,他想介绍给我认识,问我意思怎样。一开始我并没有表示怎样,隔了一段时间后宇又问我,他说他那女同事也有意思想认识我。宇的热情难却,我便说可以先认识一下,然后宇就把他那女同事的QQ号码给了我。

宇的同事叫芹,和芹在QQ上聊了一段时间后,我觉得她人也挺好的,于是便和她及宇约好了一个时间出来见面。正如先前对她的感觉一样,芹是那种善良传统的女生,而且她是家中独女,比我大一岁。来往几次后,我感觉到芹是想找个很快能结婚的人,这偏偏是这时的我没有想过的,我还担当不起这些责任。所以后来我就没有再和芹作进一步的交往,只是在QQ上保持着联系。如果这时让我在盈和芹之间选择一个人,那么我可能更愿意选择盈。

转眼时间来到了2006年的1月份,早已进入冬天的北京终于下起了一场较大的雪,戈终于看到了他人生中的第一场较大的雪。虽然我已在北方度过了好几年时间,看了不少下雪的场景,但是对于下雪,尤其是下大雪,我还是很喜欢,心情也会因此而变得很好。

这一天盈正好又过来玩,晚上我送她回去,路上是厚厚的积雪,盈踏着积雪,轻快地跨着步子,心情似乎很好。我走在盈的后面,看着她那活泼可爱的身影,我突然仿佛找到了一种久违的初恋的感觉──我已很久没有试过和一个女生一起从雪地上走过了。我竟有种一闪而过的冲动,想走上前去牵着盈的手。盈也许会拒绝,但是我想她更多的可能是接受。但是我很快又被理智战胜了冲动,因为我知道这一牵,就会代表着什么。我也知道,初恋早已离我而去了。

见到北京下雪后,终于戈决定要回去了。走的那天还下着雪,我送戈去北京西站坐火车。一路上都飘着雪,看着这漫天雪花,我的心情却忽然低沉起来。戈可以回去了,我心里为他高兴,但是我的好兄弟要回去了,而我却还要继续留在这里,我就像天空中飘着的雪花,似乎没有方向,不知飘向何处。

我突然想起了香港Beyond乐队的那首经典老歌《海阔天空》,“今天我…寒夜里看雪飘过…怀着冷却了的心窝飘远方…风雨里追赶…雾里分不清影踪…天空海阔你与我…可会变…多少次…迎着冷眼与嘲笑…从没有放弃过心中的理想…一刹那恍惚…若有所失的感觉…不知不觉已变淡…心里爱…原谅我这一生不羁放纵爱自由…也会怕有一天会跌倒……”,此情此景,不正很符合歌曲中的那种意境吗?歌词里写的仿佛就是我。

在北京西站望着戈过了检票口而慢慢走远的那一刻,我的心里竟是十分不舍。从夏天开始,我的这位好兄弟就陪我在北京一起走过了秋和冬,一起经历了不少辛酸和感动,这种“他乡遇故知”的感觉十分难得。戈消失在我的视线后,我的心里突然有种很孤单的感觉。原来有戈相陪的这段日子,我一直没有觉得孤单过。

这一段难得的经历,后来也一直记在了我的脑海里。

《当程序员的那些狗日日子》(十)编译与反编译

经过几个月的艰苦学习,我终于把那本厚厚的ASP.NET的书学完了。但是有一个问题我却一直没有找到答案,那就是ASP.NET程序是用什么开发工具来开发的,它的程序代码是怎么编译成DLL文件的。我曾以为.NET Framework就是ASP.NET程序的编译工具,此时我还不知道,.NET Framework其实只是ASP.NET程序(当然也包括所有.NET程序)的运行环境。最后还是老乡给我点明了:用Visual Studio .NET 2003(简称VS2003)。

老乡此前也一直在学ASP.NET,原来他那本ASP.NET的书对VS2003的使用有详细的介绍。此外这本书还介绍了ASP.NET编程的一些要点和技巧。于是我决定再学习这本书。为了学习方便,我又特地到北京西单图书大厦买了这本书回来。直到现在,我都很清楚地记得,这本书的作者叫章立民。

我不得不说的是,这本书与我之前所学的那本书,各有特点,但我还是比较偏爱之前的那本书,因为无论是它的编写还是排版,都让我觉得很好,唯一美中不足的地方就是它没有介绍VS2003这一ASP.NET程序开发必须用到的重要工具。所以此时老乡的这本书,就成了最好的弥补。

在老乡的指点下,我在电脑上装上了VS2003。看着VS2003那简洁舒适而又很人性化的界面,我一下子就被深深吸引住了,这是Dreamweaver所不能比拟的。对着VS2003,我仿佛才第一次真正走进了程序开发的世界。

有了前面那本书的学习基础,再学习这本书就容易和轻松得多。我照着书上的介绍,一步一步地在VS2003上进行操作。经过反复多次操作和实践,我终于在VS2003上编写了一个最简单的ASP.NET程序,并实现了将程序代码编译成了DLL文件。望着这个DLL文件,我有点激动,觉得它很神圣,仿佛它真的带我走进了程序开发技术的殿堂,同时我更觉得VS2003很牛很酷,很了不起。这时我才真正理解和体会到ASP.NET与ASP的区别,以及程序代码与页面分离的好处。程序代码后置,这就是ASP.NET的一大特点。

但是这时的我并没有看到,在ASP.NET和VS2003表面无限美好的背后,却是一个深深的黑洞,它正一步一步将我引进黑暗的地狱,而不是天堂,从而使我后来想逃而逃不掉。

我一边利用业余时间努力地学习这本新的ASP.NET的书,一边思考公司网站程序的问题,那是一个无法回避的问题。公司网站程序是用ASP.NET开发的,所以它的程序代码自然都是后置的,而且都被编译成DLL文件了,所以我就根本无法看到它的程序代码。因此就算我学会了ASP.NET,我还是不能对公司网站的程序进行改动。虽然这时我还在做着网站论坛系统,但迟早要面临这一问题。

自从我知道了公司网站程序是用ASP.NET开发并经过编译的之后,我就一直在找程序的源代码,可惜最后只找到了ASP.NET程序页面的代码后置类文件,而有关的类库项目源代码文件却没有找到。我在公司所使用的这台电脑,就是上一程序员在职时所使用的,我入职后除了C盘我在重装系统时将其格式化掉了外,其他盘的文件我都原封不动地保留了下来。所以我找不到类库项目的源代码文件,一是可能在C盘里被格式化掉了,二是可能上一程序员没有留下来。我入职时上一程序员已离职,所有的资料没有做任何交接,所以才出现了这样的问题。

但是矛和盾从来就是相对出现的,ASP.NET程序可以被编译,自然也可以对其进行反编译。经过在网上不断寻找,我终于找了一个ASP.NET程序的反编译工具──Reflector。这个简单易用的反编译工具,就像一个神奇的精灵,使得被编译过的ASP.NET程序在它面前也只好被展露无遗。当我将由公司网站的类库项目所编译出来的DLL文件用Reflector反编译出来后,我像是洞悉了自己心爱女人的内心秘密一样变得欣喜若狂。

于是我按照刚刚学到的VS2003的使用方法,在VS2003上打开了我之前所找到的公司网站程序的原有解决方案,并在其中建立起了有关的类库项目。接下来我所要做的就是,慢慢地将在Reflector反编译出来的类库项目的程序代码在新类库项目中重新组织起来。反编译出来的程序代码只需稍微作些修改就可以用到新类库项目中,这项工作并不难,难的是,我需要在这个过程中将程序本身所反映的实际业务逻辑弄明白,也就是要读懂这些程序代码,因为只有这样,我才能真正对公司网站程序有一个全面的了解和把握。所以这也是一项不轻松不容易、需要一定的时日才能完成的工作。

原来有了反编译,可以让事情变得轻而易举,即使没有源代码,照样可以将程序重写一遍。这似乎给了我一个很有意义的启示:不懂,没有关系,可以去学;没有源代码,也没有关系,可以去反编译。这也似乎印证了那句话,“没有做不到,只有想不到”。

转载自:http://blog.csdn.net/tangtdd

文献来源:

UNDONER(小杰博客) :http://blog.csdn.net/undoner

LSOFT.CN(琅软中国) :http://www.lsoft.cn

《当程序员的那些狗日日子》一相关推荐

  1. 关于《那些年啊,那些事——一个程序员的奋斗史》——24提到的鼻炎治疗方法

    在<那些年啊,那些事--一个程序员的奋斗史>--24中有提到用清水治疗鼻炎的方法,很多朋友在留言或email都有问到这问题,在此一并做个回答.         简单说说norains的鼻炎 ...

  2. 《那些年啊,那些事——一个程序员的奋斗史》十四(完结)

    125 距离离职交接的一个月时间还剩几天,本来应该是平淡无事的,却没想到最后还是波澜四起.昨天下班前,公司突然停了电.这本是件普通得不能再普通的事情,可没想到过了一会来电了,或许是波峰电压太大,或许是 ...

  3. 《那些年啊,那些事——一个程序员的奋斗史》——128 (终章)

    周五,如约而至.张文香果然没有被邀请,武总自然也是被排除之列,来的都是平时大家谈得比较来的.几个月不见,小黑和小蓝还是老样子,但精神相比以前是好多了:麦吉则没什么太大的变化,倒是陈莉胖了不少,颇有一番 ...

  4. 关于 那些年啊,那些事——一个程序员的奋斗史 ——24提到的鼻炎治疗方法

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 在<那些年啊 ...

  5. 关于 那些年啊 那些事 一个程序员的奋斗史 24提到的鼻炎治疗方法

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在< ...

  6. 《那些年啊,那些事——一个程序员的奋斗史》——79

    旧的4.3'主板是废弃了,新的带CMMB的板子开始了.对于新的板子来说,其实只是在旧的板子上做改动,比如删掉蓝牙模块啊,去掉视频输入啊等:最大的不同,只是根据Telechips的原理图增加CMMB部分 ...

  7. 那些年啊,那些事——一个程序员的奋斗史 ——23

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow "开会咯 ...

  8. 《那些年啊,那些事——一个程序员的奋斗史》——23

    "开会咯!"黄华中在研发部嚷了一下,让大家到外面的会议桌去.说起来,自从段伏枥来到这公司以来,已经差不多有好几个月,却连一个会都没有开过,甚至是小一点的内部会议都没有.为什么突然间 ...

  9. 《那些年啊,那些事——一个程序员的奋斗史》——117

    这段时间段伏枥在折腾.NET Micro Framework的时候,终于体会到什么叫举步维艰了.因为这玩意没有操作系统做支撑,直接是操作硬件,有时候出问题了,根本就不知道是如何引起的. 比如说,在移植 ...

  10. 《那些年啊,那些事——一个程序员的奋斗史》——38

    自从会见了律师之后,时间又过了一周,期间还是和往常没什么两样,段伏枥依然还是赶最后一班公交,周六还是依然需要加班.不过,经过王健的努力,这板子终究还是跑起来了.不过,这跑起来的概念也就是能够进入Win ...

最新文章

  1. 使用python套用excel模板_集成python的excel插件模板pyaddin——使用说明
  2. mysql中find_in_set()函数的使用
  3. CTFshow php特性 web90
  4. 深度学习核心技术精讲100篇(五十三)-机器学习中的隐私保护
  5. Iterator to list的三种方法
  6. C#使用 System.Net.Mail发送邮件功能
  7. html5 控制鼠标移动,HTML5 Canvas随鼠标移动的引力粒子群
  8. 征稿 | ​2020年全国知识图谱与语义计算大会
  9. Android属性动画之ObjectAnimator控制
  10. 新闻本身具有数量大、更新快、冗余度高
  11. WBE前端笔记3:JavaScript练习--基础语法
  12. 面试题大汇总华为面试题
  13. 植物冠层部分参数的定义及含义解释
  14. Python 3 网络爬虫 个人笔记 (未完待续)
  15. 几款好用的敏捷开发工具
  16. 【CicadaPlayer】av_rescale_q 学习:转换PTS和Duration
  17. -------已搬运------BUUCTF:[RootersCTF2019]ImgXweb --- jwt --寻找secret,easy
  18. Windows路由表的灵异事件
  19. linux的字体文件夹在哪里,把windows下的字体安装到Linux系统下的方法介绍
  20. 欧拉系统搭建k8s网络

热门文章

  1. 【第一章:技术面试通用必备技能】第2节:业务逻辑面试和HR面试
  2. Obsidian media extended以及bilibili插件链接总是打开外部网页以及退回编辑视图会弹出另外一个相同文件
  3. Python:nii格式的核磁共振图像(MRI)的读取、处理、显示操作(以缩放操作举例)
  4. 改造汇文OPAC,使其通过萌校的通用扫码接口登录
  5. php如何配置gii,PHP Framework YII的里的gii设置。
  6. Unirech-最新腾讯云国际版注册流程-无需绑定paypal
  7. 巨量引擎信息流广告投放攻略
  8. Markdown由浅入深
  9. python使用opencv实现文档扫描并提取文字
  10. 为什么局域网 IP 通常以 192.168 开头而不是 1.2 或者 193.169 ?