《当程序员的那些狗日日子》二

《当程序员的那些狗日日子》(十一)独过春节

元旦前公司让我设计了一个A4产品宣传单,这是因为当时做美工设计的小京请假了,而公司又急于欲将一些主要产品对外进行宣传,所以我便自荐让小李总把设计任务交给我。这跟网页设计还是有很大的不同,因为设计图的分辨率要设到很高,设计图要做到很大,所以设计时操作起来的难度要比网页设计大很多。而且除了基本的产品信息外,其他所要用到的图片素材都需要我自己在网上找。所以这可以说是在空白的基础上进行设计的。我运用所掌握的Photoshop的使用技巧,并通过在网上寻找图片素材,经过一个多星期的时间,顺利地将宣传单的正反面设计出来了。小李总对我设计出来的效果十分满意,而我自己也认为设计得不错,自己也很满意,这可以说是我在Photoshop的运用、对色彩的把握和设计创意上发挥得最好的其中一次。所以直到现在我都认为,我有美工设计方面的潜质,如果我上学时读的是平面设计,或者当初我没选择网站程序开发,而选择美工设计,那么后来我也很有可能成为一名不错的美工设计人员。此时产品宣传单的投放使用,也对公司产品销量的增长起到了很大的作用。

过了元旦没多久盈就辞去了啤酒推销的工作,并且她决定提前回家过春节,等过完春节后再出来北京找工作。那个周五我们公司正好有剩余的演出门票派发,于是下班后我便请盈一起去看演出,那是一个叫《刘三姐》的歌舞剧,在演出中我们看到了电影《刘三姐》中的刘三姐扮演者黄婉秋,盈十分高兴,看完演出后盈心情很好。

盈临走前一天晚上她过来跟我们辞行,我送了一份礼物给她,她离开的时候我便送她回去。在她住的那间小屋里,就只有我和她两个人,我和她随意地聊着天。盈似乎很开心,对着我有很多话可聊。这样的夜晚,孤男寡女共处一室,也许可以发生点什么,但最后并没有发生什么,和盈说过最后的告别话后,我便回去了。原来我就是这样一个在对待感情上是很认真的人,在我还没有在心里认定对方之前,我是不会有进一步的表示的。所以注定我不能在感情上做一个潇洒的人,所以这也许是导致我后来单身了很长时间的原因之一。

春节假期如期而至,热恋中的老乡已决定了春节到他女朋友丽的家过年,见丽的父母。考虑到火车票难买的问题,而且经济也不是太宽裕,所以这一次,我也决定不回家过春节了,而继续在北京度过。当我把不回家的决定告诉家中的父母后,母亲很不情愿地接受这个事实。

因为不回家,所以便按公司的要求,上班上到大年三十(实际上这一年只有年廿九)的中午,下午开始放假。当下班后从公司写字楼出来,接着走到马路上的时候,我竟觉得一个人心里空荡荡,突然有一种强烈的思家情绪向我袭来,我恨不能马上飞回家去,但理智告诉我不可能。

回到住处后,我更加觉得心里空荡荡。老乡已在前一天和丽一起到丽的家去了,所以整套楼房就只有我一个人。

大过年的,本来我想像去年春节一样,即使在异乡度过,也要好好弄一顿丰盛的食物来庆祝一下,但是只有我一个人,所以却怎么也提不起劲来。只有我一个人,即使有酒有肉,我又可以和谁一起庆祝呢?

但是在电话中我还是瞒着父母说,我在北京过春节过得很好,像去年一样,有老乡和他的同学和我一起度过。即使我这样说,母亲听了都已经很不是滋味,那我又如何忍心跟她说今年春节只有我一个人过呢?母亲很有感触地说,三年了,你都没回来过春节,别人家都是父母儿女一家人团聚,我们家过年却只有老人在家,不像样。虽然母亲生了我和姐姐两人,但是我姐姐已嫁人,春节不可能在娘家过,所以此时家中就是父母、祖父和曾祖母四位长辈了,真的都是老人,而我作为家中的“男丁”却不在家。我听了母亲的话后很难过,但我却不能真正给她一点心里的安慰,我的心里满是愧疚。

除夕夜北京的天气很冷,气温大概已在零度以下。我一个人搭上公交车漫无目的地随车而去。路上来往车辆和行人都很少,虽然马路两边的夜景有点春节的气息,但路上仍然显得很冷清,这般景象在平时是很少见到的。我想此时很多外地人都回家过春节了,而北京本地人都在家里一家人聚在一起共度除夕夜,所以只偶尔见到某处有人在燃放烟花。

我下车后在冷清的大街上随意地走着,却越发觉得冷清,本来此时应该是温馨的感觉,但阵阵的北风却让我觉得十分寒冷,所以走了一会后我再次搭上公交车返回。

一个人无聊地在住处待到快12点时,外面开始渐渐地连续响起烟花燃放的响声,接着便越来越响个不停,就在12点正的那一刻,响声达到了最顶峰,几乎响彻整个夜空。我透出窗户向外面望去,能见到夜空中到处是烟花燃放时发出的焰火。这一年春节是北京“禁放”解禁后的第一个春节,所以这响声就代表了解禁后的一次全面释放。而这时我正好“有幸”经历了这一场面。

虽然外面响声正响彻整个夜空,但我却毫无兴奋激动的心情,反而是感到无限的孤寂。在这个真正万家团聚的时刻,我却一个人孤寂地在北京这座异乡城市过春节,有点伤感地迎接新年的到来。“热闹是他们的,我什么也没有”。

第二天大年初一,也同样觉得很难过,本来该有的春节喜庆气氛,我却一点都感受不到。食物已准备了两三天的了,也不用再出去买,所以我哪都不想去,只想窝在住处快点将时间打发。即使我平时多拼力学习,在这时我也无法拿起书本来就看得下去。

这个时候,我才后悔自己的决定,没有回家过春节。长这么大,这是唯一一个我自己一个人过的春节。原来对于我这个传统的中国人来说,从小早就形成了强烈的春节观念──春节就是要回家和家人一起过的。

这个春节,真的让我过得印象深刻。这也是我在北京度过的最后一个春节,后来我回到广东后,就再也不用重复这样的经历了。后来出了一首歌叫《有钱没钱回家过年》,真的是唱出了我的心声,那种含义我能深深地体会到。“有钱没钱,回家过年”,这句话,也是后来我觉得CCTV说的很贴心、很有意义的一句话。我相信那些和我有过一样经历的人,也能深深地体会到这首歌和这句话的含义。


《当程序员的那些狗日日子》(十二)公司里的靓丽风景

过了一个乏味的春节假期后,我收拾心情,继续回到公司上班。

经过较长时间的开发,此时网站论坛系统已基本成型,虽然还有一些细节问题有待处理,但主要的功能已经实现了。我不得不说的是,这个网站论坛系统的架构是参考同时期搜狐网的论坛来做的,主色调为蓝色,版式结构、页面效果都几乎与搜狐网的一致,最为相似的是,论坛界面左侧的树形目录就是照搬搜狐网的。当然此论坛系统功能上要比搜狐网的精简很多,远没有搜狐网的强大。我之所以要参考搜狐网的来做,一是因为公司网站的主色调也是蓝色,跟搜狐网论坛的主色调相似;二是因为我当时一直比较喜欢搜狐网的论坛,上得比较多,参照起来比较顺手;三是因为我觉得既然要参照,那就参照大公司的。经过我的设计,此论坛系统既达到了论坛应有的基本功能它都有的目的,又使得它可以跟公司网站的产品展示功能无缝地对接起来,这正是小李总所要求的效果。有时候“抄”也是一种技巧,就看会不会“抄”。

小李总对我这次的开发也同样觉得很满意,并表示,我将那些细节问题处理后,就可以将论坛系统摆上线去。工作再一次得到领导的肯定,我心里也再次受到鼓舞。

这个网站论坛系统的开发,可以说是我在ASP上做得比较深入的一次,也可以说是最后一次,因为后来,我再没有用ASP完整地去做“系统”这样的功能了,只是做一些小的功能,此时我已开始慢慢转向ASP.NET,并且后来就完全转过去了。这可能说不上是“历史发展的必然”,但却是微软网站程序开发技术发展的必然。这也决定了我从选择ASP时开始,就注定要跟着微软的步伐走,并且越往后走就发觉越累。所以说我经过艰苦的学习才掌握起来的ASP,真正用的时间并不长。

于是白天上班我便继续专心地完善网站论坛系统,晚上回到住处后及周末休息时则学习那本新的ASP.NET的书,从中了解ASP.NET编程的那些要点和技巧。同时我在上班时一有空余时间就用Reflector反编译公司网站类库项目的程序代码来看,先作个简单和初步的了解。

此时我们部门的人员已有了变化。此前所招过的一个男同事和一个女同事相继走后,不久后又招了一个女同事进来,她的名字叫萍,是北京联合大学的应届毕业生,她进公司时刚毕业没多久。萍比我小四岁,是北京人,但却没有一般北京女孩的清高,而是给人很亲切大方的感觉,而且人也长得很清新秀丽,是个淑女型的女生。此时和萍已共事半年多的时间,所以和她也变得很熟悉了。此外还有一位男同事叫征,他是公司打票系统的技术支持人员,是属于另一个部门的,但后来人事变动,他们部门只剩下他一人,所以就把他合并到我们部门来了。我和征几乎是同时进入公司,而且是同龄,并且性格有点相近,所以我和他挺聊得来。

征是河北人,此时户口则已迁至北京。征之前问起过我是哪里毕业的,我便如实地告诉过他,此时和他变成同一个部门的同事了,他又问起我是什么专业毕业的,我也“如实”地告诉他,是计算机专业毕业的,他便跟我说,他有一个高中的女同学,就是我们学校的,也是计算机专业的,问我认不认识。真是没想到世事会那么巧,征的那位女同学就是我老乡的同学,而且我也认识,因为以前上学时她和我的同室同学小伟认识,而且我和老乡在梆子井平房区合租时她也来过,我见过她。但是为了那个“善意的谎言”,我便再次对征撒谎说,我不认识他的同学。但是过了一段时间后,征再次跟我说,他的那个女同学说认识我,而且她说我不是他们专业的。当时我就在心里暗骂“TNND”,怎么世事就这么巧呢?本来这个“谎言”就可以这样被蒙混过去,但偏偏在这个时候被征给点破了。我于是对征含糊其辞,征也似乎看出了我的心思,便没有再追问下去。虽然后来这个“谎言”也没有对我造成什么直接的影响,但在整件事情中,我深深地体会到,有时这个世界真的很小,一个人所做的事情,要想不怕被别人知道,那只有做得堂堂正正才行。

此时公司网站改版的事情也被提了出来,而网页的改版便是其中的一大部分内容。此时小京已怀孕好几个月,快临近休产假,所以她便不能再担当网页改版的工作。这是一项工作量比较大的工作,而我手上又正有很多工作要做,所以我也不敢贸然主动请缨,让小李总把网页改版的工作交给我,毕竟我工作的方向是程序开发,而不是美工设计。所以公司便决定将网页改版的工作交给外面的公司去做。

萍便被安排跟进此项工作的进展情况。公司找到的做网页改版工作的公司是万网公司,因为小李总觉得万网公司规模较大,实力较强。有一次有一些设计上的事情需要我和萍一起到万网公司去和他们的设计人员沟通,所以我便和萍一同前往。在与万网公司设计人员的沟通中,我发觉萍谈吐很有条理,口齿清晰,而且大方得体,这大概就是北京女孩特有的内涵,或者说是北京人特有的“善谈”。

事情完毕后我们便要返回公司,正好时间已到中午,所以我和萍便决定在外面吃过午饭后再回去。北京初春的正午,如果不刮风,而且是晴天时,天气还是十分舒适。我和萍并肩走在马路上,随意地聊着天。平时大家在公司里都各有各的忙,而且上班时间也不会随便聊天,而此时这样随意地聊着,却是另一种不同的感觉。就在吃完午饭后出来、我要穿上外套的时候,萍在一旁很大方地帮我往我身上拉外套,以使我更容易穿上。就在那一刻,我心里忽然有种很温馨的感觉,虽然初春的北京还较冷,但我的心里却觉得暖暖的。

萍的确是个好女孩,应该是很多男生都喜欢的那种,而且我估计她此时也应该有男朋友了。如果可以有萍这样的女生做女朋友,应该是件甜蜜幸福的事情。但是我心里很清楚,此时我是根本无法“高攀”于萍这样的女生的,一是因为我是外地人,萍是北京人,在北京这个很讲求门当户对的地方,这是一道很大的障碍,很难跨越;二是因为此时我还只是一个菜鸟级的小程序员,在北京一无所有,没有可以去追求萍的资本。否则,那么不管萍是否已有男朋友,只要她是我心仪的女生,我都可以毫不犹豫地追求她,因为“窈窕淑女,君子好逑”。

