凌寒飘香

____成风破浪会有时,直把云帆济沧海!

  博客园 :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::

2012年3月19日 #

版权所有:不知道
  以下文章都是经典,看不看随你的便,我只希望知识掌握在更多中国人的手里!
  中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的Cfans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人。
  程序员基本素质:
  作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。
1. 团队精神和协作能力
  把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。
2. 文档习惯
  说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
3. 规范化,标准化的代码编写习惯
  作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
  fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。
  再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。
4. 需求理解能力
  程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广 告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
5. 复用性,模块化思维能力
  经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。
  复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。
  一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。
6. 测试习惯
  作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
  测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到需求理解能力。
7. 学习和总结的能力
  程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。
  善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。但是学习也要找对目标,一些小coding有些codingTO就是这样的coding上只是一些Cfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。
  善于总结,也是学习能力的一种体现,每次完 成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。
  一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。
  那么作为高级程序员,以至于系统分析员,也就是对于一个程序项目的设计者而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1. 需求分析能力
  对于程序员而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,他们不但要理解客户需求,更多时候还要自行制定一些需求,为什么这么说呢?
  一般而言,进行研发任务,也许是客户提出需求,也许是市场和营销部门提出的需求,这时候对于研发部门,他们看到的不是一个完整的需求,通常而言,该需求仅仅是一些功能上的要求,或者更正规些,可能获得一个完整的用户视图;但是这都不够,因为客户由于非技术因素多一些,他们可能很难提出完整和清晰,或者说专业性的性能需求,但是对于项目组织者和规划者,他必须能够清醒认识到这些需求的存在并在完成 需求分析报告的时候适当的提出,同时要完整和清晰的体现在设计说明书里面,以便于程序员编码时不会失去这些准则。
  程序设计者必须正确理解用户需求所处的环境,并针对性做出需求的分析,举例而言,同样一个软件通过ASP租用方式发布和通过License方式发布,性能需求可能就是有区别的,前者强调的是更好的支撑能力和稳定性,而后者则可能更强调在各种平台下的普适性和安装使用的简捷性。
2. 项目设计方法和流程处理能力
  程序设计者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项 目的整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。
  一个程序设计者还需要把很多功夫用在流程图的设计和处理上,他需要做数据流图以确立数据词典;他需要加工逻辑流图以形成整体的系统处理流程。一个流程有问题的系统,就算代码多漂亮,每个模块多精致,也不会成为一个好的系统。当然,做好流程分析并选择好项目设计方法,都需要在需求分析能力上具有足够的把握。
3. 复用设计和模块化分解能力
  这个似乎又是老调重谈,前面基本素质上不是已经说明了这个问题吗?作为一个从事模块任务的程序员,他需要对他所面对的特定功能模块的 复用性进行考虑,而作为一个系统分析人员,他要面对的问题复杂的多,需要对整体系统按照一种模块化的分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。举个例子,好比是汽车生产,最早每辆汽车都是独立安装的,每个部件都是量身定做的,但是后来不一样了,机器化大生产了,一个汽车厂开始通过流水线来生产汽车,独立部件开始具有一定的复用性,在后来标准化成为大趋势,不同型号,品牌甚至不同厂商的汽车部件也可以进行方便的换装和升级,这时候,汽车生产的效率达到最大化。软件工程也是同样的道理,一个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随意换装的,比如微软的许多桌面软件,在很多操作模块(如打开文件,保存文件等等)都是复用的同一套功能模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便挂接,这就是复用化的模块设计明显的一个佐证。
  将一个大型的,错综复杂的应用系统分解成一些相对独立的,具有高度复用性的,并能仅仅依靠几个参数完成数据联系的模块组合,是作为高级程序员和系统分析员一项最重要的工作,合适的项目设计方法,清晰的流程图,是实现这一目标的重要保证。
4. 整体项目评估能力
  作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项 目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验积累,换言之,这是一种不断总结的累计才能达到的境界。在西方一些软件系统设计的带头人都是很年长的,比如4,50岁,甚至更老,他们在编码方面已经远远不如年轻人那样活络,但是就项目评估而言,他们几十年的经验积累就是最重要和宝贵的财富。中国缺这么一代程序员,主要还不是缺那种年纪的程序员,而是那种年纪的程序员基本上都是研究单位作出来的,都不是从专业的产品化软件研发作出来的,他们没有能积累那种产品化研发的经验,这也是没有办法的事情。
5. 团队组织管理能力
  完成一个项目工程,需要团队的齐心协力,作为项目设计者或研发的主管人,就应当有能力最大化发挥团队的整体力量,技术管理由于其专业性质,不大同于一般的人事管理,因为这里面设计了一些技术性的指标和因素。
  首先是工作的量化,没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。
  其次是对团队协作模式的调整,一般而言,程序开发的协作通常分为小组进行,小组有主程序员方式的,也有民主方式的,根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率。
  一个代码水平高的人,未必能成为一个合格的项目研发主管,这方面的能力欠缺往往是容易被忽视的。
  综上可以看到,作为一个主管研发的负责人,一个项目设计者,所需要具备的素质和能力并不是程序代码编写的能力,当然一般情况下,一个程序员通过不断的总结提高达到了这种素质的时候,他所具有的代码编写能力也已经相当不简单了,但是请注意这里面的因果关系,一个高水平的项目设计者通常已经是代码编写相当优秀的人了,但是并不是一个代码相当优秀的程序员就可以胜任项目设计的工作,这里面存在的也不是智商和课本的问题,还是在于一个程序员在积累经验,逐步提升的时候没有意识到应当思考哪方面的东西,没有有意识的就项目的组织和复用设计进行揣摩,没有经常性的文档习惯和总结习惯, 不改变这些,我们的合格的项目设计者还是非常欠缺。
  另外,为防止有无聊的人和我较真,补充一点,本文针对目标是作商业化的软件项目和工程,那些科研机构的编程高手,比如算法高手,比如图象处理高手,他们的工作是研究课题而非直接完成商业软件(当然最终间接成为商业产品,比如微软研究院在作的研究课题),因此他们强调的素质可能是另外的东西,这些人(专家),并不能说是程序员,不能用程序员的标准去衡量。
  最后补充一点东西,一个软件项目研发的设计流程是怎样的呢?以通常标准的设计方法为例,(不过笔者喜欢快速原型法)。
• 第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
• 第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手册。用户视图是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了很多操作方面的流程和条件。数据词典是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。用户操作手册是指明了操作流程的说明书。
  注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此 产生隔阂脱节的现象。
  需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。
• 第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和经验教训的总结,还要重新进行详细设计的步骤。
• 第四个步骤是详细设计,这是考验技术专家设计思维的重 要关卡,详细设计说明书应当把具体的模块以最‘干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软件系统在完成了一半的时候,其实还没有开始一行代码工作。那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
• 第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候吗?从来没有!
• 第六个步骤是测试
  测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条 件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。以上都很好理解,不再解释。
  总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。
  完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营状况并持续修补升级,知道这个软件被彻底淘汰为止。
  写这些步骤算不上卖弄什么,因为实话讲我手边是一本《软件工程》,在大学里这是计算机专业的必修课程,但是我知道很多程序员似乎从来都只是热衷于什么《30天精通VC》之类的,他们有些和我一样游击队出身,没有正规学过这个专业,还有一些则早就在混够学分后就把这些真正有用的东西还给了老师。
  fans乱嚷嚷,混淆视听,实际上真正的技术专家很少在网上乱发帖子的,如笔者这样不知天高地厚的,其实实在是算不上什么高手,只不过看不惯这种对技术,对程序员的误解和胡说,只好挺身而出,做拨乱反正之言,也希望那些还fans们能认真想想,走到正途上,毕竟那些聪明的头脑还远远没有发挥应有的价值。沉迷于一些错误人士的coding
  *****************************
  从程序员升级到工程师大多数象我这样对软件有浓厚兴趣的人,毕业后义无反顾地走进了企业,开始了程序员的生涯。那时,我们迷恋“大全”、“秘籍”一类的书籍,心中只有代码。当我看到一行行枯燥的代码变成了能够打电话的设备,变成了屏幕上漂亮的表格,变成了动听的音乐,成就感油然而生。我觉得自己也是一个出色的程序员了。在用户的机房中苦熬三昼夜解决软件的bug,也成了一种可以夸耀的资历。五年前的某一天,我把曾经让我兴奋自豪的大量代码和少得可怜的文档移交之后,来到了华为。这里有更多的年轻人,我如鱼得水,可以充分发挥自己的想象力。依然是代码,依然是匆匆地在纸上记下稍纵即逝的灵感(我们把它称作文档),依然是无休止地和bug作斗争。当有一天,一个新来 的同事拿着署着我的大名的文档,小心翼翼地来问我时,我发现自己好象有点不认识它了。我心里有点沮丧,再看看代码,发现文档上记录的一些灵感已面目全非。我当时不知道那位新来的同事感受如何,但我从那时起,好象意识到什么。现在来看,那时的很多事情都是事倍功半。
  去年年底,公司派我到印度从事项目开发,学习印度的软件开发管理方法。一种久违的冲动在心底升起。印度,我已去过两次,虽说是走马观花,但是,印象还是比较深刻。我在访问过程中和印度的工程师交流过,他们言谈中透着自信。他们给我讲解正在做的软件的测试环境,给我看他们写的单元测试文档。当我看到一个软件模块的单元测试用例有三百多页时,我觉得心里很是沉重。当我第三次踏上这片土地时,我又见到了熟悉的人们,明亮的眼睛,温和的笑容,随意的穿着,风驰电掣的摩托,还有大学校园中穿着拖鞋,手抱书本的年轻人。
  我也见到了我的项目经理,一个个子较高,瘦瘦的年轻人,据说刚从美国回来,已工作了五、六年。我听了心里很高兴,这回要一招一式地学两手。需求分析的时间是一个月,项目经理和我们(实际上代表客户 )讨论了proposal中的内容,确定每一项都是需要的。然后他把模块大致划分了一下,开始进入计划中的学习阶段。每个人在学习阶段要写出功能描述的胶片,给其他人讲解,不知不觉中,项目组的所有人对项目有了整体的了解。
  他还安排了一些培训,如他们公司的软件开发模型、项目组中各角色的定义,以后及时的培训不断,只要项目组中有需求,他总是把qa或相关的人请来,培训很专业。需求分析完成后提交了一份四十多页的文档,当我看到这份英文文档中我写的部分整整齐齐地列在其中时,我的感觉很复杂,有些喜悦,但更多的是苦涩,我以前怎么就从来没有这样做过需求分析呢。
  在我写文档的过程中,qa给我们培训过srs的写作模板,后来我还是不放心,让他们一个有经验的工程师写了一段,我们再琢磨着照着写。这份srs虽然是多个人合写,但风格一致,内容详实。更为可贵的是,一直到最后,这份需求分析的内容都没有改过,以至于我们没有机会走一下他们的需求更改流程。
  需求分析是项目的第一阶段,第二阶段的开发时间要根据需求分析的结果来确定。当对方的首席技术官(相当于我们业务部的总体组长)来和我们讨论计划时,他们已列出了对每个 模块的代码行数的预测,可能存在的风险。根据他们公司的生产率--300行/人月,他得出了项目第二阶段需要多少周。
  我们当时就提出了异议:1)公司对该项目需求很急;2)每月300行是否太少;3)我们还有下载的源代码参考。他解释说,300行/人月是使得项目能达到他们质量标准的经验数据,考虑到有源代码参考,生产率最多不能超过350行/人月。
  当他问我们公司的生产率时,我脑袋里转了三个圈,没敢多说,大概六、七百行吧。他沉默了一会儿,然后坚定地说,我们这个计划是建立在确保质量的基础上的,我想你们到印度来开发软件,首先看中的应该是我们印度公司的质量保证。我知道你们不缺乏软件开发人员,你们为什么不选择下载的软件呢。几句话说到了我的痛处,现在国内的弟兄们还在为使用下载软件移植的产品四处奔波呢!
  随后的开发活动有条不紊,我们老老实实地跟着做。系统测试计划、用例,概要设计,集成测试计划、用例,详细设计,单元测试计划、用例,编码,单元测试,集成测试,系统测试。一个完整的v模型开发过程,其中每个过程都有review。当我们对一些设计的方法不太明白时,项目经理给我们发来了相关的资料,我不知道他当时是怎么想的,一些基本的分析、设计方法是十年,甚至二十年前的软件工程书中就讲到的,印度每个计算机专业的人员都是必修这些内容的。而我们除了对一些具体协议的代码很熟之外,对这些常用的方法似乎一无所知。我感到一些羞愧,进城直奔书店,把他给我开列的书找了出来,晚上躺在床上,仔细研读,我仿佛突然又遇到了能给我指点迷津的良师益友。现在印度所已形成了强烈的学习风气。我回来后也推销了700多本书,这些书教我们如何用工程化的方法开发软件,是成为一个软件工程师必读的资料。
  我们的项目经理的计划控制能力很强,当有什么影响到项目计划的事情发生时,如人员辞职、实验室搬家、某一模块预测不准(该模块是我们预测的),他总是采取必要的措施,减少延期,调整计划。刚开始,我们对他们每天上午11点,下午4点下楼喝咖啡还有点意见,后来也跟着喝去了,原来,喝咖啡时的交流非常丰富,从项目管理到设计方法,从技术发展到风土人情,无所不包,对我们互相之间的理解,对团队的气氛很有帮助。我们项目的qa也在适当的时候出现在我们的面前,我们对她的工作只有一些感性认识。她每次参加会议时,手里时常拿着一个check list,项目经理准备相应的资料,回答一些问题,她打着勾,或写着项目经理的解释。她给我们做培训时也很耐心,体现出很好的职业素养,我至今还在怀念她给我们的帮助。
  我从事软件开发已有九个年头了,可我现在仍然不能说自己是个合格的软件工程师,更不用谈什么合格的管理者。我看到一份报道说,瑞士洛桑一权威机构把中国的科技综合竞争力从原来的第十三位调到二十多位,原因是他们调整了一些评估标准,其中有一条是中国合格工程师的可获得性非常低。想着弟兄们熬红的双眼,四处奔波升级的疲惫身影,我有一个强烈的愿望:快把我们自己升级成合格的工程师吧!
posted @ 2012-03-19 16:06 凌寒飘香 阅读(6) 评论(0) 编辑

2012年2月8日 #

http://topic.csdn.net/u/20110706/16/fb11324d-cad6-481e-9c15-72ee3147fe60.html(

 

当公交驶过南浦大桥时,我望着斜拉索,心想,我终于来到上海了。

毕业的时候,所有的同学都去了深圳广州;只有我,选择了绍兴下面的一个小县城,为了朦胧的爱情。记得签协议的时候,集团的人事部主任努力的从我的眼睛里寻找肯定的目光,在她看来,愿意从武汉落户到绍兴下面的“小地方”,无疑是脑子进水。