由于工作安排的变动,公司网站订单改为交由客服部门的同事去处理,所以便取消了小魏的职位,公司将她调到销售部门去做业务。对于此调动,一开始小魏很不情愿,因为她已习惯了在我们这个部门工作,而且做业务她并没有经验。但她这时还没想到,这其实对她反而是件好事,因为她转去做业务后,由于她直爽的个性,慢慢地她的业绩做得还不错,这比她原来那个职位的收入好多了,而且再后来她就专门做起了票务业务。

小魏调去销售部门后,中午还是过来我们部门和我们一起去吃午饭,而且我从心理上还是把她当作是同一个部门的同事。除了小魏,同是销售部门的程大哥也会经常随小魏和我们一起去吃午饭,此外还有一位女同事玫和一位男同事宁,也经常随小魏和我们一起去吃午饭。玫和宁均只比我大一两岁,但他们两人业绩都做得很好,并且两人均在北京通州靠一人之力全额买了房子,虽然此时通州的房价还不是很高,但要全额支付,也不是小数目,所以可见两人的收入不低。

我与玫和宁年龄相仿,但在收入上与他们相比,实在相形见绌。虽然玫和宁对编程一窍不通,但是他们却精于业务,业绩做得好,能赚到钱,所以不懂编程又何妨?虽然此时我没有玫和宁那样的收入,但我却满怀信心,心里想着等我把技术学好后,终有一天我也可以达到他们那样的收入,甚至超过他们。但此时的我却没有想到,几年后虽然我的技术水平已有了长足的进步,但却仍然没有玫和宁那样的收入。

玫也是那种贤妻良母型的职业女性,人很亲切随和,小魏调去销售部门后不久就和她变得很熟,当然这也因为她们原先就认识。宁是陕西人,虽然没有西北人的那种剽悍外形和豪放性情,但却十分沉稳老练,有着业务人员的精明和圆滑,也富于心计,这也可能正是他业绩做得好的原因。彼此接触多后,我和玫也变得很熟,我发觉玫也是一位挺会关心人的女生,她总是喜欢在我面前把自己当成是姐姐,让我叫她“姐”,我也乐在其中。虽然和宁也变得很熟,但宁始终比较有心计,他似乎不愿意十分坦率地和大家交往,而是只止于表面,所以我跟他也就只保持着一种比较平淡的关系。

后来我才知道,与小魏、程大哥、玫、征等人之间,是一种很难得的同事关系,大家平等相处,坦诚交往,后来在我进入其他公司后,这种同事关系就很难再现了,尤其再后来在我进入了一家“电子科技”公司后,这种同事关系就再也无法感受得到。

销售部门有一位女同事,虽然之前我有见过她,但直到此时,我才知道她的名字叫珊珊,很好听的名字。珊珊是个大美女,打扮时尚,青春靓丽,一头披肩长发飘逸舞动,额前发丝向上自然卷起,十分大气,双唇总是在不经意间透露着性感,举手投足间尽显女明星般的独特气质,而且她美而不媚。虽然珊珊是个大美女,但却一点架子都没有,反而人显得很随和,她可以与小魏、程大哥、玫、宁等人随便聊天。有一次我们一众人等一起去吃午饭,珊珊也一同前往,大家同坐一张大圆桌,这么近距离,我才更发现珊珊真的很没架子,她完全融入到大家的氛围中,但坐在众人中又可以一眼看出她的与众不同,她就如一颗闪耀的明珠,很快就能吸引住别人的眼球,使人只要看她一眼,都会觉得很养眼。

听小魏说,珊珊也是和我同龄,但很明显珊珊要比我老道很多,看得出来她是见过大场面之人。这也正好印证了那个说法,同龄的女人通常比男人成熟。更何况像珊珊这样的大美女,接触的事物和经历的事情肯定比一般的女生要多,所以人就更显老练。

珊珊如此独特显眼,就连同为女性的小魏也喜欢在私下里跟我们八卦一下珊珊的“逸事”,大概意思就是说珊珊在外面傍大款什么之类的。但是我却觉得不足为奇,像珊珊这样的大美女,如果跟了一个穷小子,那才是奇怪的事情,所以,她应该是跟有钱人的。“美女配英雄”,自古皆然,在当今这个社会,谁有钱谁就是“英雄”,所以美女自然要配有钱人了。正如我后来所悟到的那样,当我有钱了,我也会找个年轻漂亮的女人,但是后来我还是没有什么钱,所以只好“望美女兴叹”。而且我也悟到了,美女基本上不会“傍”上程序员。

对于珊珊的这些没有被证实的“逸事”,我并不关心,我只是认为,珊珊是个大美女,她很养眼,在公司里是一道靓丽的风景线,这就足够了。


《当程序员的那些狗日日子》(十三)重组程序

几个星期后,我已将网站论坛系统的细节问题处理好,网站论坛系统也终于可以摆上线了。看到我自己竟然也能做出一个相对完整的论坛系统,我心里感到很欣慰和兴奋,并有几分成就感。虽然这个网站论坛系统放到整个互联网上是那么微不足道,但毕竟它是我几个月来的心血,或者说从我刚开始学习网站开发技术时起,我就倾注了很大的心血,这是我付出很大心血后的“结晶”,所以显得弥足珍贵。

盈回家过完春节后,她的家人希望她留在家中的县城工作,而且她不久后就在县城的一个公益性机构找到了一份差事,所以她就留了下来。但是我和盈仍保持着联系,除了平时在QQ上聊天外,有时我也会给她打电话。电话中盈总是很乐意跟我说她最新的情况,说她工作中的事情,说她的烦恼,言谈间听得出来她并不喜欢目前的工作,她还想再到北京来,但是她家人又希望她留在县城工作,所以她内心很矛盾。

盈的老家是在河北承德下面的一个县,到北京来很方便,如果此时我让她辞掉那份工作而再到北京来,我想她一定会辞掉那份工作的。但我并没有让她辞掉那份工作,而只是在QQ上或电话中开导她,给她解闷,我更多的还是把她当成一个妹妹来看待。所以后来盈就继续做着那份工作,一直到后来我也不知道的某个时间。

交由万网公司去做的网页改版的工作仍在进行中,虽然他们的设计人员已设计出了网站首页效果图的好几个版本,但都不能让小李总觉得满意,究其原因,一是因为他们的设计人员也并非是什么高手,难胜任务;二是因为他们的设计人员毕竟对我们公司的票务业务需求不了解,不能真正理解网页上要实现的功能效果和布局。因此网页改版的工作仍不能在短时间内完成,我们只好继续等待。

由此也可见,虽然万网公司规模较大,但他们的设计人员也无非是像我或小京这样的职场之人,其水平难免有高有低,所以万网公司的设计实力也不见得一定就强。

网站论坛系统摆上线后,虽然偶尔会遇到一些小Bug需要修正,但问题毕竟不多,所以我上班时反而出现了难得的空闲状态。这正好给了我一个难得的时机,我可以利用这些空闲时间去重新组织公司网站类库项目的程序代码,以便在网页改版工作完成后需修改公司网站的程序时,我可以进行改动。

借助Reflector这个反编译工具,我又将由公司网站的类库项目所编译出来的DLL文件进行反编译,然后再阅读这些反编译出来的程序代码。我给自己定的要求就是,一定要将这些程序代码读懂后,才将其放到之前已建立起来的新类库项目中去重新组织起来。除了阅读这些反编译出来的程序代码外,我还需要结合网站页面的代码后置类文件程序代码、网站的数据库和网站功能的实际操作来一起理解。这是一套系统性的网站系统,所以只有这样结合起来才能真正读懂这些反编译出来的程序代码,并弄明白公司网站程序所反映的实际业务逻辑,也只有这样,我才能真正对公司网站程序有一个全面的了解和把握。

自己编写程序是一回事,阅读别人开发出来的程序又是一回事。自己编写程序,我可以按照自己的思路去进行,但阅读别人开发出来的程序,我就必须将自己的思路转变成开发者的思路。尤其是此时我所阅读的,是ASP.NET程序,而ASP.NET是我刚刚学习过、但还没有真正用于开发实践中的。所以这对我来说难度不小。而且公司网站的这些ASP.NET程序本身也相对复杂,所以我读起来就难度更大。

但是这些难度相对于我几乎从零开始去学习网站开发技术的难度来说,以及相对于我将那本厚厚的六百多页的ASP.NET的书学完的难度来说,几乎不值一提。于是我凭着自己的执着和毅力,又开始了新一轮的尝试。

很多事情往往都是你尝试过后才知道,原来你行。经过一番努力,在克服最初的困难后,我对这些ASP.NET程序的阅读变得越来越顺畅,而且从阅读这些程序中,我也渐渐理解了开发者的思路,通过阅读这些程序,我仿佛和这位开发者有了思想上的交流,我碰撞到了他开发思想中的精髓。这使我更深刻地理解了ASP.NET的机制和原理,以及领悟到了他作为程序员的良好的编码风格。他编写的每一行代码,都几乎作了最严谨的处理,以力求使程序做到简洁明了且逻辑准确无误,这正是一名合格的程序员的基本素质。正是受此影响,在后来我所做的开发中,我都尽量要求自己将代码写到最规范,并严格要求自己做到使程序逻辑准确无误。而且此时我在阅读中所看到的一些写得很好的函数和方法,我在日后的开发中也用到了。

虽然Reflector反编译出来的程序代码跟原代码在格式上(主要是变量名)会有一定的出入,但实际的程序逻辑并没有改变,所以我每读懂了一段代码后,只需将其稍作修改后就可以将其用到新类库项目中。阅读程序变得容易了,重新组织程序代码的工作也变得轻松起来。虽然不是自己开发,但这就像站在别人的肩膀上,可以看到更多和看得更远。在重新组织程序代码的过程中,我渐渐地感觉到自己在ASP.NET和数据库存储过程编写等方面的水平都得到了很大的提高。我也开始对修改公司网站的程序和核心功能有了信心,只要我将那些类库项目的程序代码全部重新组织好后,我就可以去做这项工作了。

我不得不由衷赞叹的是,公司网站的购物车功能、订单处理功能、票品产品发布功能等功能都做得很好,而且程序也写得很好,尤其是那个票品产品发布功能,在数据库的存储过程中用了三层嵌套的循环来处理数据的写入,可以一次就实现一场演出的多场次、多票价的数据写入,使功能操作简单便捷,工作高效。

听小魏说,公司网站程序就是上一程序员所开发的,那个程序员已在公司做了很久,原来公司网站程序是用PHP做的,后来他则用ASP.NET将其重做了一遍,这即是此时公司网站的程序。当然小魏并不懂得PHP和ASP.NET是什么,这是我根据她所说的内容理解出来的。小魏说,上一程序员也不是计算机专业毕业,而是靠自学学会的,而且水平也很厉害,但他要比我大好几岁,这时他应该30岁左右。所以我姑且称他为仁兄。

我根据网上所查信息得知,VS2003于2003年推出,这位仁兄在我2004年10月入职前已用VS2003(ASP.NET 1.1)来开发公司网站程序,而在我在公司所使用的电脑上我也曾看到过这位仁兄使用过VS2002(ASP.NET 1.0)的记录,由此可见这位仁兄早在2004年VS2003刚推出不久时,就熟练运用ASP.NET来进行开发了,他是应用ASP.NET的“先行者”。

这无疑给了我很大的鼓舞和信心,原来不是计算机专业毕业而走进程序员行列的,并不是只有我一人,而眼前的例子也证明了,不是科班出身也同样可以做得很好。

小魏说,在招聘我进来之前,这位仁兄正在做公司网站的新功能,但当时的总经理,即后来招我进来的那位经理的朋友,一再要求这位仁兄加快开发速度,而且给这位仁兄的开发需求不断变更,所以这位仁兄一气之下就辞职走人了,而且工作还没有交接完就离开了公司。

当中的是非对错,我无法多作评论,而且用小京的话来形容,这位仁兄有点“得瑟”,但这完全不妨碍我对这位仁兄的佩服和景仰,他仿佛成了我的精神榜样,让我更明确地找到了前进的指引和方向。原来这就是我所向往的技术“大牛”,而技术“大牛”也曾如此近距离地和我在不同的时间出现在同一个空间上,我此时在公司所使用的电脑、所坐的座位,都是这位技术“大牛”曾使用过、曾坐过的。

后来在我也到了快30岁,并也成了一名技术“小牛”的时候,我完全理解了这位仁兄一气之下就辞职走人的做法,对于那些不断要求加快开发速度、不断变更开发需求的做法,我也深恶痛绝。

直到现在,我都清楚地记得小魏所说的,这位仁兄是天津人,而他的名字就叫津。这位未曾谋面的仁兄,谢谢他!是他开发的这套程序让我在ASP.NET上走得更快。


《当程序员的那些狗日日子》(十四)酒入愁肠

早在我刚进入公司的时候,公司的业绩就处于一个不是十分理想的状态,后来更是慢慢下滑,虽然小李总“临危受命”接任总经理一职,而且他也作了种种努力和尝试,但仍然无法扭转业绩下滑的局面。春节过后因2008年北京奥运会开办的需要,北京各大体育场馆需要闭馆进行翻修,各种大型演出项目都举办不了,所以更直接影响到公司的业绩。

公司业绩不好所带来的直接结果就是,公司的人员和部门被精简了,而且部分员工的工资被缩减了,小京就是被缩减工资的其中一人,因为相比之下,小京的工资比同部门的其他同事高出不少,而且她此时因怀孕临产,经常请假,所以这也成了减薪的原因之一。

网页改版的问题,万网公司的设计人员最终都没有做出一个令小李总觉得满意的网站首页效果图,而且此时因公司业绩不断变差,网站改版的事情便被搁浅了,所以网页改版的问题也不了了之。

虽然此时我正忙于将公司网站类库项目的程序代码重组,但这项工作并不是公司所直接要求的任务,进度完全由我自己去把握,所以当万网公司设计人员最终都没有设计出令小李总满意的网站首页效果图时,我几次都想“挺身而出”,让小李总把设计工作交给我来做,但最后因公司业绩的问题,网站改版的事情却被搁浅了,所以我也只好将一腔热情收回。

本来我想将公司网站类库项目的程序代码重组完及在网页改版工作完成后,好好地将公司网站的功能更好地完善起来,为公司效一把力,然后跟小李总提加薪的事情,但此时见此形势,我也不对加薪抱有希望了。

公司的部门被精简的其中一方面就是撤消销售部门,销售人员可凭自愿的原则留下来,公司转为给他们提供办公室出租,他们可以继续从公司里提票,公司则继续从中赚钱并提取一定比例的金额,这样公司就免去了给他们支付工资的成本。虽然这是迫不得已的做法,但也总算给销售人员提供了多一个选择的机会。

程大哥、玫、恩等人都选择了这种方式,在公司租下办公室,继续做着他们的票务业务,而小魏也同样选择了这种方式。

经过一年左右的时间,精明能闯的恩已把他的票务网站搞起来了,而且搞得有声有色,他的业绩更是做得不错,他可谓是一名“少壮派”。虽然经过一年左右的时间,我在技术上也有了很大的进步,但工资却几乎没变过,与恩比起来,在收入上的差距正越拉越大,这可以说是两种不同选择的不同结果。但此时的我还没有意识到,这种差距在后来更是越拉越大,直至到了不在同一层次上。

公司业绩不断变差,人员和部门被精简,这使公司内或多或少产生了一种低沉消极的气氛,我虽然也受到某些影响,但对于公司网站类库项目程序代码的重组工作,我却全然不受影响,仍然利用好一分一秒的时间专心地做这项工作,因为我知道,这不但是为公司而做,更是为自己而做。

所以白天上班我仍然忙于程序代码的重组工作,晚上回到住处后及周末休息时则继续学习那本新的ASP.NET的书,时间渐渐过去,重组工作也渐渐接近尾声,那本新的ASP.NET的书也全部学完了。通过这两方面所获,我在ASP.NET上已然跨进了一大步,很坚实的一大步。

日子一天天过着,不知不觉中,已渐渐临近“五一”。又是一年的5月份,对我来说具有重要纪念意义的5月份,正是两年前的5月,我开始决定学习网站开发的相关技术的。两年时间一晃而过,当初的决定也“成就”了我此时的职业之路,正是有什么样的决定,就有什么样的结果。回想起这两年来所走过的路,我心里竟不免生出许多感慨和唏嘘来,仿佛这两年来的经历是在梦中,但这却是真真切切的一场梦,也是满带辛酸的一场梦,而且此刻梦还没有醒来。

两年的辛苦付出,换来了我在网站开发技术上的进步,虽然此时我在技术的路上走下去的信心没变,但一个不容回避的事实却是,我的工资一直都很低,在北京这个消费水平很高的城市,我的收入也仅仅足够生存下来而已,除去一切生活开销,几无盈余。而此时,不但是我在网站开发技术这条路上走过了两年的时间,也更是我毕业后快四年的时间。四年的时间,正好是上一个本科的时间,不算长,但也绝对不短。这就是我毕业四年后所混成的状态,仍两手空空,似乎毕业时是怎样,此时也是怎样,一切都没有改变,所改变的只是时间的流逝。想到这些,我的心里很是悲伤难过。我想到了刚毕业时的激情和冲劲,但此时,激情和冲劲不得不在现实面前低头。

又是一年的“五一”七天长期,虽然离家又有一年时间了,我心里也很想家,想念家中的父母,但我却不得不把思家之情收起,而决定这个“五一”也不回家了,因为我经济实在不太宽裕,有点无颜回去见家中父母的感觉。

我的老乡与他女朋友丽的感情发展一日千里,他们的关系此时已十分亲密,所以老乡便决定趁这个“五一”长期带丽回他老家见他父母。见过双方父母后,亦即表示他们的关系已基本上最终确定下来了。

看着和我同时毕业出来的老乡现已算是半个抱得美人归,他正按照自己所规划的人生之路一步一步地走下去,而我却是另一番境地,我便难掩内心的失落。

“五一”这天我找到了宇。与宇认识已有一年多的时间,我和他一直很聊得来,所以此时和他的关系已很好。

宇似乎也不太如意,工作上业绩一直上不去,而且他对梅的追求,最终都没成功。宇相邀我到他租住的地方去喝酒聊天,我正满腔愁绪,于是一拍即合。

宇所租住的地方是在北京东五环外的一个叫东坝的地方,也是一片平房区,有点偏僻,比起我曾租住过的梆子井平房区来似乎还要破旧落后,从我此时所租住的地方过去还需要一段较远的路程。这时我才知道,原来宇每天上下班都要跑很远的路程,他每天上下班在路上所花的时间要在三个小时以上。原来这位兄弟也不容易啊。

宇亲自动手做了几道小菜,有荤有素,说不上有多丰盛,但足够用来下酒。有酒有肉,我和宇不停地碰杯,在酒意中互倾内心的愁闷。这是烈性的二锅头白酒,下口很呛,但是我们想要的就是这股酒劲。

北京5月的天气,一如既往的乍暖还寒,下午的斜阳透过房子的空隙射进来,但却不能驱散屋内的寒意,反倒让我和宇觉得多了几分落日黄昏又快到来的惆怅。

借着酒意,宇说,他决定不再追梅了,经历了这么长时间,他也看透了,他不想让自己心里太难受。宇告诉我,他其实很久以前在老家认识了一个女的,那女的对他很好,有一次他骑摩托车出了意外,一条腿受了重伤,在治疗和养伤期间那女的一直对他照顾有加,而且她的家人也帮了他很大的忙,但是他一直对她没感觉,所以他也觉得很亏欠她。但是现在他想明白了,他决定放弃梅,而接受那女的。

原来尘世间一直都上演着一出出悲情的情感故事,你喜欢的人不喜欢你,喜欢你的人你不喜欢。但是对于宇来说,我却认为,他放弃梅而接受那女的,才是他更大的幸福。男人,有时不就是想找个懂得照顾和关心自己的女人吗?

于是我跟宇说,兄弟,不要犹豫了,眼前的她才是你值得用真心去对待的女人,好好珍惜吧,不要等到错过了才去后悔。宇点点头,没再说其他,只是痛快而深沉地和我干了一杯。事实上后来宇也认定了他所说起的这个女的,她成了宇的妻子。

借着酒意,我也第一次真正地向宇道出了我这两年来的艰苦历程。宇听后说,兄弟,从表面上看我一直觉得你是个IT人士,过得不错,但没想到原来你也过得不容易。原来宇觉得我是个IT人士,但他却不知道IT有时却也是“挨踢”。“兄弟,好好干,我们都一定会成功的!”再一次碰杯后宇给我打气,也给他自己打气。

真是“抽刀断水水更流,举杯消愁愁更愁”,二两瓶装的二锅头每人两瓶后,我仍觉不尽兴,于是宇再拿来几瓶啤酒,我们继续碰起来。

两瓶啤酒下肚后,我却觉得肚子里有点不妙之势,紧接着一种翻江倒海的感觉越来越强烈。这是白酒加啤酒的后果,加上身体变差了,酒量已不及以前,我知道,这回要吐出来了。

结果正如我所感觉到的那样,不出一刻,我就平生第一次失去了人样,吐得一塌糊涂。虽然身体难受,但我心里却觉得很痛快,仿佛积压在心头的愁闷也被吐出来了。

酒量很好的宇并没有问题,他见我此等状况,只好帮我收拾残局,令我心里十分过意不去。

酒真的是个好东西,也是个坏东西,好是因为喝适量时它可以令人情绪高涨,坏是因为喝过量了它可以让人身体难受,仪态尽失。

别过宇后,我一个人走在回去的路上,此时正是黄昏时分,太阳已落下,寒意更浓,一路上我倍感冷清和孤寂。原来酒过之后,我内心的愁闷并没有真正被驱散,反而变得更甚。一种强烈的思家之情也随之再次向我袭来。

我忽然觉得我有点累了,想回到家里去,让自己漂着的心可以停靠一下,但我知道不可能。我想拿出手机,给家中父母去电,我想跟母亲说,我想家了,我想跟父亲说,我有点累了。但我最终没有勇气这样做,因为我不想让他们担心,我更不想在他们面前显得我不坚强,因为我是堂堂七尺男儿,是男儿就不能退缩。

几年后,当我想起这次醉酒的经历时,竟也觉得是一种难得的回忆。所谓“对酒当歌,人生几何”,能够和一良朋好友举杯畅饮,即使大醉,那又何妨?后来在我回到广东,开始在广州工作后,这样举杯畅饮的场面已难再现。也许,能够喝到大醉的,只属于那些还算年轻的时光。


《当程序员的那些狗日日子》(十五)首次接单

过了一个愁闷无聊的“五一”假期后,我收拾心情,继续回到公司上班。

两个星期后,我已将公司网站类库项目的程序代码全部重组完,当我在VS2003上对这些新的类库项目进行编译时,全部编译成功,这表明我所重组的程序代码全部都准确无误。虽然结果早已在预料之中,但我心里还是变得无比激动,这就像经过苦苦追求终于打动了自己心爱的女人一样,那种激动和兴奋的心情无法言表。

接着我再对引用了新类库项目后而重新生成的网站进行测试,测试结果表明网站功能一切正常。终于大功告成,这表明我已对公司网站程序有了一个全面的了解和把握,我随时可以对公司网站的程序和核心功能进行改动了。

此时公司网站改版的事情早已被搁浅多时,而且公司业绩持续变差,小李总再没有重提此事之意,所以虽然我已可以对公司网站的程序和核心功能进行改动,但此时我也不需要做什么,而是只对网站进行一些简单的维护。虽然我的工作变得悠闲起来,但我宁愿小李总可以一声令下说网站要改版,然后我可以将我已得到很大提高的技术水平发挥出来,为公司效一把力,即使因此而变得很忙都没有关系。

小京终于要休产假了,由于公司业绩不好,而且少了各种大型演出项目,公司网站上需更新的产品信息少了很多,所以小京原先所负责的美工设计的工作便暂时交由我来兼做,公司并没有重新招人来做。虽然是这样,但我的技术水平已得到了很大的提高,所以即使是程序开发和美工设计兼做,我都可以完全应付得来。

在这个时候,一方面,我上班时工作上的事情并不算太多,所以并不是很忙,我可以轻松应付;另一方面,先后买的两本ASP.NET的书我都学完了,而前一次买的另一本ASP.NET的书,都是介绍一些小项目的开发的,并没有特别介绍ASP.NET的知识点或编程的要点和技巧,此时那些小项目对我来说已变得没有太大的参考价值,所以我也不用再去学这本书,因此下班后回到住处及周末休息时我便只是根据需要去学习当初买的那本VB.NET的书,以加强对VB.NET语法的掌握。所以这时在工作和学习上我算是轻松了许多,这也可以说是我在两年的辛苦付出后的“苦尽甘来”。

经过两年的辛苦付出,从ASP到ASP.NET,我算是真正走上了程序开发的道路了,这时我的底气已足了很多,不再因技术水平太低而在工作上不够自信。所谓“付出总有回报”,此时回报给我的就是,我有了更多的底气和自信。

在这个时候,继续做着票务业务的程大哥私下里找到了我,像大概一年前恩跟我说起的那样,他也想做一个跟公司网站类似的票务网站,问我能不能帮他做。