毕业前的散伙饭,大家都哭得东倒西歪。我没有,只有满心的彷徨。

走的时候,爸爸给了我一千块钱和一个箱子,在老妈的泪水涟涟中送我上火车。那个箱子是老古董,三十多年前陪着他从广西来到武汉,现在又陪着我从武汉奔向下一站绍兴。若干年后我继续北上,爸爸还惦记着他的古董皮箱,让我不要扔。可惜那个箱子早在奔波中坏掉。也许这是它最好的结局。我不喜欢旅行箱,只有极少数时候它能勾起甜蜜的回忆,大多时,伴随它的是分别和颠沛流离。

老妈没说什么,只是忧心忡忡,希望我不要转户口。老人的话,的确是要听的,可惜你要经过很久以后才会明白他们说的没错。江南气候潮湿,偶尔从车间办公室出来,望着雾气弥漫的远山,我想我的未来也跟这阴霾一样,看不见,摸不清。

终于,在微弱的爱情小火花在冬夜里被掐熄后,我觉得我不能在这里再呆下去了。

三月底在上海有招聘会,我带着简历在人潮中挤来挤去,充分见识了什么叫国际化大都市——人才遍地是,你连根草都不是。3个小时下来,我只投出5份简历,脚已经麻木,浑身是汗。

走到南京东路,我在花坛边坐下来,伸直了双脚休息。南京西路上高楼林立,冷冰冰的玻璃幕墙在太阳下折射出耀眼的光芒。一扭头,看见哈根达斯——约会的热恋男女烧包的地方,最便宜的单球冰淇淋要28元,顶我一个星期的午餐钱。

我觉得要犒劳自己一下,虽然招聘会一无所获。更重要的是,我要告诉自己,我以后一定吃得起。

后来每次经过南京东路那家哈根达斯,我都会停下来看一眼,甚至清晰的记得自己当年坐的位置。

四月,不死心的我继续在网上投简历。终于拿到上海一个网络公司的面试机会。面试很顺利,结束的时候面试官听说我还在绍兴工作,早上5点起床坐了四个小时的大巴当天赶过来,惊讶得嘴张了半天没合上,立即让我来上班。

回去的时候,我很开心。

离开上海回绍兴之前,我找了一家房屋中介物色房子。中介拍着胸口对我说:“放心吧,没问题,那房子可干净了,什么都有,一个月才800元,不过要先交一半的定金。”从来没租过房子的我,将信将疑的付了400元。
半个月后,我拎着30斤的皮箱和2个大编织袋,一个人回到上海。当中介把我带到出租的房子前时,我们都傻了。房子里什么都没有,没有灯,没有床,没有家具,没有卫生间。公共厕所在走廊里,没有门,只有半块黄得发腻的布帘挡着,正看着,一个光着上身的中年男人从卫生间里走出来,去里屋接了一桶水,返回去冲厕所。
“这就是你说的什么都有的800块的房子?”
中介支支吾吾:“我也不知道啊,我也没来看过。都是房东说的。要么我再给你找一间吧。”
就这样,一下午我们逛了5处,终于在我筋疲力尽的时候,在长宁的一片棚户区里找到了一间尚且干净但没有独立卫生间的房子。我已经没有力气再走了,决定先住下来。 
棚户区里是温情的市侩,你侬我侬和斤斤计较是每天生活的必备调味品。我住在楼上,门外有露台,种了几盆花花草草。没有洗衣机,手洗衣服后搭在葡萄架旁的衣杆上。几年后我去丽江,在客栈楼顶躺着看星空时,总觉得这周围环境怎么似曾相识呢?仔细想想不禁莞尔,可惜当年窘迫中心境完全不同。
安顿下来后,去公司上班。做网站销售,底薪800元,靠单子的收入提成。我的房租也是800元,意味着如果拿不到单子,就没有钱吃饭。
在上海,我一个人都不认识。一个星期里打了几百个电话,全被一口拒绝,只有一个小公司的总经理肯见我,地址在复兴中路1号。
复兴中路在哪里?怎么过去?公司不给交通补贴,我没钱打车,必须坐公交。问了同事,有一部公交可以到复兴中路,但离那栋大楼还很远。于是我上了那部车,在离复兴中路最近的一站下了。
下了车,我顿时傻眼,分不清东南西北。眼前是复兴中路1000号,我坐什么车才能到复兴中路1号呢?问了旁边的几个人,都说不知道。看看表还有3个多小时,一咬牙,走过去!于是,在那个阳光明媚的下午,我花了两个小时,从复兴中路1000号,走到了1号。
奇怪的是,我至今丝毫不记得那个下午有多么的累,只记得路边老洋房庭院深深,梧桐成荫,一路上应接不暇的风景。
那天以后,我能清楚的说出复兴中路上的每一条小岔路叫什么名字,周围都有什么建筑。
至今,复兴中路仍是上海我最有感情的一条街道。几年后我买了相机,拍的第一个对象,就是复兴中路。
当我满面尘灰烟火色的出现在衣冠楚楚的总经理面前时,他吓了一大跳。销售他见过很多,这么土的销售大概还是第一个。人靠衣装马靠鞍,销售一半是靠脸吃饭的。这是个小公司,总经理是个30出头的年轻人。他狐疑的上下打量了我一番,懒懒的说“你介绍一下你们公司的情况吧。”
我从没做过销售,也不知道什么叫销售技巧。所以当我两个星期后拿到单子的时候,自己都觉得匪夷所思天上掉馅饼。只记得总经理说了一句话“我觉得你做事很认真。”
这大概是我人生中第一件算是成功的事。过了很久回想起来我才意识到,他说的是对的。我能拿到这个单子,不是因为我销售技巧有多好——我从来都不是个善于推销的人;也不是因为我们公司给他做的网站有多好——那个网站简直一塌糊涂。他给我单子仅仅只是因为,我很努力。
我很感恩。两年后我稳定下来,职业生涯走上正规后,查到他的地址,给他寄了一张新年贺卡。他一定不记得当初那个见客户前都不知道打扮一下自己的小丫头,但我记得他是我的贵人。

这个单子给我带来了两千元的收入,第一个月生活有了保障。我立刻从网络公司辞职,去了一家台资公司做总经理助理。
给我单子的老总问我去不去他们公司,我摇头。我自知不是适合做销售的人。
去这家台资公司上班后我才知道,这个公司即将倒闭。我上班第一天的第一件事,就是代表总经理开掉所有的销售人员和行政人员。
办公室里顿时炸了锅,大家都用憎恨的目光盯着眼前这个陌生人。而我已经没有退路,我也要吃饭,就算我不给你们发辞退信,一样会有别的人代替我来发。我们都没有错。
才一个月,我就接受了这样血淋淋的现实教育。
辞退只是个开始,因为资金周转不灵,连辞退的工资都发不出来了。上海交大MBA毕业的销售总监一怒之下,把台湾老板告上了公堂。台湾老板一如既往的延续着他的风格:不露面,通过邮件和电话背后指挥一切。
官司开庭不能不去。谁出席?当然是我。人生的第一次对簿公堂居然是以如此滑稽的方式进行。
打完官司后,被辞退的销售们自己组建了一家新公司,想从我老板手里抢产品在中国的代理权。销售总监来找我“借”公司的公章,我摇头不借。销售总监说“你要多少钱吧?这个公司都要垮了!”我说:“这不是钱的问题,这是诚信的问题,就算这个老板不给我发工资,我也不能把公章给你。”
销售总监走了,一个星期后来找我,问我愿不愿意去他们公司:“我觉得你不错”。我没去。就算台湾老板再无耻,能想出这种地下手段来搞垮他的人也一样不是什么好鸟。台湾人很精明,经常让我不寒而栗。但我没有说“不”的资本,暂时。  
做助理比起做销售,好处就是旱涝保收。每月两千元钱对我来说已经是笔大数字,我立刻从贫民窟般的棚户区搬离,开始找新的房子。