自从在公司和程大哥认识后,我和他就很谈得来,我觉得他人很直爽,他就像兄长般的一位同事和朋友,对我很好,此时我和他的关系已变得很好。与玫、宁、恩等人比起来,程大哥的业绩要差很多,这是因为他做票务业务的时间不是很长,积累的客户不多。虽然业绩不算好,但是程大哥却很乐观,而且已决定会一直在演出票务行业做下去。他的决心让我佩服。

程大哥说,我没有电脑,他可以给我提供,而且他也很相信我,说有关网站开发的所有事情都可以由我自己来决定,我只管放手去做,因为他觉得有关票务网站上的东西我是专业人士,我比他了解,他信得过我。

这么长时间以来我自己一直没有电脑,平时在住处需要用到电脑时都是用老乡的,但是如果是要做开发,自己就必须要有专用的电脑才行,程大哥能给我提供电脑,可以帮我解决这一问题;而且最为关键的一点是,他信任我,这点很重要,也正是因为他信任我,不久后我可以尽我所能帮他做出了一个我自认为还不错的票务网站。

如果说大概一年前恩想我帮他做票务网站而我没有答应他,除了是因为保密的问题,还因为技术上我不太胜任的话,那么此时我在技术上则完全有信心和有把握了。所以此时我唯一需要考虑的是保密的问题。

这让我第一次有了试一试的冲动,我想将我所掌握到的技术,尤其是ASP.NET的技术,真正地运用起来。考虑一番后,我最终说服了自己,认为这跟保密的问题没有冲突,因为我只是在运用我所掌握到的技术而已,我并没有泄露公司网站的客户数据。

于是我便答应了程大哥,我可以帮他做这个票务网站,而且我们也谈好了价钱──数额不多,只有几千块钱。有时有很多事情并不是只以金钱来衡量的,比如当中我和程大哥的交情,他慷慨地为我提供电脑,他对我的信任,我可以以此作为“练手”以强化自己的技术水平,等等。

于是我便接起了我从学习网站开发技术以来的“第一单”。但是我并没有在公司做这件事情,一是因为在公司不方便,二是因为我觉得在公司做个人的事情,不是很好,所以我只在下班后回到住处时及在周末才动手去做。

由于程大哥是租用虚拟空间来存放网站的,考虑到他日后因变更虚拟空间而需迁移网站的问题,而且考虑到网站的访问量和数据量也不会很大,和他商量后,我决定采用Access 2000数据库作为他这个票务网站的数据库。

Access 2000与SQL Server 2000相比,还是有很大的不同,这可以说是两个几乎完全不同的数据库,所以我必须先对Access 2000作一番了解后才能使用它。

Access 2000要比SQL Server 2000简单得多,借助搜索引擎网站的强大的搜索功能,我找到了有关Access 2000的使用说明,并花了几个晚上的时间来学习。有了SQL Server 2000的基础,Access 2000学习起来可以说是轻而易举,我很快就学上手了。此外对于防止Access数据库被下载的问题,我也作了一番详细的了解。

准备就绪后,我便正式开始这个票务网站的开发工作了。我“依瓢画葫芦”,根据公司网站的SQL Server 2000数据库,创建了这个票务网站的Access 2000数据库。这项工作并不难,关键是要将SQL Server 2000数据库中的表和视图转成Access 2000数据库中的表和查询。

然后是设计网站首页。我参考另一家本行业内有名的票务公司的网站首页,加上自己的创意,用了几个晚上的时间设计出了这个票务网站的首页效果图。这可以说是我在Photoshop的运用、对色彩的把握和设计创意上发挥得最好的另一次,所设计出来的效果不但我自己满意,程大哥也很满意,而且我认为我的设计比之前万网公司设计人员的设计好多了,如果将我此时设计出来的这个网站首页效果图交给小李总,我想他一定会觉得满意的。在这个设计过程中也体现出了我是个做事认真细心的人,在一些细节问题上我会要求很严格,比如在首页中各元素对齐的问题上,我会将度量单位精确到像素。

我将首页效果图制作成HTML网页后,接下来就是正式的编码工作了。我在VS2003上创建了一个新的VS解决方案,再在其中创建了网站项目及有关的类库项目后,这个票务网站的程序架构就被搭建起来了。接着就可以开始正式的编码工作了。

有了网站首页页面作参考,其他页面就可以在编码的过程中同步设计和制作。这个票务网站的定位是要跟公司网站类似,所以其程序和功能都可以参照公司网站的程序和功能来做。经过我之前对程序代码重组后,此时公司网站程序的源代码全部都有了,但最大的问题却是,公司网站用的是SQL Server 2000数据库,程序中涉及数据增删改等与数据库交互的地方都是用存储过程来实现的,但Access数据库并没有存储过程的功能,所以这些地方统统需要作修改,改为直接用SQL语句来实现。公司网站程序可以说就是与数据库紧密交互的一套程序,所以几乎所有地方都要作修改,这是一项工作量很大的工作,我需要一定的时日才能完成。

从数据库的创建到网站首页的设计和制作,再到正式的编码工作,我下班后回到住处的时间及周末休息的时间又开始忙碌起来了。编码的过程没有太大的难度,但也不是很简单,原来只需一个存储过程就可以实现的事情,此时则需要写成好几个SQL语句,然后再在ASP.NET程序中分开执行各个SQL语句,才能得以实现。尤其是那个票品产品发布功能,原来是在存储过程中用三层嵌套的循环来处理数据的写入的,在ASP.NET程序中只需执行一次此存储过程,就可以实现一场演出的多场次、多票价的数据写入,但此时则需要将存储过程中的三层嵌套循环转换成ASP.NET程序中的三层嵌套循环,以此来执行每一层的SQL语句,这样处理后虽然可以达到同样的结果,但程序执行的效率肯定要差很多,而且数据在写入过程中出错的几率要大很多。当然,执行的效率和出错的几率都是从十分严谨的角度来考虑的,但事实上这样处理后对网站的运行并不会有很大的影响。

选择Access 2000数据库,虽然使我多做了很多工作,但在这个编码的过程中,却使我更深刻地理解了Access 2000和SQL Server 2000两者的异同,从而使我在存储过程的编写和应用方面有了更深的认识,以及获得了更多的ASP.NET程序开发方面的实践经验,更深入地掌握了ASP.NET编程的方法。这些对我来说是很有意义的。

无疑,这次“接单”对我来说是一次新的尝试,这可以让我在网站开发技术的路上尤其是ASP.NET上走得更远。


《当程序员的那些狗日日子》(十六)告别

盈在家中的县城工作后,就一直没有到北京来过,然而碰巧的是,这时她所在的那个公益性机构派她和其他同事到北京来参加一个培训,所以她得以到北京来了。

培训结束后的那天晚上,盈过来我们的住处,一是老乡的女朋友丽也过来了,她要找她的“丽姐”叙旧,二是过来探望一下我和老乡这两个她新认识的朋友。

自上次盈回家后,到这时一别就是好几个月,上次大家都还是穿着厚厚的冬衣,此时却已是夏天。

见到盈后,我和她都没有觉得见外,她还是像一个很可爱的小妹妹,也许是我和她在QQ上或电话中一直保持着联系的缘故吧。

盈住在农展馆南路的团结湖附近,从我们所租住的地方过去,坐公交车只需三四站的路程,虽然路程很近,她要离开的时候,我还是决定送她回去。

我和盈走在去坐公交车的路上,这样的相送情景很熟悉,但我却好像找不到几个月前我送她回去时的那些感觉。我想起了那次踏着积雪送她回去时我想去牵她的手的冲动,但此时我却没有了这样的冲动,我只是和她边走边随意地聊天。是时间和空间拉开了我和她之间的距离,还是我和她从来都没有真正走近过?

走到公交车站,盈却怎么都不想我再跟着上车继续送她,因为她觉得路程很近,不想太麻烦我。我知道盈并不是拒绝我,而是她真的是不想太麻烦我,于是我也不勉强她。看着盈上车后,公交车接着很快就消失在有点昏暗的马路尽头,我有种说不上来的感觉。这两天正好下过雨,这时正是雨停后有点阴沉的天气,我的心情似乎正如这阴沉的天气一样。

日子一天天过着,北京的炎热也在七八月份的时候达到了顶点,我继续为程大哥做着票务网站,我心中的热情也正如这炎热的天气一样。我知道,8月份一过,北京的天气就会开始转凉了;而8月份一过,我也可以完成这个票务网站的开发了。

看着这个“原创”和“抄袭”各半的票务网站终于快全部开发完成,我的心情还是很兴奋,原来我是可以按照自己的预期去将这个网站做出来的。等待多时的程大哥也面露笑容,为我叫好和加油。我也给自己再加了一把劲,虽然这两三个月来的业余时间都处于忙碌的状态,但我却毫无疲累之意,仍然很有干劲。

前后历时三个多月后,终于在9月初的时候,我将这个票务网站全部开发完成了。原来公司网站中有一些不够完善的地方,比如管理后台中部分没有经美工处理的页面,在这个票务网站中我都将其完善起来了。如果不考虑数据库Access 2000与SQL Server 2000的问题,我自认为这个票务网站不比公司网站差,甚至更胜于公司网站。

将这个票务网站摆上线后,然后进行测试,测试结果表明网站功能一切正常,网站完全可以正常运行。终于大功告成,我和程大哥都十分高兴,程大哥达到了他想要的结果,而我也不负他所托,顺利地完成了任务,可谓双方合作圆满成功。虽然说我为程大哥做网站,他付钱给我,是一种很正常的交易行为,但从心里我还是很感谢程大哥,因为从另一角度来说,这是他慷慨地提供电脑给我去强化我自己的技术水平。还有他对我的信任,这是很难得的。

虽然网站开始运行后,Access 2000数据库更新起来很麻烦,但程大哥并不需要经常更新网站的功能和数据库,所以这点并没有太大影响。当然Access 2000数据库在安全性方面要比SQL Server 2000差很多,这是选择Access 2000数据库所不能避免的。

这一次,可以说是我在真正意义上自己做了一个网站,虽然当中的很多程序并不是我自己开发出来的,但从数据库的创建到网页的设计和制作,从程序架构的搭建到程序的编写,再到网站的发布,一个完整的ASP.NET网站开发的流程我都做了,这才是最有价值的。毫无疑问,在这个时候,数据库设计、美工设计和程序开发,我都可以一个人包办了。

程大哥的票务网站做完后,我的业余时间终于恢复到正常的状态,而上班时工作上的事情也不是很多,所以这时在工作和学习上我真正变得轻松起来了。

然而另一种情况却让我心里不能轻松起来。公司早就下滑的业绩一再下滑,甚至出现了发不起员工工资的情况,虽然最终没有拖欠,但有好几个月的工资却被推迟了好多天才发得出来。此时已耗了很长时间,公司业绩仍未见有起色,我心里也渐渐萌生了一个念头──我想辞职了。我可以和公司共渡难关,但是我更想到外面去闯一闯。这就像上山拜师学艺的人,学有所成后,终要到外面的世界去闯一闯,而不能一直留在山中。

再三考虑后,我便将念头变成了实际行动,向小李总提了辞职。小李总对我的请辞感到很意外,他希望我可以留下来,并且当面答应帮我提高工资。小李总说,见到公司现在这种状况,他本人也不想再耗下去,他在外面有很好的发展机会,公司现在的这种状况并不是凭他个人的能力就能改变的。而且他并不喜欢他父亲老李总,因为老李总和他母亲离婚了。但是他不得不坚持下去,是因为他当初接任总经理这一职位时,答应过老李总要把这家子公司搞好,所以他希望我可以留下来继续为公司效力。

我知道小李总是在真心挽留我,在公司目前业绩很差的情况下,他还答应给我加工资──虽然数额不多──足可见他的诚意。

虽然小李总一再挽留,但是我主意已决,还是决定离开了。看到小李总有点无可奈何地在我的辞职信上签字的那一刻,我的心也仿佛被揪了一下,心情变得复杂。自从小李总接任总经理一职后,虽说不上对我不薄,但他对我却没有领导对员工的那种高高在上,而更多的是一份对同龄人和朋友般的尊重,所以他给我的印象很好,我也很喜欢这种领导和员工之间的关系。在小李总表面风光的背后,我仿佛看到了他的无奈,以及他某些也不尽如人意的事情,比如他说的老李总和他母亲离婚了之事。

渐渐把工作交接完后,我终于要离开公司了,临走一刻我心里竟是十分不舍。和征、小魏、玫、程大哥等同事道别后,我也正式离开了。

至此,我在这家票务公司上班的日子也画上了一个句号。此时已是2006年的10月份,距离2004年10月我进入这家公司时,正好是两年的时间。如果从2004年5月我开始自学网站开发技术时算起,已有两年多的时间,两年多的时间,我可谓风雨兼程地走了过来。我此时的技术水平,与两年多以前相比,已不可同日而语。如果我在上大专的三年时间里能学到这个水平,我已心满意足。然而这时候已是我毕业四年之后了,我在感叹人生的很多事情并不是自己所能把握。假如当初我所学的就是计算机专业,那么此时我会是什么水平呢?人生没有假设,我也永远没有答案。

无论如何,我都要感谢我的这一家公司,是它给了我一个工作和学习的机会,让我得以在技术上不断进步。后来我回到广东而在广州工作后,我从程大哥和小魏口中得到消息,因无法经营下去,老李总将这家子公司关闭了。虽然现在这家公司早已不复存在,但它却留在了我的记忆中。


《当程序员的那些狗日日子》(十七)短暂的混乱

10月的北京,天气已微寒。藉着离职后完全自由的时间,我决定先回家一趟。自去年“五一”回家至此时,又快一年半的时间了。曾几何时回家对我来说是件再容易不过的事情,但此时却变得如何之难。

回到家中,自有一番特别的感受。虽已是10月份,但广东老家的天气仍像盛夏,完全不似北京。别了快一年半以后再见到家人,所有的思家之情都变得真切起来,我的心里是几许开心,几许感慨。父母鬓角上的白发似乎更多了,脸上的皱纹也似乎更深了;祖父的精神虽然仍很好,但却无法阻挡岁月让他的容颜一再变老;曾祖母仍只能躺在床上,而且情况已变得更糟,头发已全白,动作艰难;小外甥已是三周岁,快一年半的时间让他完全变了一个样,长大了很多,而且早已学会了说话,此时已能很懂事地叫我“舅舅”。

这快一年半的时间,我不知道我自己是否也变了个样,但长辈的变老和后辈的成长,却让我感受到,一切都在悄然改变着,有些是我天天都对着的人和事,我自己感觉不出来,但对于别了快一年半以后才再见到的家人,却让我深深地感觉到了这种改变。人生中不应该是这样,总是相隔一年多快两年的时间,然后再感受一次那种改变,而应该是在这个过程中可以更多地一同经历,即使那种改变不能明显地感觉出来。

在家停留一个星期后,我再次返回北京。原来回家对我来说也成了一种旅程,一种短暂的旅程,正如那两句话所说的,“有一种感情叫思念,有一种旅程叫回家”。

在这个时候,票务公司原来的一个同事龙找到了我,也想我帮他做一个票务网站。龙是我刚入职时那个总经理的朋友,和征同一个部门,比我大一两岁,我和他一直接触很少,和他不熟,那时听说由于他和那个总经理的关系,所以他的待遇很好。后来小李总上任后,人事变动,龙也辞职不干了,离职时他在小李总的办公室里不知和小李总说了什么,结果狠狠地甩(还是摔?)门而出。虽然龙和小李总之间孰是孰非我无从知道,但是我却觉得除非万不得已,否则都不应该甩门而出,况且我一直觉得小李总人还不错。

这时我已搞来一台电脑,所以电脑不成问题。龙除了想将网站做成跟公司网站类似的票务网站外,还提了不少其他的要求和需求,但是他开出的价钱却跟程大哥给我的价钱差不多。我只是作简单的考虑后,就答应下来可以帮他做这个网站。

但是我这时却没有想到,我犯了不少失误。一是我和龙的交情不深,甚至还说不上交情,所以他不可能像程大哥那样信任我;二是在龙不像程大哥那样信任我的情况下,我没有将他的要求作认真考虑,也没有跟他谈好详细的需求,更没有以书面的形式将他的要求和需求全部列出并双方签字确认;三是之前我帮程大哥做了那个票务网站后,我已有了一套现成的源代码,虽然我可以直接拿来改,但龙还提了不少要求和需求,从经济的角度来看,我不应该接受他开出的那个价钱。所以后来在开发网站的过程中,龙不断提出新的要求和需求,我和他便出现了矛盾,并一度发生争吵。最后的结果便是,我只将应用了那套程序并换上了新设计网页的票务网站交给龙,他提出的其他要求和需求我都没再帮他做,而他给我的价钱就是他提前给我的那笔预付款一千多块钱。大家不欢而散。

从这件事中,我总结出,自己接单来做,如果对方不是十分信任自己的朋友,一定要将对方的要求和需求白纸黑字详细地列出来并双方签字确认,有凭有据,以免出现临时提出新的要求和需求的情况,使合作无法进行下去,以保障双方尤其是自己的利益。

此前与程大哥和小魏等人的聊天中得知,做票务业务的不少人都想自己做个票务网站,在帮程大哥做完那个票务网站后,我就想通过程大哥和小魏等人“牵线搭桥”,专门接单来做,但是那些人开出的价钱都很低,只有两三千块钱甚至一两千块钱,因为有不少用ASP来做票务网站的人也在接单,他们报的价钱都很低。此时更经这一事后,我还是决定先找份工作,等有合适的单再利用业余时间去做。

稍作整理后,我便开始了新一轮的求职过程。在这个时候,我在简历上不再以不实的专业名称示人了,而堂堂正正地写上了我的专业名称“供用电技术”。由于我学的是VB.NET,而大部分招ASP.NET程序员的公司都要求用C#,所以我只好又开始学C#。为此我又专门到北京西单图书大厦买了一本C#的书。由于有了之前积累的基础,这次学起C#来并不觉得吃力,反倒感觉轻松了许多。

经过几番辛苦、面试了多家大大小小的公司后,我又找到了我第二份网站程序开发的工作。公司是在中国传媒大学(原北京广播学院)校园内,是一家新成立不久的小公司,借助中国传媒大学的资源,做的是招生培训的业务,主要是面向全国各地即将参加高考的高中生进行招生,开设的培训项目有播音主持、表演艺术等。公司的总经理是个女的,广西人,很年轻,听说公司刚成立之初,还没打开市场,十分困难,她和所有员工都到街上去派宣传单了。此时公司的业务算是走上了轨道。

我所在的部门算我在内只有三个人,其中一人是个女的,姓蒙,广西人,负责美工设计的工作,大家都称其为小蒙。但小蒙并不做公司网站的美工设计工作,而是做公司宣传资料的美工设计工作。另一人则是部门的小经理,姓覃,也是广西人,比我大两三岁。

我进入公司后,并不是马上接手程序开发的工作,而是先负责公司网站的网页改版工作,即是网页设计和制作。向我说明网页设计的有关要求的,是一位负责招生和带学生等工作的女同事,因为她很了解招生培训的相关情况。这位女同事姓孙,大家都称她为孙老师。所以我便在孙老师的要求下开始设计和制作网页。这些工作对我来说并不成问题,很快我就进入了角色。

边设计和制作网页,经理边跟我说接手程序开发的事情。除了公司网站的程序开发外,他还把另一个网站交给我,让我先去熟悉程序。这两个网站的程序都是用ASP开发的,经理说目前还是先用ASP将这两个网站的功能完善起来,以后再慢慢用ASP.NET来改版。看得出来经理对ASP.NET并不是很熟悉,所以在ASP.NET上我还是比他有优势。

上下班时走在校园里,午饭吃在食堂里,这让我仿佛又回到了学生时代。北京广播学院的确是所不错的高等学府,这里的女生一个比一个漂亮,短短的几个星期内所见到的美女,比我此时活了二十多年所见到的美女总和还要多。但是我知道,这些美女都只是镜中花、水中月,只可看看,不可拥有。

虽然工作正按部就班地做着,只要我坚持下去,转正不成问题,而且公司的氛围不错,同事间的相处都比较融洽,但是我却无法专下心来。一是因为我不是很想做美工设计的工作;二是因为我也不是很想做ASP的开发,而想做ASP.NET的开发;三是因为工资不是很高,我内心开始有点浮躁了。公司应该是家有发展潜力的公司,但是那是以后的事情,我更关注的是当前。而且即使以后公司发展起来了,我作为程序员的角色应该也不会改变。

所以这是一份短命的工作,几个星期后,我便在试用期还未结束时就辞职了。但是我并不觉得可惜。虽然当时我所见过的同事直到现在我都还记得,但让我还能记住名或姓的,只有三个人,那就是那位孙老师,那位负责美工设计工作的女同事小蒙,以及那位部门经理覃。

这时C#的那本书我也学得差不多了,对于基本的应用已没有问题。不久后我又找到了一份真正以ASP.NET + C#做网站程序开发的工作。公司是在北三环安贞桥附近,从我所租住的地方石佛营西里小区过去可以坐302路车。原来我在票务公司上班时每天上下班坐车都很挤,但在这时,我才知道,302路车更挤,真是没有最挤,只有更挤。而且在三环上如果不塞车,来往车辆都开得很快,这使人很容易就能感受到大都市那种让人神经容易变得紧张的快节奏。公司上班时间很早,所以我每天都要很早赶去坐车。

这是一家互联网公司,做的是类似于阿里巴巴那样的电子商务平台,通过向企业会员收费来实现盈利,只是其规模要比阿里巴巴小很多,是一家中型公司。公司办公室是那种开放式的办公室,除了领导办公室和重要部门,其余各部门的办公区都没有完全被遮挡起来。我所在的技术部门,包括美工设计、网站编辑等人员在内共有近30号人,主要分为两大部分,一部分是负责为客户做所谓的“行业网”网站的,主要是用ASP来开发;另一部分则是负责公司电子商务平台网站的开发和维护的,所用的技术是ASP.NET + C#,而且ASP.NET的版本是2.0,我就是属于这一部分。所以就是从这时起我开始接触到了Visual Studio 2005(简称VS2005),并且后来就没再使用VS2003,而转向了VS2005。

公司办公室虽然是开放式的办公室,但在管理上似乎很严厉。公司发了一本专用的大本子,每个员工每天都需要写工作日志,然后定期上交给人事部检查,漏写一天要罚几十块钱,漏写超过多少天则有更重的处罚甚至开除。

老总是个40岁左右的中年人,口才不错,很能侃,每个周五临下班前他都要给在公司的全体员工开会,宣讲他的“思想”及公司近期要完成的任务和长远发展目标等,那情形就像那些传销头目给下面的传销人员“洗脑”一样。通常其他部门的员工都是先离开,然后他继续给销售人员“洗脑”。

公司除了北京总部外,在全国多个省份都有办事处。我从在网上搜索到的很多帖子中看到,包括已离职员工和各地客户在内的很多人对公司的评价褒贬不一,从中我也大概“了解”到,老总早年靠倒买倒卖起家,有点非法经营的性质,这应该就是所谓的“原罪”,但是此时他的经营似乎仍带着欺骗客户的性质。虽然我无法确定事实如何,但空穴来风,未必无因。

所以这些情况使得我对公司没有多大好感,或者说这种公司氛围我不太喜欢。我骨子里是个正直的人。但是从另一方面来说,老总无疑是个“人才”,因为“不管是黑猫还是白猫,只要能抓到老鼠的就是好猫”。

技术部门的两部分人员中各有一个主管,我所在的这部分的主管名字叫华。公司的电子商务平台网站算得上是ASP.NET的中大型网站,华就是要带领我和另外两个新同事一起负责这个网站的新的开发工作,而华也参与实际的开发,而且是其中重要的部分。华大概比我大两岁,大概是因为他的技术水平不错,他的性格有点狂傲,脾气有点倔,对下属的态度强硬。但我不得不承认的是,华的技术水平的确不错,在这个时期来说应该是ASP.NET搞得比较好的人,在他面前我明显有很多不足,用他给我面试时对我评价的话来说就是,“水平一般”。从中我知道了,我要学的东西还很多,比如XML、Ajax等。

从休息时的闲聊中得知,华也不是计算机专业毕业的,听他说,他曾当过保安和厨师,不过他哥也是搞程序开发的,而且是在一家知名的互联网公司任职,所以在他哥的指点和帮助下,他也走上了程序开发这条路。可能正是因为华曾当过保安和厨师,所以才形成了他的那种性格和脾气。虽然华没有直接跟我说他此时的工资是多少,但他却间接地说争取明年工资能在一万块钱以上,可见他此时的工资应该不低。

无疑这又是一个非科班出身也同样可以把编程技术搞得很好的例子。这不免让我想起了那位未曾谋面的仁兄津,以至于我有意无意地将他和华进行比较,看他们两个人的水平谁更厉害。在我看来应该是津的水平更厉害一些吧。

在这里,我算是正式见到了多人独自或共同进行开发的场面。也是在这里,我看到了程序员被作为“牛”或是“代码民工”而进行工作的一种状态。技术部门的办公区很狭窄,每一排座位两边对坐,每一排都靠得很近,而每一排中两边的每一个座位也紧挨着。此时已是12月份,室外气温已在零下,但却抵挡不住狭窄的办公区里近30台电脑同时运行时所产生的热量,以至于早上进去时还冷冰冰的办公区,中午以后便感到闷热异常,而程序员同事们却一个个都若无其事地盯着显示器认真工作。这就是程序员工作的真实状态吧。