在锦江乐园看了一套,三室一厅中的一间出租,隔壁是两个好动的女孩。我对房子非常满意,准备马上搬家。一个星期后,女孩给我打电话,无意间提起房租是950 元。“不是700吗?”我问。“不是不是!中介一定说错了!我报出去的价钱就是950元。不好意思,700元我不能租的。”

这事儿黄了,只得找下一套。

在网上看到一个房源,上海南站地铁边上,是两室中的一间,有简单家具,独立卫生间。这种条件的房子只租600元,简直是奇迹。我飞快的打电话过去问。 

那边是一个男生接的,标准的普通话,声音柔和。我对男人的声线非常敏感,心里咯噔的动了一下。

“房子比较简单,有很多人来看过了。不过我还是想租给一个男生,不好意思。”

那我怎么办?我最多只能付800元的房租,低于800元又在地铁边上的房子,打着灯笼都难找啊!想起房源启事上有句话“若对方英语好尤佳”,我脑子一转,用英文写了封邮件给对方,说明我的大致情况,以及为什么要租这套房子。

几分钟后,那边回复邮件过来,很简单的一句话“你可以晚上来看房子”。

那是个瘦瘦高高的男生,戴副眼镜。去房子的路上他问了我毕业的学校,和平时的兴趣爱好。那是一栋待拆迁的六层楼老公房,没有电视电话,唯一的电器就是一台微波炉。房间里家具很少,只有床和两个衣柜。的确很简单,但很干净,在我来说已经足够。能从棚户区搬进楼房,对我来说已经是个很大的进步。

转到他的房间的时候,他指着外面灯火阑珊的兴业银行大楼说:“你的理想是环游世界,我的理想是拥有那样一栋大楼。”

我笑起来。年轻气盛,谁没有梦想。

看完房子,我离开回家。在车站等车的时候,忽然听见有人叫我的名字,一回头,诧异的又看见他。“你怎么会在这里?”“刚才又有个男生来看房子,我出来接他。”

我急了:“这房子我要的,不许租给别人!”话一出口我就后悔。我又不是房东,凭什么“我要”“不许”?

他迟疑片刻“那你准备什么时候搬过来?”

我乐开花了,“周末!”

“行。你的车来了。你有零钱吗?”

“有的”

他在裤兜里摸了摸,摸出两个钢镚儿“还是给你点零钱吧。”

我跳上公交。外面的夜色已经很深了,我发了条短信给老姐“准备搬家,新房子我很满意。看到的时候觉得好像夜里突然看到一缕阳光。”

现在我已经不太记得他的样子了,闭着眼睛使劲回想也只有一个大概的轮廓。但我清晰的记得七年前第一次见到他时的感觉,“夜里的一缕阳光”。

我是天蝎座,感情方面直觉超准。有的人,第一眼,你就知道,你跟他之间是会有故事的。

如果不是和那个女孩因为价钱起了误会,如果不是因为我当时穷得不能每个月多拿150元出来租更好的房子,也许我根本不会遇见L,以后的很多很多事情都会改写。可是,生活就是这样不可预测,没有谁能掌控。

我搬进了上海南站的房子,带着很少的家当,和两百来张CD——这是我唯一的财富,从武汉攒到绍兴再攒到上海。我的到来给屋子添了一样电器:一套不到200元的电脑音箱,虽然便宜但音质很好。

L 和我的生活都很简单。白天上班,晚上回家后各自在房间里看书学习。我喜欢看书的时候开着轻轻的纯音乐,舒缓的旋律在空气里流淌。L不懂音乐,也从来不听。他的房间里总是静悄悄的,除了晚上7点到8点收音机的晚间新闻。有时候他会穿过我的房间去阳台拿晾干的衣服,我抬头看他一眼,继续在台灯下看书。

给台湾老板做事很辛苦。公司已经处于崩溃边缘,只剩得一个财务、一个销售和一个司机。每天上门来讨债的、要工资的、法院传唤的……类似事件层出不穷,但我没的选择,为了两千元工资,我得继续做下去,至少做满三个月。

有一天,公司里的人都出去了。我出门拿东西,顺手把隔壁房间的门合上以免小偷进来。门“咣当”一声锁上的时候,我才想起来,公司所有的门钥匙都在里面!明天开不了门了!我当时冷汗全下来了,又不敢给老板打电话,怕被骂被辞退,于是一个人坐在办公室里发呆。

天渐渐黑下来,我不敢回家,又不知道该怎么办。此时手机响了,是L的短信,问大概我几点到家。我说我还在公司,钥匙被锁在房间里了。他说,我马上过来。

半小时后,L到了,什么都没说。先试了试房间的锁能不能撬开,失败后就打算从窗户翻进去。我魂都吓飞了,连忙阻止,这要摔出人命了可怎么办。L说不会的。过了一会,果然从窗户翻进了隔壁房间,取出了那串要命的钥匙。

我松了口气。L开始教训我:怎么这么不小心呢?钥匙不见了要跟老板讲。整层楼就你一个人,你准备等到几点?夜里出事了怎么办?……声调不高语气却很重。

L见我的脑袋越垂越低,叹了口气:“肚子饿了吗?走,带你去吃麦当劳,再说下去我看你就要哭了。”

我像个受气的小媳妇一样跟在L身后,在麦当劳里嘟着嘴不情愿的把套餐塞进肚子。

钥匙事件后,我渐渐开始信任L。

我本就不是特别有能耐的人,又正处于鸡飞狗跳快要山穷水尽的时期,此时身边突然出现英雄救美,就算再好强的女人,产生心理上的依赖感也是理所当然。

L和我之间的话也越来越多。有时候周末他加班,我会去他公司看他。有次大热天的,我拎了一盒烤鸡给他当午餐。他拿着烤鸡进了公司的茶水间,很快出来了。我问他好吃吗?他笑嘻嘻的说好吃。

后来过了很久,同样的夏天,我自己带着烤鸡去一位朋友家,打开时却发现早已经坏掉。我才明白这个天气,没有放在冰箱里的食物不出半个小时就会坏掉。L当时根本没吃。

夏天的晚上,我蜷曲着腿坐在阳台上吹风。L跑到阳台上有一茬没一茬的找我说话,天南海北的扯。L是北方男生,普通话标准,声线柔和。呵呵,好像说过两次了。但我的确对男人声音极其敏感,闭着眼睛,耳边响起柔和低沉的嗓音,那是种享受。有时候他死乞白赖的要拉我的手,手都伸到我面前了。我犟不过,白他一眼,浅浅的握了一下。他嚷嚷起来“这不叫拉手,这叫握手啊~~!!!我们又不是国共合作~~”

不太记得是哪天了。他握住我的手的时候,我没有拒绝。我是凭直觉做事的人,没想太多,我的心告诉我,我喜欢他。

那时我还没去过北方。L大概是我接触的第一个北方男人。我对北方男人的印象来自于电视剧和街坊传说:五大三粗,蛮横无理,打老婆,大男子主义……但L不是。 L细心体贴,很会照顾人,很顾及别人的感受。相比之下,当时还是个黄毛丫头的我,在生活中简直就是个粗心傻妞。L总是叹口气,又怜爱又无奈的看着我。他比我大4岁,早毕业两年,但工作经验和生活经验显然强过我许多,我在他面前就像个任性的孩子。