尽管我不太喜欢公司的氛围,尽管办公环境有点恶劣,尽管工作状态比较紧张,尽管我的技术水平还比较欠缺,但是应该说,只要循规蹈矩,踏踏实实地认真工作,我是能够胜任工作的,而作为程序员来说,在这里还是可以提升技术水平及达到相对不错的待遇的,华的工资情况就可以作为说明。

但是也许是因为在CSDN上看帖子看多了,纵横比较,受到上面那些观点的影响,又或者是因为这两年多来激情和精力被透支了,我慢慢发现我对程序开发不再像刚开始学的时候那样那么有激情、那么感兴趣了,甚至有点厌倦的情绪。这是一个不好的信号。尽管我努力地按照华的要求去熟悉公司网站的程序,而且他要求我做的功能我也做出来了,但是我对着程序代码却越来越感到厌倦。部门的那种办公环境和工作状态也加剧了我对程序开发工作的厌倦情绪。

在我内心正挣扎着的时候,一件意外的事情,却给我带来了一个意想不到的结果。工作日志要上交给人事部检查的时间到来了,我这才恍然想起,这么多天的工作日志我都忘了写了。于是我请求前来收工作日志的人事助理再给我一点时间,我马上补写。我只补写了几篇后,人事助理再次来收,并说人事部经理已知道了此事,她无法再给我时间了。接着没过多久人事部经理便把我叫到他的办公室,当头就问我为什么没写工作日志。于是我诚恳地向他解释说,我忘了,我已补写了几篇了。但是他根本不想听我解释,而是咄咄逼人地说工作日志怎么可以过后补写,说我不将公司的规定放在眼内,我故意违反公司的规定,所以按规定没写工作日志的这么多天每一天都要罚款,补写的无效,并且他明确地告诉我,我不符合公司的要求,公司将不再对我试用下去。

就是这么一个照面,让我记住了这个三十多而不到40岁的所谓的人事部经理,他的态度让我心里十分气愤。而过后让我觉得很后悔的是,我当时竟没有甩门而出。之前我不太赞同在票务公司时龙在小李总的办公室里甩门而出,但此时我应该狠狠地甩门而出。我不就是试用了不到一个月的时间吗?即使这些天的工资不要又如何?人,有时候不就是为了争一口气吗?他不懂得尊重我──我宁愿相信这不是公司的规定使然,而是他本人的素质使然──我又何需对他客气?

我不能再试用下去的决定已基本确定,事实上我也不想再在这里做下去了。于是我向华及部门经理说明情况,请他们为我说说好话,希望不要扣我那么多钱。最后达成了一个数额,虽然少扣了,但还是从工资里扣了几百块钱。

最后,跟华作了一个简单的告别后,我便离开了这家公司。虽然在这家公司的时间也同样很短,而且离开的时候还发生了这点不愉快的事情,但是在这里我还是学到了一些东西,比如对VS2005使用的掌握、多人共同开发时使用Visual Source Safe(简称VSS)对源代码进行版本控制、Windows Server 2003作为Web服务器的配置等。

当我再一次停下来后,我发现毕业后的这四年多的时间竟是过得如此之快,而这四年多的时间里我的转变也是如此之大。不管承不承认,我已完全放弃了我的专业了,而走进了程序开发的行列,俨然成了一名程序员,同时也或深或浅地被烙上了程序员的印记。


《当程序员的那些狗日日子》(十八)转移阵地

毕业已四年多,上学时的五室友,各自又有了较大的变化。老大仍在那家较大的电力公司就职,而且他已结婚了,他的妻子是他高中时的同学,那时他们已互相倾慕,在老大上大专时却发生过一些小曲折,但此时他们最终修成正果,喜结良缘。很值得敬佩的是,老大决定考研,而且已着手准备,而他想报考的学校就是华北电力大学(此时该校本部已由河北保定迁至北京),这是我们专业升本或考研的最理想的目标学校。对此他的妻子也很支持他。

勇自然也仍在那家较小的电力公司做着,而且他也结婚了,而他的妻子我曾见过一面。早在2004年9月份,那时我正在学习网站开发的相关技术,正苦闷着的时候,勇正好要回河北保定的老家,他相邀我一起到他家去玩,于是我便很乐意地答应了。那天正好是中秋节,所以这一年的中秋节是在勇的家中与勇及他的家人一起度过的。令我印象深刻的是,晚上我和勇走到外面去散步,我平生第一次见到了北方的那种高粱地,一大片一大片的,在一轮明月的映照下,有点一望无际的感觉,远离了城市的喧嚣,置身其中,显得十分静谧安详,而抬头就是美丽的圆月,真是美美的月色浓浓的秋,仿如人间胜地,使人身心完全放松。而当晚到了凌晨就是2004年雅典奥运会女排决赛,我和勇都看完了整场比赛,我们看到了中国女排夺冠时那激动人心的一刻。如今那一批中国女排成员已纷纷退下来了,但精彩经典的一刻却留在了我的记忆中。第二天我和勇出到保定市区,在这里见到了勇刚认识没多久的女朋友,一个很温柔贤淑的女生。而这时这位女生已成了勇的妻子。

已回山东老家的“海牛”仍在那家中型电力国企混着,他也同样结婚了,而且他真的是在“混”着,正一步一步往上混,此时已混到一个不错的职位。小伟早已从他朋友介绍的那家小公司离职,跳到了中关村的一家做电子显示屏的公司,也有点脱离了本专业,此时他正面临着如何继续向前发展的问题。大伟则继续在西门子旗下的那家公司做着,此时已完全稳定下来,而且工作正做得十分顺手,很有发展潜力。大伟和小伟都正在跟MM交往着,但都还没有确定关系,所以此时,对于仍然单身的我来说,也算是还有他们俩相陪。

说起保定,说起华北电力大学,不免勾起了我的一些回忆,这是我和初恋女友曾一起去过、留下共同足迹的地方,那些一起牵手漫步其中的情景仿佛犹在眼前,但此时和她有关的一切早已成为往事了。

时隔几个月,宇已与他之前所说的那个MM完全确定了关系,此时刚从东北老家完婚回来,玩了一把“闪婚”,可谓神速。

又是一个周末,老乡和他女朋友丽又到丽的家去了,所租的楼房里就剩我一人。正好宇打电话来约我过去他住处喝酒,我正闷得很,所以一口答应了。

在宇的住处里我见到了他的新婚妻子,很质朴传统的一个女子,由于她还要去上晚班,所以先走了。就剩下我和宇两人,我们又喝开了。宇说,感情已定下来,他也无所求了,一心好好努力赚钱,希望日子可以过得更好一些。

也许是我心里积压了太多的郁闷,和宇边敞开内心聊着天,边大口地喝起来,又是白酒啤酒都喝了。这一次喝得很多,不但肚子里翻江倒海,还严重上头了,当场就吐得一塌糊涂,晚上我回到住处后,仍然狂吐不已,稍停下去之后又再涌来一次,反反复复。晚上刮起了大风,除了那呼呼北风的阵阵凄厉声,这一晚,还有我反复狂吐的阵阵痛苦声,我的五脏六腑都差点被吐出来了,我也才深刻地体会到了什么叫过量喝酒和那种撕心裂肺的感觉。每一次对着马桶在吐黄胆水的时候,我便感到自己十分无助与可怜,眼泪也似乎要在我的眼眶里打转。我尝试找点红糖来解酒,但根本没用,酒已入胃伤肝。最后,已是深夜两三点,胆汁都几乎全被倒出来、已无可再吐的时候,我才疲惫无力地昏昏睡去。

第二天醒来,头像裂开了一样,胃里仍然十分难受,感觉像大病了一场,虽然感觉很饿,但却胃口全无。整套楼房显得冷冷清清的,一种强烈的孤独感向我袭来。

我突然发觉我累了。从最初离开家乡到北方来上学,到第一份业务员的工作,再到此时程序员的工作,一路走来,可谓曲折坎坷。我发现自己在这座城市里竟是一无所有。我没有了自己的学校,没有了自己的专业,没有了爱情,也没有金钱,甚至开始没有了激情和冲劲。

继续找工作找了两三个星期后,时间已来到2007年1月份的中下旬,眼看离新一年的春节也只有一个月左右的时间了,想想年终岁末的并不是找工作的好时机,而且,我真的不想再在异乡过春节了。

于是我萌生了回去广东的念头。的确,我不想再在这座城市漂泊下去了。离开家在外这几年,回家的次数很少,与家人相聚的时间也就很少。这几年我没有得到什么,却失去了很多。

于是我开始尝试在网上投简单,而我所选定的城市就是广州和深圳,因为在广东,自然就是这两个城市比较适合找IT类的相关工作。

经过几番周折后,我终于在广州找到了一份以ASP.NET + C#做网站程序开发的工作,为此我可谓千里迢迢地从北京跑到广州和深圳去面试了。虽然在深圳也有一家公司答应了聘用我,但权衡比较后,我还是选择了广州这家公司。

终于要离开北京这座城市了,当我将离开的消息告诉各同学朋友后,众人大感突然。在离别前的聚餐中,大伟和我干了一杯后紧紧地抱着我,动情地说,“兄弟,保重!希望你回广东后有一个更好的发展前途!”我知道,此一别之后,以后也许就很难再见到这些昔日的同窗好友了,于是我也紧紧地和大伟抱了一下。上学时经常和我斗嘴的小伟,也和我干了一杯后说,“兄弟,莫愁前路无知己,天下谁人不识君!”虽然是简单说来,却让我心里感动异常。多豪迈悲壮的诗句啊,仿佛这两句诗就是专门为我而写的。但是后来的事实却告诉我,我并没有被天下人所认识,我依然只是一名默默无闻的小程序员。

但是我并没有给盈去电以告知她一声。既然都要离开北京而回广东去了,以后就天各一方,想想还是算了。

走的那一天,老乡送我去北京西站坐火车。多熟悉的情景,正好一年前,正是我的好兄弟戈要回去的时候,是我送他去北京西站坐火车的,而此时,却是我要回去了,而由我的老乡相送。但是这一天并没有下雪,而且直到这时,这个冬天有没有下过雪,现在我实在想不起来了,所以能让我想起的在北京的最后一场雪,就是此时的一年前我送戈去坐火车时的那一场雪。

坐车经过长安街时,望着长安街上的永安里、东单、王府井、天安门、西单等一处处我曾到过无数次的地方在我眼前由远及近,再由近及远,我竟百感交集。这条有“神州第一街”之称的长安街,我再熟悉不过了,我已不知曾坐1路、4路、特1路、728路公交车来往于其中多少次了,亦不知曾在其上步行走过多少次了。但是我知道,此一别之后,以后也许再难踏足这里了。

我想起了一年多以前戈跟我说起的话,他希望我可以在这里混出名堂来,但我并没有混出名堂来;我也想起了2003年9月份从家里再到北京来时的情景,而到此时又度过了三年多的时间了。三年多以前离开北京是因为失恋,而此时再度离开则是因为不想再漂泊下去了。

在北京西站检票口前跟老乡作了最后告别后,我就往检票口里边走去,我没有再回过头来看老乡,因为我已无法控制自己而掉下了眼泪,那是为几年的曲折坎坷和离别的不舍而掉下的眼泪。就是我的这位老乡,我这位好哥们、好兄弟,毕业后我就几乎一直和他在一起,他给了我很多关照和帮助,几年来和他一起经历了许多事情,彼此建立起了很深的友情,但此一别之后,以后就天各一方了。但是无论如何,我在心里都要感谢我的这位老乡,感谢他给我了我很多关照和帮助。

人生中有很多事情,你每天都重复着,感觉不到有什么变化,但有一些事情,却是让你觉得会有所不同的。有时候一个决定,就是一种人生轨迹。我此一别,就是一个决定,因此也开始了另一段人生轨迹,而“北漂”的日子也从此画上了一个句号。

最后,我没有带走什么,但我上大专后的最年轻的那几年时光,却留在了这里。

 

《当程序员的那些狗日日子》(十九)新的天空下

行色匆匆地回到家里,短暂地停留了两天后,我又匆匆地赶去广州,因为我到新公司去上班的日子很快就到了。

到广州后我先找到了我的一位老朋友、小学同学兼亲戚业,因为我要先在他的住处借宿。业是我的同姓亲戚,追溯到上几辈为同一个先人所出,辈分上他是叔父辈,但是他只比我大一岁。小时候我们一起长大,一起上小学,玩得很好,后来他父母到外地去工作,所以他也随父母到外地去上学了,但是我们一直保持着很好的关系。后来我和他都上大专了,我在北方,他在广州,毕业后我继续在北京工作,而他就在广州,大家天各一方,所以联系就少了,感情也有点疏远了。