L长得不帅,身材也不算魁梧。男人的性感有时与肌肉和面孔并没有多大联系。我喜欢内心沉稳有力的人,这种内心的力量会让男人有种挺拔的特质,并在他周围形成气场(“气宇轩昂”一词大概就这么来的)。这种男人只要一出现,就会像磁石一样把我吸引过去。一个人的审美观总是贯穿一致的,很容易对同一类人着迷。这种迷恋有时完全出于本能和潜意识。这也大概是为什么我第一眼见到L时,就觉得有种奇怪的感觉,觉得我和他之间会有故事。

我开始跟L学做北方菜。爱上一个人,是会愿意为他洗手作羹汤的,哪怕以前从来没摸过锅碗瓢盆。我不习惯吃北方菜,但为了L,得迁就口味。

我刚搬进来的时候,L把这房子叫“宿舍”;现在,他叫它“家”。  

我在台资公司已经做满三个月,攒下了3000元钱。于是向老板提出辞职。台湾老板很客气的送走了我。我去了一家本土的广告公司。

这真是一个新鲜而刺激的圈子,也是工作狂人们的聚集之地。每日9点上班,晚上10点之前下班已经算早。第一天工作交接,部门经理把一张排得密密麻麻的项目进度时间表给我,“基本是这样,但我不确定有些细节的时间排得很准,因为这张表是我凌晨三点困得要死的时候做出来的。”

我没见过这样的工作架势,我以往所有的知识都来自于书本。而这里的一切都是真强实干的,并且要求立刻出成绩,容不得闪失,deadline以分钟计算。我拼命的学习,但因为是对这行全然陌生的新人,哪怕每天晚上12点才下班,仍然跟不上进度。

与此同时,前几个月来积攒的劳累在我身体里爆发了。我没告诉L,坚持在广告公司继续“朝九晚十二”的工作,脸色一天比一天蜡黄。

一个星期后,我实在撑不住了。某天晚上12点下班后,我发了条短信给经理,辞职了。  

到家后,吵醒了睡梦中的L。听说我辞职,L没说什么,只是笑着说:“辞职了还干到十二点才下班。”

L也是广告公司出身,他是很希望我能在广告公司做下去的,因为这对我是个极好的锻炼机会。我没告诉他我坚持不下去有一半是因为身体劳累生病。谁工作不辛苦,谁没有硬撑着让自己不倒下的时候呢?

这是我唯一一次半途而废,撤退得极其狼狈。当时真是年轻气盛啊!居然因为身上有了3000元钱,已经不是刚来上海那时的赤贫状态。就敢在不找下家的情况下辞职。倘若是今日,别说身上有三千块,就算有三万块我也不敢轻易辞职的。

除了对找工作前景盲目乐观,还有个原因就是,那时我身边已经有了L。有次L对我说希望我从台资公司辞职,找份有前途的工作,不要每天做那些鸡飞狗跳的没有意义的事情。L说他的工资虽然不算高,但也够养活两个人了,撑上一两个月没有问题。这两个月里刚好够我熟悉适应一份新工作。

没有哪个女人会天生独立而强势。男人就是用来依靠的,不是吗?连《喜剧之王》里死跑龙套的周星星都会对张柏芝说:“我养你啊!”。L对我那么好,我深信不疑。

我成了甜蜜的居家小女人。L在外面上班,我在家看书学习,偶尔去网吧投简历找工作,然后去菜场买菜,等他回来。

家外面是扇铁门,配了一把大铁锁。每到下午六点的时候,我边看书边竖起耳朵,听见钥匙在锁眼里“咯噔”一响,我就从床上跳起来,蹦到门边,等着L推门进来。L进门时总被我吓一跳,笑眯眯的说:“哎哟,耳朵真灵啊~”

后来我养了猫。每天下班回家推开门,小猫们早已在门边守候,绕着我的裤腿急切的狂蹭,嗲嗲的叫。

那时,我之于L,也如同家里的一只小猫咪。

 

周末L加班,我独自去南京玩。回来已是夜里,我在楼下抬头望家里,窗户里隐隐约约透出橘黄色的灯光。我突然明白为什么L把宿舍叫“家”,家就是有人会为你点着一盏灯,回来推门时,迎接你的不是一片漆黑。

很多年后,我去了北京。每次出差回上海路过南站时,我总会在高架上探出头来看以前住过的房子。当年的老公房已经拆迁,上海南站也修的让我完全认不出来。夜幕里灯光璀璨,但再华丽的夜色,也抵不上当年破房子里那橘色灯光的温暖。

我继续在家学习、投简历找工作,L的工作渐渐不顺利起来。终于有一天他告诉我,因为在公司里被人弹劾,他愤然辞职了。

L比我沉稳,辞职后把自己的时间安排得很好,每天做事井井有条。而我,因为找工作不顺心,脾气开始暴躁起来。L很包容我。没钱带我长途旅游,他就骑着自行车带我去华东理工大学校园玩,一路上哼着歌儿展示他的自行车技。我在后座上吓得要死,怕摔下来,又怕他骑得辛苦。

“重不重啊?”

“重!” 

过了两秒钟我撅着嘴不甘心的问:“真的很重啊?”

“呃……没感觉~!”

“呵呵!”我一把抱住L。

后来看《甜蜜蜜》,张曼玉甩着腿坐在黎明自行车后座上哼着歌儿那段,看得我又笑又哭,泪流满面。

十月是我生日。虽然我们都失业了,但L还是买了生日蛋糕和玫瑰。我很满足,虽然只是菜市场十元一束买来的,简陋没有任何包装。这是第一次,我和心爱的人一起过生日。这个男人,在我一无所有什么都不是的时候,对我好。

我下决心等明年他过生日的时候,要给他买份像样的生日礼物。可我没等到。

上海的冬天到了。

江南寒冬的湿冷,呆过的人都知道是怎么回事。我们把每天看书的地点从家里转移到上海图书馆,因为里面暖和。上图旁的高安路边,高大的梧桐树掩映成荫,路边是安静的小洋房。深秋时节一场雨后,满地落叶金黄,极美。从此那幅画面定格在我脑海里,成为上海秋天挥之不去的记忆。

我仍在海量的投简历,回音却寥寥。谁敢用一个毕业不到两年、又没有连续的实际工作经验的新手呢?投出100份简历,顶多只有4、5家愿意给我面试机会。

我进退维谷,每次给家里打电话时都报喜不报忧。身上的3000元钱已经花得差不多了,我不想开口找L要,因为他也失业了。但如果这样继续下去,我无法在上海生存,只能回家。这意味着与L分离。

我不愿意。

我横下一条心,继续找工作。屡战屡败,屡败屡战。后来,每当有人说起什么什么公司时,我能马上报出它在哪栋写字楼里。同事惊异于我的记忆力,其实我记性很差,但我记得那年的冬天,我穿着单薄的衣裤和高跟鞋(为了保持面试形象),咬着牙每天在寒风中奔波,跑遍了上海所有的写字楼,为了能留在上海,和L在一起。

有一次面试,已经到最后一轮了,我以为胜券在握。但当消息出来的那天,我才发现最后入围的不是我。我的心理防线顿时决堤,不顾形象的在街角大哭起来。哭完了给L发短信,L啥也没说,只回了一句话“明天是元旦,回来我给你做好吃的”。

是啊,明天是新年,我怎么不记得了呢?我去剪了个头发,然后回家。在地铁上想起这几个月的艰难,又忍不住哭起来。车厢里对面的人向我投来诧异的目光。地铁从地下驶入地面,上海南站到了。我擦干眼泪,我不要让L知道我在外面哭过。

回到家,L见到我,乐呵呵的。“呀,小宝剪了个小短头!真可爱。”我才看到桌上放着绞好的肉馅和饺子皮,L正在包饺子。“外面卖的水饺不干净,我买了肉和白菜让人绞的。咱们自己包。”L说。我努力挤出笑容,坐下来和L一起包饺子。

L 去下饺子的时候,我突然看见桌上有张被书盖着的贺年卡。我好奇的拿起来看,发现是L写给前女友的。没什么缠绵的话语,无非是祝你新年快乐之类的。但我天蝎座的独占欲被刺激到了,很不高兴。我承认我小心眼,还有点自卑。因为L跟我说过那个女生在大学里就很优秀,现在做得也很好;而我,现在什么都不是。

L好像看出了什么,有点尴尬的过来哄我。女人就是好哄,一会儿我又高兴起来。毕竟此时,L在我身边,我什么都不用担心不用怕。

第二天早起,L带我去新天地玩。2003年的第一天是个大晴天,阳光很好。L在前面走着,我在后面跟着。过马路时L回过头来,怕我跟丢了。他伸出手:“来,小宝,牵着我的手。”

我把手放在他大大厚厚的手掌里,像只兔子一样在他旁边蹦来蹦去。

很多年后我仍然记得这个细节。

L要走了,回去帮他大哥做生意。

他不是没跟我说过。他大哥来上海找过他几次,当时L还是很想留在上海的,手头也有好几个面试机会正在准备。但渐渐的,L找工作也不顺利,他犹豫起来。闲着也是闲着,不如回去做点事。

L说,他以后还是要回上海的,毕竟户口在这里。

为了留在上海跟你在一起,我那么辛苦都一直扛着,这算什么事?但我没说什么,毕竟他是去做事,男人有男人的打算。我想我也没权利、没身份、没资格要求他留下来。大难当头夫妻都各自飞,何况我们只是相濡以沫的一对小情侣。

临走的前一晚,L一言不发。我搂着他的头发,紧紧的抱着他。我要记住他的眼睛,他的头发。

第二天一早起来我就耷拉着脸,闷闷不乐。L千方百计逗我笑,我实在笑不出来。我给他做了他最喜欢吃的番茄炒蛋,又从外面买了几盘小菜。他指着那盘番茄炒蛋竖起大拇指:“真好吃!比其它几盘都好吃!”

火车是晚上7点。车站里,我们面对面的站着,不知道该说什么。L像往常一样伸出双手,“来,小宝,抱抱”,把我像小鸡一样拎起来熊抱了一下。我没有眼泪,没有一句话,我的喉咙堵得发痛,我只能抱着他,用尽全身力气。

L在火车开动的时候上车了,我头也不回的转身就走,我无法忍受目送火车远去。转身那一刹那我的眼泪终于如闸门释放般迸发,哭着走出了火车站。我不知道L有没有看见。

在车站等车回家时我掏出手机,发现有一条新短信,L发的,在火车开动的那一刻。“再见,我的小宝。”

我的眼泪再度决堤。

我只以为这只是次再见,却没想到会是永诀。

从此以后我再也不愿意对我喜欢的人说“再见”,我宁愿说“后会有期”。

L走以后,日子艰难。  

回家推开门,一片漆黑,再也没有灯光迎接我。L的房间空荡荡,没有人坐在那里抬头对我笑,“小宝回来啦”。我也再不用竖起耳朵听门锁的动静,然后像只猫一样窜到门口开门。

从此我就孤单单一个人了。  

我很不习惯。L的房间我一直没动,所有的物品都还是他走时候的样子。他的毛巾、牙刷都一直摆在那里。他会回来的。

我继续找工作。过年了,我不想回家,怕爸妈问起近况无言以对。大年三十我还是在图书馆度过的,因为那里有空调,比家里暖和多了。图书馆关门后我在外面的小饭馆要了盘松仁玉米当年夜饭。身上快没钱了,还要交房租,得省着点。吃饭中间L给我打了个电话祝我新年快乐。吃完饭后我就回家了,没有电视,九点就上床睡觉了,直到半夜11点半被窗外的鞭炮声吵醒。我才知道原来上海的春节是可以放鞭炮的,真好。

我开始整晚整晚的做噩梦,梦见交不起房租被人赶出去,房东上门来抄家。很多年后即使我一个人住在90平米一应俱全的套间,社区环境优美,生活无虞,有时半夜还是会被同样的梦境吓醒。

03年的冬天,刻骨的寒冷。

年后的工作机会多起来。我投了一家国内服装企业的职位,不走寻常路的那个。职位和薪水都不高,但我喜欢那份工作,比较有挑战性,应该能学到很多东西。

最后一轮面试见他们的市场总监。有道题目是“项羽、诸葛亮、刘邦,你最喜欢哪个?”我写的答案是“刘邦”。市场总监看到答案,眉毛扬了一下,问我为什么。我说,项羽英勇神武,但有胆无谋,弃范增而不用,终难不败;诸葛亮好谋善断,但事事亲力而为最后累死了,又没有培养后备力量来接替他的位置;刘邦虽然看起来一介莽夫,却懂得善用调拨各类谋士,文有萧何张良,武有韩信,运筹帷幄即可决胜千里,终成大业。

市场总监笑了一下。

第二天,HR通知我面试通过了,准备来上班。上班之前先去体检。

我很开心,失业半年以后终于有了个工作机会。钱不多但至少我有收入来源了。

我马上去体检,然后把体检报告交给HR,等着接下来签合同上班。

等了很久,HR才出来,黑着脸把体检报告摔在我面前。我记得她那个动作,是摔。

“我们不能雇用你”,她指着报告大声说,“你有乙肝!会传染的!”乙肝两个字她说得特别重,气愤的声调好似我得的是艾滋病。

我傻眼了。她接下来说了什么我完全不记得,过了一会儿,我拿着体检报告,默默的低着头走了。HR小姐的表情让我觉得自己是个罪人,很羞耻。

我没哭,我被彻底震傻了,我不信。为什么我一直不知道我有乙肝?如果会传染,为什么我第一份工作体检的时候,别人没拒掉我?

我拿着体检报告去医院,医生拿过报告看了一眼说“肝功能正常,你再做个两对半检查吧。”

第二天去拿乙肝五项指标报告,我看不懂,问医生是什么意思。医生说是典型的小三阳,乙肝病毒携带。

“会传染么?我面试的单位说我会传染,把我拒了。”医生面露难色,说“传染是不会的,因为你肝功能正常。但有些单位是卡得很严的,这个没办法。”

我问医生能治么?医生说现在的医学条件没有药可治,只要得过乙肝,就会终身携带病菌。但只要保持良好的生活习惯,不让它转成大三阳就可以了,对正常生活没有影响。

我渐渐想起小时候和妈妈一起吃药,药盒上写着“肝XX”的字样。那时年纪太小,吃药吃了一年后爸妈就没再让我吃了,后来我也就不记得了。

这么多年,家里一直没告诉我。

我想起大学毕业时,学校医务室把我单独叫去,说我体检结果肝有一点问题,但不影响工作和以后的生活。我也就没放在心上。毕竟这么多年我一直健健康康活蹦乱跳,从来没有什么不舒服的地方,从中学到大学都是校运动会中长跑的绝对主力,能有什么问题?

这么多年,没有人告诉我小三阳会有这么严重的后果。