业学的也是计算机相关专业,但他毕业后并没有搞过编程,而是做了一名硬件产品技术支持人员,他不想搞编程的原因,用他的话来说就是,“不想贱卖脑力”。相反,非计算机相关专业毕业的我,却搞起了网站程序开发。这不就是所谓的“围城”吗?里面的人想出去,外面的人想进来。至于是不是在贱卖脑力,我想每一个程序员都有自己的体会吧。

业是住在天河区中山大道西边上的一个叫棠下村的地方,这是广州有名而典型的城中村,处在广州城市的边缘,当中龙蛇混杂,人员众多,杂乱无序,与广州这座大城市的现代化发展步伐似乎格格不入。但是这里却使得到广州谋生的各色人员找到了一个临时栖身的好去处,尤其是那些大学毕业后就在天河区一带上班的“广州新白领”中,很多人都住在了这里。所以这里能经常见到许多俊男美女出入其中,这也成了这里的一道独特风景线。

业已在一年前结婚了,他的妻子是湖北人,由于她已在广州工作多年,所以能说得一口流利的粤语。此时业和她在同一家公司上班,业继续做着硬件产品技术支持的工作,而她则是一名客服人员。所以我便先在他们所租住的房子借住几晚。

我到新公司去报到的日子到来了,我很清楚地记得,我入职这一天是2007年2月5日。

公司是在环市东路区庄附近东山广场对面的一座写字楼里,公司是一家新成立的公司,做的是旅游景点门票的代理和销售的业务,即从上游的各大小景点(即供应商)取得门票的代理权,然后将门票销售给下游的各门票销售点(即销售商)进行零售,同时公司本身也在做零售。除了旅游景点门票业务外,公司还兼做演出门票、体育赛事门票、电影票、飞机票、车船票等各种类型的票务业务。所以相应地,公司就要做一个电子商务平台网站来实现这些业务的网上操作,而要负责这个网站的开发工作的,就是我所在的技术部门。

部门经理姓曾,湖南人,大概比我大三岁,长得有几分瘦小,但人却很活跃及有几分风趣幽默,对下属态度很好。曾经理似乎对我的到来寄予厚望,正是因为看中我在北京那家票务公司的工作经历,所以他才把我招聘进来了。

除了曾经理,部门中还有其他三位同事,一位是比我小一岁的剑,一位是比我小四岁的永,还有一位则是比我小五岁、刚毕业半年多的浩,此时他们都正忙于网站的开发工作。

公司的这个电子商务平台网站,实际上并不是在全新的基础上进行开发的,而是在原有基础上所做的二次开发,因为这是曾经理原来所在的公司所开发的一套网站系统,所以是由曾经理提供这套系统来做二次开发的。但曾经理并没有参与实际的开发工作,而是统筹公司里有关技术方面的工作,根据公司业务分析并得出网站要开发的内容及将开发任务分配给各人。

从与曾经理及其他三位同事的聊天中了解到,曾经理以前并不是做ASP.NET开发的,而是其他语言的开发,而此时他却成了一个不需要参与实际开发工作的技术经理,这可以说是比较典型的一个例子,由此也似乎可以看到,要上升到技术经理的角色,并不一定要从目前开发中所用到的那种语言走出来,关键是机会能不能降临到你的头上。曾经理之所以能得到这样的机会,那是因为他能提供出一套可以直接用于二次开发的网站系统。

之前面试时曾经理就曾跟我说起,公司是由一家风险投资公司投资建立的,创业团队中共有四人,曾经理就是其中一人。所以由此可知,曾经理能成为创业团队成员之一,毫无疑问是因为他提供了这套网站系统。此外还有他跟团队中其余三人认识的缘故。

创业团队中的其余三人,分别是公司的老总、产品开发部经理建和市场部经理霞。听说公司老总原先是广州一家大型旅行社的骨干成员,曾做过酒店门童和业务员,是通过一步一步的努力爬上来的,后来他找到风险投资,所以就拉来了建、霞和曾经理,组成了创业团队,成立了此时的这家门票公司。建和霞都与我年龄相仿。

老总是广州人,看上去也很年轻,高高瘦瘦的样子,短发,讲话声音洪亮有劲,语速很快且吐字清晰,很健谈,言谈举止间有一种领导的风范,一看就是个精明能干的生意人。老总每次都是短暂地出现在公司后,又匆匆地走了,真是“神龙见首不见尾”。后来我才得知,老总只比我年长五岁,真正的年轻有为。

此时公司除了技术部门各成员及老总、建、霞三人外,还有负责人事和行政管理工作的一位女同事澜及和我一样也是刚招聘进来的人事专员雪,所以此时公司的成员正好一共是十人。听曾经理说,澜和他年龄差不多。而雪则和我年龄差不多。此时公司的办公室,除了技术部门的办公室外,其他办公室都还没有装修好,所以各人都临时在技术部门的办公室办公。所以这完全是一家新公司,不但是一家新公司,还是一家年轻的公司,因为公司的成员每一个人都很年轻。

澜是个大美女,很有气质,每天变着样的时尚穿着和打扮,凹凸有致的迷人身材,举手投足间便流露出一个渐趋成熟的女人的韵味和独有的魅力。听曾经理说,澜是霞的好朋友,以前就是做人事和行政管理的工作的,所以霞把她请来了。

雪来自河北,已在广州工作和生活了多年,所以能说上一口不是很标准的粤语。雪每天不停地打出电话和接听电话,都是预约对方到公司来面试或是对方来电询问公司的招聘情况的,并且已有不少人到公司来面试了。看到这种情景,我心里还是感受到了一种积极向上的因素。这是一种良好的发展势头。

公司电子商务平台网站的程序是用ASP.NET 2.0来开发的,所以相应地就用到了VS2005,而且由于是多人共同开发,所以也用到了VSS来对源代码作版本控制。我在北京那家互联网公司学到的有关这两方面的知识,此时正好可以派上用场了。

将我所使用的电脑的操作系统安装好,再将开发环境安装和配置好,接着再开始阅读网站程序代码,简单地忙碌几天后,很快就到了周末双休日了。

在此期间我已在业的帮助下找到了一间房子并搬了进去,虽然环境有些恶劣,但暂时就将就着了。正是从这时开始,我成了棠下村这个广州有名而典型的城中村的一名租客,而且在这里一住,就住到我离开广州后。

从北京马不停蹄地经广州赶回家里,再从家里出来广州,接着再到新公司去上班,对于广州这座城市,我都没有来得及多看其两眼。趁周末的休息时间,我便先去逛了逛广州城。

广州作为我从家里到北京的中转站,我已有很多次经过这里了,尤其是广州火车站,我对它实在是太熟悉不过了,此外我就只到过广州的一些地方如白云山、北京路、动物园等,所以对于广州的了解也只止于这些。这一次真正走进广州,才让我看到了广州的更多的城市风貌。与北京相隔两千多公里,这里跟北京的确有很大的不同,除了气候,还有语言、饮食、城市建设、人文氛围等各方面。这里不再有地道的京腔,也很难听到标准的普通话,取而代之的是粤语、各种版本的方言和南腔北调的普通话;在城市建设上,很难找到像北京那种方方正正的结构,整个城市的建设看上去更像杂乱无章,远没有北京那样显得井然有序,而且马路中随处可见那种错综复杂而又毫无设计可言的高架桥。总体看上去,整个城市似乎没有北京那样显得大气。

但从另一方面来看,广州却有着它自己独特的风格。这里似乎显得更加自由、开放和包容,不管哪个阶层、来自哪里的人,都能在这里找到自己的位置。正如我在公交车车载电视视频中所看到的那则正在热播的有关《广州日报》的广告那样,“无论你是谁,从哪里来,只要你努力,广州总是欢迎你!”似乎那则广告就是为像我一样来到广州的人而制作的,所以那则广告让我印象十分深刻。在我看来,广州跟北京的不同之处,除了表面所见到的之外,更有隐藏在里面的东西,比如广州的商业环境和氛围,也许那才是广州的真正的魅力所在。

此时北京正是寒冷萧瑟的冬天,但广州却冬暖如春,仍然一片绿意盎然。虽然离开北京时我正感慨万千和充满了离愁别绪,但此时新公司和新的城市还是给我带来了新的感觉。由于对广州城市还不熟悉,所以也让我对广州充满了想象和新鲜感,以及有那么一点温馨的感觉。尤其是晚上走在繁华的街道上,人来人往,热闹非常,更让我流连其中。想此时寒冷中的北京,一到晚上街道上就冷清起来了。最重要的是,在广州我不再感到漂泊着了。从广州到我家的路程大概有两百公里,但相比于从北京到我家的路程,简直可以忽略不计;而且,广州的那种南粤文化氛围,对我这个土生土长的广东人来说,很容易就可以适应。所以在广州,让我很容易就找到了那种认同感。

就这样,在广州这片新的天空下,我开始了新的工作和生活。

 

《当程序员的那些狗日日子》(二十)远景与画饼

接着再上了几天班后,就到春节假期了。回家过春节变得不再遥不可及,而成了一件再容易不过的事情,从广州芳村客运站买上汽车票,坐上大巴客车,两个多小时的车程后,就可以直达家门口。

直到回到家中过起了春节,我似乎都还没有回过神来。从决定离开北京到此时回到家中过春节,这段不长的时间里转变实在是太大了,以至于我的思维一时还没有转变过来。而且时隔几年后,这一次在家过春节,与上一次2003年初在家过春节的感觉已完全不同。盼了三个春节后,父母和家人终于在这个春节盼到我回来过春节了。

春节里我见到了很多比我小好几岁的曾经的小伙伴,由于这几年我很少见到他们,我对他们的印象还停留在几年前他们的样子还很稚嫩的时候,而此时他们都一个个长大成人了,这几年正是他们从十三四岁到20岁左右成长最快和变化最大的阶段,他们都完全变了个样,所以我几乎认不出他们来。这种强烈的变化给了我很大的感触,是一种对生命变化的感触。这些曾经的小伙伴,我以前和他们都很熟或玩得很好的,但此时我都几乎认不出他们来了,而他们对我也几乎没有了印象。我突然有了一种很强烈的感觉,我宁愿这几年不是在两千多公里外的北方度过,而是在广州或广东的任何一个城市度过,这样我就可以经常回家,可以见到这些曾经的小伙伴慢慢长大成人,这样我就可以保持着一种对他们成长变化的连贯感。

春节在与父母的聊天中,父亲第一次在我面前问起了我的婚恋问题。他说,我小学的同学一个个都结婚了,我也不小了,是时候要考虑这个问题了。父亲的话犹如一针提神针,不偏不倚地点中了我的神经。是啊,我的确不小了,一过春节后,我就27周岁了,的确已完全到了谈婚论嫁的年龄。不但我小学的同学一个个结婚了,我大专的同学,也开始陆续结婚了,最显而易见的就是同宿舍的老大、勇和“海牛”都结婚了。时间真是过得好快啊,我的思绪还停留在大专刚毕业时那些年少的时光,但转眼间就到了谈婚论嫁的年龄了。

虽然相隔三个春节后再回到家里过春节,但这个春节我却不能真正地开心起来,因为我见到了我曾祖母已是风烛残年,她已走到了她生命中的最后阶段。我的心里很难过。

春节假期过后,我继续回到公司上班。

经过一个春节假期后,公司的办公室已基本装修好,而且雪的工作也见成效了,公司各部门不断有新同事来报到。很快,产品开发部、市场部、客服部、财务部等各部门都已人马齐集,公司人气直升,与春节前相比已是另一番景象。所有的同事都很年轻,年轻成了公司的明显特征。

老总召集全体员工开了一次员工大会,会上老总大谈特谈公司的发展目标,那就是要做一个全国范围内旅游景点门票的电子商务平台,而且要做到上市。老总给大家画了一个美好的蓝图和远景。似乎一说到风险投资,都是要做到上市的,真是一个美好的远景啊。

当天下班后公司就请全体员工去唱K,以作为全体员工的首次聚会。K歌晚会上产品开发部和市场部的那些新同事,不管男女都唱得很猛──当然喝的都是啤酒──我上洗手间的时候,就见到几个比我年轻不少的男同事吐了。他们都是产品开发部或市场部的同事,都是业务人员。如此情景,不免让我想起了我刚毕业后做业务员时的情景。那是段充满激情和梦想的日子,那时的我就像眼前的这些同事一样,即使喝倒了,也无所畏惧。如果时光可以倒流,我还愿意像这些同事一样,喝倒了第二天再站起来。

在这里我算是见识到了市场部经理霞的酒量,她连连跟多个男同事对饮后依然面不改色、神态自若,果真是个女中豪杰、酒中巾帼,可见她能做到此时的职位,肯定付出过不少,并非浪得虚名。

当然我也喝得很多,最搞笑的是,在与霞对饮时,我还是被她“大”回来了,我自认还是没有她那酒量和气势啊。