一年以后,浙江的“周一超杀人案”轰动全国,三千多人联名上书为他求情。此案也成为乙肝患者维权的开始。我不赞成用这种极端的方式解决问题,但我完全理解周同学的无奈。有人说找不到这份工作可以找下一份嘛,但当时“公务员不招小三阳患者”是写在国家政策里的,而绝大部分公司都是以国家政策为范本的。到哪里去找下一家?

那是一种无形的歧视,所有的门都对你关闭了,没有出路。就算他们不因为乙肝而拒绝录用,也可以拿别的理由拒绝你。找不到工作意味着没有收入,没有收入意味着没有饭吃,没有饭吃意味着等死。事情就是这么简单。

很讽刺。一边所有的医生都会告诉你小三阳不会传染不影响正常生活,一边你又因为这个原因四处碰壁投诉无门,然后回头医生又告诉你小三阳终身携带无药可治。结论就是——这辈子就这样了,你看着办吧。

我毕业后的第一间公司是一家大型正规民营企业,没有因为我是小三阳而不录用我。因此我也从来不知道小三阳也会成为被拒绝的理由。

后来工作顺利后我一直在世界五百强公司工作。外企的反歧视政策很严格,如果员工因为不影响正常工作的健康原因而被不公平对待,员工是可以起诉的——至少白纸黑字的条款这么写。

以后我再也没有因为小三阳而影响工作。这也成为我拼命努力工作的动力之一:没有办法改变自己的身份,我就只能拼命做到优秀优秀再优秀,优秀到别人没办法拿我的健康为借口来挡我——否则他们会损失很大,因为没有人比我工作更出色。  

那位“不走寻常路”的HR小姐把体检报告摔在我面前的黑脸模样,我一辈子都忘不了。我不恨她,每个人都有自己的压力。但她不必对我这种态度。

从医院出来,我只觉得我完了,半年来熬得那么辛苦,无数次面试都没有成功,唯一一个成功的面试居然因为这个莫名其妙的原因而失去了机会。

我哭着给L发短信,告诉他我因为小三阳而丢掉了到手的offer。

这是第一次,L没回我的短信。

情人节到了,我从早等到晚,L没有电话,没有短信。

情人节的夜晚,马路上热热闹闹的。我面试完后坐公交从浦东回浦西,车里只有寥寥几人。公交广播里,电台放的是范逸臣的《I Believe》。

I Believe 当我在你家门口 下雨了 你看了也会难过

I Believe 你不说话的时候 也是一种 其实你在回应我

虽然不曾说 相信你正在懂 就算牵的不是我的手 我不真的难过

我到现在都很怕听到这首歌,每次听到时心都忍不住抽搐,想起03年的情人节,我坐在公交里望着窗外,眼泪不停的流。

L的短信越来越少,也不给我打电话了。问起的时候只是淡淡的说“我很忙”。

我总觉得哪里不对,但又不知道为什么,也许他真的很忙吧。

年前我投了一家五百强公司的简历。第一关HR面试通过,第二轮是新加坡总部打来的电话面试,我准备充分,表现非常好,新加坡人很满意。第三轮面试约在年后。

我和L之间,越来越僵硬。有次说到什么的时候他很不耐烦,发来一条短信“以后不要骚扰我”。

他用的是“骚扰”这个词。

我愣住了,惊诧,莫名其妙。我不能理解为什么一个月前他叫我“小宝”,然后渐渐冷掉,而现在觉得我在骚扰他。

我问怎么回事,L发短信“你很烦你知道吗?你有肝病。”

L说“就是这样了,我们分手吧,以后不要再找我了。”

我觉得很虚弱,浑身哆嗦。我震惊,我无法接受,但这是现实,L不要我了。

现实还有下午两点我有那个重要的面试,没有时间给我嚎啕大哭,没有时间给我消沉。我必须拿出最好的状态,精神抖擞的去面试。

电视剧和小说里常看到女主角痛哭一场后振作起来重新奋斗,我总以为那是编的。人的情绪怎么可能转换得那么快,背后留下的伤口还在滴血,怎么就能立刻转身以微笑示人。

但现在我知道是真的了,而且我居然连痛哭都没有。也许是因为当时已经彻底傻掉。我的脑海里只有一个念头:我必须拿下那个面试,不然我会没有饭吃交不起房租。这完全是潜意识,是人求生的本能,情啊爱啊只有在脑子清醒的时候才会去考虑,我当时已经脑子懵了。

我觉得我适合去演电视剧。下午的那个面试我居然可以神采奕奕谈笑风生,我都怀疑我是不是没心没肺到极点了。

但从此我发现我的记忆力变得很差,容易精神恍惚,很难集中注意力。脑海里有块总是空白,讯息跳不过去,或者跳过去后就一闪而逝无法捕捉。大概我脑子里有根筋在那天被抽走了,苦笑。  

那真是改变我命运的一天,一切都天翻地覆。

我拿到了offer,那个工作机会让我入行,是我职业生涯的开始。

我有饭吃,交得起房租了。

L永远离开我了。

很多年后我回想起来,总觉得那个offer是老天给我的。类似于武侠小说里男主角被人追杀掉下山崖后总能被一棵树挡住,还能在树旁边的山洞里捡到一本武功秘笈。老天不想看我被逼到绝路。

那个天翻地覆的一天过去后,我慢慢清醒过来,开始努力把事情前后串起来。L很忙——得知我有乙肝——他觉得我一直在骗他——他怕传染——于是他不理我了。就这么简单?不对,我记忆里的L不是这个样子的,他一直对我那么好。这不符合逻辑。

我缺根筋的脑子串了六年,到现在也没串出给让我自己满意的答案。

03年的春天不平静。非典,张国荣自杀,一片凄风惨雨的。我每天坐轻轨上下班,车厢里人少得可怜,空调吹得我直哆嗦。苍白、冷,是我对那个春天的记忆。

我工作很努力,失业八个月后才得到一个工作机会,还是在这么好的公司,我格外珍惜。

但下班后,我总是陷入痴呆状态。

我想知道为什么一眨眼就会变成这个样子,没有人告诉我。

我想知道这些为什么会发生在我身上,没有人告诉我。

我想知道将来我该怎么办,没有人告诉我。

我二十多年理想的生活模式就是找份好工作,然后谈恋爱,然后结婚生孩子。可现在L因为我的病离开了,医生告诉我这个病终身携带无药可医。我还谈恋爱么?我还结婚么?不结婚我三十多岁四十多岁的时候怎么过?不结婚就没有孩子,那我老了怎么办?

没有人告诉我答案,没有人告诉我以后该用一种什么样的模式生活,我像只无头苍蝇一样茫然。

但是每天的日子还得过,我总不能去死吧?我开始疯狂的工作,加班,让自己没有时间去想别的东西,因为我得不到答案。

我的工作越来越出色,内心却在一点点的坍塌。

一个夏天,我体重掉了20斤。八月去北京出差,好友的母亲见到我,大骇。“这孩子在上海受苦啊!瘦得像纸片一样,脸色煞白。”

那一年,我二十三岁。  

我不怨L。今天写下这些文字时,我仍是踌躇的,担心身边一些原本不知情的朋友看了,会和L一样远离我。我知道这个社会对于这个群体的宽容度有限。曾经,在某家公司任职时,我没有向公司隐瞒我小三阳的事实,但当我离开那家公司时,我才知道,看过我健康档案的行政小姐将我的事情到处对人说。  

有哥们跟我说,不要紧,一个爱你的男人不会计较这些的。我反问他们,如果是你的女朋友,你作何感想?他们开始犹豫“那我还是要考虑考虑的”。