经过一段时间后,公司各部门均已正常运作起来了。产品开发部经理建带领他的团队,已谈下了广州市范围内多家大大小小的旅游景点,并且广州市以外广东省范围内的一些知名景点也谈下来了。霞也带领她的团队签下了广州市内多家门票销售点及广州市外广东省内部分地区的旅行社。

这边厢,曾经理也带领技术部各成员紧张而有序地进行网站程序开发的工作。还在试用期的我,自然很卖力。面试时我跟曾经理谈的工资并不是很高,一是因为我当时急于想在广州或深圳找到一份工作,所以提出的期望工资并不高;二是因为曾经理给我开出的工资也不高,因为他说公司正处于创业的初始阶段,所以待遇上暂时会低一点,但等公司发展起来了,一定不会亏待大家的。事实上当时我也是因为觉得这是一家新公司,应该有一定的发展机会,所以才决定先进来看看的。所以尽管工资不是很高,我还是很积极地工作。

此时公司网站已在运行当中,所以就是一边开发新的功能一边将程序更新到运行中的网站上的。我、剑、永、浩四人中,分工也略有不同,我们四人都参与实际的开发工作,但剑还另外负责统一将我们四人开发完的程序更新到网站上,而浩则兼顾开发所用服务器的维护、公司各部门电脑软硬件的维护等工作,而我和永则完全在做开发的工作。公司并没有招专职的美工,所以我们都需要兼做简单的美工设计。

曾经理通常都和我们四人一起去吃午饭,他也常常在周五下班后请我们去聚餐,这时他通常都会跟我们说起公司的发展目标和发展前景,他希望我们各人都可以专心地工作,尽心尽力地将公司网站做好。他说他是有公司股份的,如果公司上市了,即使公司不奖励大家,他个人也会奖励大家,甚至每人奖励一辆小车都不成问题。

从这些言谈中看得出来曾经理对公司网站的开发情况很重视,他不时请我们去聚餐,就是以一种特殊的方式对我们进行鼓励,希望我们各人能好好地做好网站开发的工作。事实上我对公司的发展前景还是抱有一定的希望的。但是对于公司是否能做到上市,何时能做到上市,我却没有过多去想,而对于曾经理说到的上市后即使公司不奖励大家他个人也会奖励大家的问题,我就根本不抱有想法。不是我对曾经理的承诺没有信心,而是我觉得这些事情不太靠谱,当中有太多的不可能。如果此时我是刚毕业的人,那么我可能会相信的,但是这时我已毕业四年多,已在社会混了好几年了,我就不可能会相信。远景虽美,但是并不是人人都可以分享到的。

所以我宁愿相信这是曾经理在给我们画下的一个大饼,以此来让我们更有动力去工作,以尽快地提高网站开发的进度,这是曾经理的一种激励手段和策略。他这样做,完全是从公司和他作为技术经理的角度出发的。但是我宁愿曾经理不要画这样的大饼,而是比较实际地说,根据我们各人完成的工作量和工作表现来确定给各人加工资,比如半年后加一千、一年后加两千等,这样来得更有意义。但是这样做,即使曾经理愿意,公司也未必答应,所以就只好先画大饼了。

但是站在曾经理的角度来说,他这样做也无可厚非。曾经理大概比我大三岁,所以此时他已到了“三十而立”之年了。他从一名一线的编程人员做到技术经理的角色,并不容易,这当中除了他自身的努力外,还有很大的机遇的成分在内。所以曾经理能得到这样的一个机会,他自然会很看重,并紧紧地把握住,他只有将他的工作做好了,简言之就是把公司的电子商务平台网站做好,以保障公司的业务得以正常地运作下去,他才能稳固他的职位,他也才可能真正地得到更大的发展,以实现他的经济目标。否则如果他没有将他的工作做好,那么老总就有可能考虑换人选,那么他就失去了一个好的机会,他也将重新回到一线编程人员的角色。所以从这方面来说,我又完全理解了曾经理画大饼的做法。

但是值得肯定的是,曾经理对待我们各人还是很诚恳的,他可以完全和我们打成一片,和我们聊天说笑,而没有那种作为技术经理而故意摆出来的架子和姿态,这也是我喜欢他为人的主要原因。尽管他给我们画了一个大饼,但我还是认为他是一个好上司。

 

 

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

 

相关推荐
<p> 需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:原理与源码解析》, </p> <p> 课程链接 https://edu.csdn.net/course/detail/29865 </p> <h3> <span style="color:#3598db;">【为什么要学习这门课】</span> </h3> <p> <span>Linux</span>创始人<span>Linus Torvalds</span>有一句名言:<span>Talk is cheap. Show me the code. </span><strong><span style="color:#ba372a;">冗谈不够,放码过来!</span></strong> </p> <p> <span> </span>代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。 </p> <p> YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。 </p> <p> YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。 </p> <h3> <span style="color:#3598db;">【课程内容与收获】</span> </h3> <p> 本课程将解析YOLOv4的实现原理和源码,具体内容包括: </p> <p> - YOLOv4目标检测原理<br /> - 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算<br /> - 代码阅读工具及方法<br /> - 深度学习计算的利器:BLAS和GEMM<br /> - GPU的CUDA编程方法及在darknet的应用<br /> - YOLOv4的程序流程 </p> <p> - YOLOv4各层及关键技术的源码解析 </p> <p> 本课程将提供注释后的darknet的源码程序文件。 </p> <h3> <strong><span style="color:#3598db;">【相关课程】</span></strong> </h3> <p> 除本课程《YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括: </p> <p> 《YOLOv4目标检测实战:训练自己的数据集》 </p> <p> 《YOLOv4-tiny目标检测实战:训练自己的数据集》 </p> <p> 《YOLOv4目标检测实战:人脸口罩佩戴检测》<br /> 《YOLOv4目标检测实战:中国交通标志识别》 </p> <p> 建议先学习一门YOLOv4实战课程,对YOLOv4的使用方法了解以后再学习本课程。 </p> <h3> <span style="color:#3598db;">【YOLOv4网络模型架构图】</span> </h3> <p> 下图由白勇老师绘制 </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202006291526195469.jpg" /> </p> <p>   </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202007011518185782.jpg" /> </p>
<p> 欢迎参加英特尔® OpenVINO™工具套件初级课程 !本课程面向零基础学员,将从AI的基本概念开始,介绍人工智能与视觉应用的相关知识,并且帮助您快速理解英特尔® OpenVINO™工具套件的基本概念以及应用场景。整个课程包含了视频的处理,深度学习的相关知识,人工智能应用的推理加速,以及英特尔® OpenVINO™工具套件的Demo演示。通过本课程的学习,将帮助您快速上手计算机视觉的基本知识和英特尔® OpenVINO™ 工具套件的相关概念。 </p> <p> 为保证您顺利收听课程参与测试获取证书,还请您于<strong>电脑端</strong>进行课程收听学习! </p> <p> 为了便于您更好的学习本次课程,推荐您免费<strong>下载英特尔® OpenVINO™工具套件</strong>,下载地址:https://t.csdnimg.cn/yOf5 </p> <p> 收听课程并完成章节测试,可获得本课程<strong>专属定制证书</strong>,还可参与<strong>福利抽奖</strong>,活动详情:https://bss.csdn.net/m/topic/intel_openvino </p> <p> 8月1日-9月30日,学习完成【初级课程】的小伙伴,可以<span style="color:#FF0000;"><strong>免费学习【中级课程】</strong></span>,中级课程免费学习优惠券将在学完初级课程后的7个工作日内发送至您的账户,您可以在:<a href="https://i.csdn.net/#/wallet/coupon">https://i.csdn.net/#/wallet/coupon</a>查询优惠券情况,请大家报名初级课程后尽快学习哦~ </p> <p> <span style="font-size:12px;">请注意:点击报名即表示您确认您已年满18周岁,并且同意CSDN基于商务需求收集并使用您的个人信息,用于注册OpenVINO™工具套件及其课程。CSDN和英特尔会为您定制最新的科学技术和行业信息,将通过邮件或者短信的形式推送给您,您也可以随时取消订阅不再从CSDN或Intel接收此类信息。 查看更多详细信息请点击CSDN“<a href="https://passport.csdn.net/service">用户服务协议</a>”,英特尔“<a href="https://www.intel.cn/content/www/cn/zh/privacy/intel-privacy-notice.html?_ga=2.83783126.1562103805.1560759984-1414337906.1552367839&elq_cid=1761146&erpm_id=7141654/privacy/us/en/">隐私声明</a>”和“<a href="https://www.intel.cn/content/www/cn/zh/legal/terms-of-use.html?_ga=2.84823001.1188745750.1560759986-1414337906.1552367839&elq_cid=1761146&erpm_id=7141654/privacy/us/en/">使用条款</a>”。</span> </p> <p> <br /> </p>
<p> 课程演示环境:<span>Ubuntu</span> </p> <p> <span> </span> </p> <p> 需要学习<span>Windows</span>系统<span>YOLOv4-tiny</span>的同学请前往《<span>Windows</span>版<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》 <span></span> </p> <p> <span> </span> </p> <p> <span style="color:#E53333;">YOLOv4-tiny</span><span style="color:#E53333;">来了!速度大幅提升!</span><span></span> </p> <p> <span> </span> </p> <p> <span>YOLOv4-tiny</span>在<span>COCO</span>上的性能可达到:<span>40.2% AP50, 371 FPS (GTX 1080 Ti)</span>。相较于<span>YOLOv3-tiny</span>,<span>AP</span>和<span>FPS</span>的性能有巨大提升。并且,<span>YOLOv4-tiny</span>的权重文件只有<span>23MB</span>,适合在移动端、嵌入式设备、边缘计算等设备上部署。<span></span> </p> <p> <span> </span> </p> <p> 本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv4-tiny</span>训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。<span></span> </p> <p> <span> </span> </p> <p> 本课程的<span>YOLOv4-tiny</span>使用<span>AlexAB/darknet</span>,在<span>Ubuntu</span>系统上做项目演示。包括:<span>YOLOv4-tiny</span>的网络结构、安装<span>YOLOv4-tiny</span>、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计<span>(mAP</span>计算和画出<span>PR</span>曲线<span>)</span>和先验框聚类分析。 <span> </span> </p> <p> <span> </span> </p> <p> 除本课程《<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》外,本人推出了有关<span>YOLOv4</span>目标检测的系列课程。请持续关注该系列的其它视频课程,包括:<span></span> </p> <p> 《<span>YOLOv4</span>目标检测实战:训练自己的数据集》<span></span> </p> <p> 《<span>YOLOv4</span>目标检测实战:人脸口罩佩戴识别》<span></span> </p> <p> 《<span>YOLOv4</span>目标检测实战:中国交通标志识别》<span></span> </p> <p> 《<span>YOLOv4</span>目标检测:原理与源码解析》<span></span> </p> <p> <br /> </p> <p> <br /> </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202007061437441198.jpg" /> </p> <img alt="" src="https://img-bss.csdnimg.cn/202007061438066851.jpg" />
<p> 课程演示环境:Windows10  </p> <p> 需要学习<span>Ubuntus</span>系统<span>YOLOv4-tiny</span>的同学请前往《<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》 <span></span> </p> <p> <span> </span> </p> <p> <span style="color:#E53333;">YOLOv4-tiny</span><span style="color:#E53333;">来了!速度大幅提升!</span><span></span> </p> <p> <span> </span> </p> <p> <span>YOLOv4-tiny</span>在<span>COCO</span>上的性能可达到:<span>40.2% AP50, 371 FPS (GTX 1080 Ti)</span>。相较于<span>YOLOv3-tiny</span>,<span>AP</span>和<span>FPS</span>的性能有巨大提升。并且,<span>YOLOv4-tiny</span>的权重文件只有<span>23MB</span>,适合在移动端、嵌入式设备、边缘计算设备上部署。<span></span> </p> <p> <span> </span> </p> <p> 本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv4-tiny</span>训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。<span></span> </p> <p> <span> </span> </p> <p> 本课程的<span>YOLOv4-tiny</span>使用<span>AlexAB/darknet</span>,在<span>Windows10</span>系统上做项目演示。包括:<span>YOLOv4-tiny</span>的网络结构、安装<span>YOLOv4-tiny</span>、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计<span>(mAP</span>计算<span>)</span>和先验框聚类分析。 <span> </span> </p> <p> <span> </span> </p> <p> 除本课程《<span>Windows</span>版<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》外,本人推出了有关<span>YOLOv4</span>目标检测的系列课程。请持续关注该系列的其它视频课程,包括:<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:训练自己的数据集》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:人脸口罩佩戴识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:中国交通标志识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测:原理与源码解析》<span></span> </p> <p> <span> <img alt="" src="https://img-bss.csdnimg.cn/202007061503586145.jpg" /></span> </p> <p> <span><img alt="" src="https://img-bss.csdnimg.cn/202007061504169339.jpg" /><br /> </span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页