我笑。是啊,这个世界谁离不开谁,又何苦要为一个人去承担如此多的不必要的麻烦。每个人都有那么多选择的机会,多一个人少一个人无甚区别。

曾经,我在火车上遇到一个和L很像的男生,相谈甚欢。后来也有交往。因为L的前车之鉴,我向他说了我的情况。他说“我是家里独子,还要抚养母亲”,就此消失不见。

我不知道这些会不会成为我一辈子的枷锁,即使是,我也无能为力。

我开始看佛书。

我终于明白为什么那么多人笃信真主、上帝、佛祖这些虚无缥缈的东西。有门信仰是好的,它能帮你阐释一些你永远无法解释的事,也能让你恪守一些无法坚持下去的信念。

佛说世事轮回,前因后果,前世是今生的因,今生是前世的果。我想我也许我上辈子亏欠了L,所以今生偿还。还完了,我下辈子就不会再受那么多苦了。这个想法让我不再追问为什么,也不再恨L。是的,现在回想起来,我经常会忘记他曾经那么深的伤害过我,无论有心还是无意。反而,我总记得和他在一起的纯真岁月,那是我为数不多的幸福时光。

后来我读到《上海的金枝玉叶》,那个曾经锦衣玉食的女子,经历三十多年的磨难,却并没有心怀怨恨,依旧美丽、优雅、乐观,始终保持着自尊和骄傲。“要是生活真的想给我什么,我就收下它们。”

我很庆幸自己在变成一张囧字脸满腹牢骚的怨妇之前,读到了这本书。它让我看到风浪中可以怎样经历自己的人生,可以怎样坚持自己的纯净和自己的生活方式,在漫长生活中可以怎样护卫一颗自由的心,在生活大起与大落的时候,让它都是温暖的、自在的。

我试着用纯净简单的眼睛去看世界,接受上天安排的无常。一朵花凋谢时,你不会太难过,因为你知道花开易谢,原本无常。人生也是如此,世间无完美,更无永恒,但可以把握当下。一辈子很短,每一天都要有意义。

04年的冬天我去了赵州禅寺,在寺里挂单,听暮鼓晨钟,和僧众一起诵经上早课。钟声在郊外的夜里悠扬清远,我忽然明白原来简单是这样容易的事。我从起点回到了原点,画了一个圆。内心释然。

此后工作一切顺利,我非常努力。沪上每个女白领的故事,都能写成一本杜拉拉升职记,而且情节更跌宕起伏精彩绝伦。几年后的夏天,两个猎头为了同一个职位在同一天找到我。我北上去了北京,带着两只猫。

此时距离我第一次来上海,已经整整五年,我的薪水涨了30倍。这在北京上海并不算很高的收入,也不是值得夸耀的资本。但我很自豪,因为我对得起曾经的失去与付出。

记得曾经跟L说过我想环游世界,我正在陆续实现自己的梦想。在吴哥窟的Ta Phrom寺,我没有秘密可以埋进树洞,只是在心底默默许愿,望岁月静好,现世安稳。

我喜欢北京。它让我觉得好似脱胎换骨。玩摄影,听音乐会,看话剧,出去旅游……恣意的过着每一天。遇到喜欢的男人,微笑的看着,告诉自己即使不能拥有,至少在他身边的分分秒秒都要快乐。爱上一个人的瞬间,是会永远永远留在心里的。这瞬间,便是黑夜里点亮的一盏明灯,会让心中柔软,变得美好。

我定居了。去看家具的时候,身边全是一对对情侣。销售小姐跟着我,小心翼翼的问“您是……一个人过来看?”我点头:“嗯,我自己的房子。”

 是的,我自己的窝,不用再经受颠沛流离。

        

    多好。

        

    ------ 以此纪念上海五年。


 

posted @ 2012-02-08 15:54 凌寒飘香 阅读(25) 评论(0) 编辑

2011年12月27日 #

OnClientClick=<%#"Test('"+ DataBinder.Eval(Container.DataItem,"GetupTime")+"')"%>
posted @ 2011-12-27 14:04 凌寒飘香 阅读(17) 评论(0) 编辑

2011年10月14日 #

弟子问老师:"您能谈谈人类的奇怪之处吗?"老师答道:“他们急于成长,然后又哀叹失去的童年;他们以健康换取金钱,不久后又想用金钱恢复健康。他们对未来焦虑不已,却又无视现在的幸福。因此,他们既不活在当下,也不活在未来。他们活着仿佛从来不会死亡;临死前,又仿佛他们从未活过。”
posted @ 2011-10-14 10:34 凌寒飘香 阅读(5) 评论(0) 编辑

2011年10月11日 #

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

posted @ 2011-10-11 11:01 凌寒飘香 阅读(68) 评论(0) 编辑

2011年8月21日 #

摘要: <script language="javascript" type="text/javascript"> function setStartDate(day) { AddTime(day, "d"); } function AddTime(AddDate, types) { var EndDate = new Date(document.getElementById("<%=txt_DateEnd.ClientID%>").value.replace(/-/g, "/"阅读全文
posted @ 2011-08-21 13:59 凌寒飘香 阅读(76) 评论(0) 编辑

摘要: <div class="con"> <ul id="tags"> <li class="selectTag"><a onclick="selectTag('tagContent0',this)" href="default.aspx" target="repfrm">第一周 </a></li> <li><a onclick="selectTag('tag阅读全文
posted @ 2011-08-21 10:23 凌寒飘香 阅读(31) 评论(0) 编辑

2011年4月11日 #

摘要: 源文地址:http://news.csdn.net/a/20110407/295464.html1.记住你的“一件事”:你的创业公司在一段时间内只能把一件事做好,明确你的“一件事”,写在墙上,每天重复出现在自己眼中,将“一件事”作为公司例会最高级别的事情,不要让任何事情让你和你的团队分心。 2.记住,只有当你的团队优秀时,你才一起优秀:花时间培养你的团队,招聘那些在他们工作上比你曾经做得更棒的 人,激励他们,让他们完成他们从来没想过他们能做到的事情,在引导他们去做“一件事”的同时给他们自由,像对待家人那样对待你的同事,创业不容易,让你的 团队愿意成为公司一员是能够成功的重要因素,创业公司并不.阅读全文
posted @ 2011-04-11 08:56 凌寒飘香 阅读(30) 评论(0) 编辑

2011年4月10日 #

摘要: 源文地址http://www.pcyyjs.com/sys/2003/2840/Windows2003系统不认佳能相机的原因是因为系统默认关闭了“Windows Image Acquisition (WIA)”服务,故把开启该服务即可。 把系统的图像服务开启即可,方法如下: 打开管理工具/服务,找到Windows Image Acquisition (WIA),将其设置为自动,并启用。阅读全文
posted @ 2011-04-10 17:22 凌寒飘香 阅读(33) 评论(0) 编辑

2011年3月27日 #

摘要: [原始地址]:http://topic.csdn.net/u/20100201/16/d6e5cab1-5b22-43c6-9f6b-e2700eb40ff5.htmAttribute:$(”p”).addClass(css中定义的样式类型); 给某个元素添加样式$(”img”).attr({src:”test.jpg”,alt:”test Image”}); 给某个元素添加属性/值,参数是map$(”img”).attr(”src”,”test.jpg”); 给某个元素添加属性/值$(”img”).attr(”title”, function() { return this.src }); 阅读全文
posted @ 2011-03-27 12:22 凌寒飘香 阅读(32) 评论(0) 编辑

仅列出标题  下一页