这是用鲁迅先生写的孔乙己改编的文章——现代的孔乙己,代码界的孔乙己,那我们就叫他,码乙己吧。
城市的咖啡馆与鲁镇的酒店有着相似之处:都是街边的集聚地,连着二三桌的小岛,岛上是点燃的蓝光屏幕,滑动和敲击的指尖从不间歇。
每逢傍晚时分,码农们散了工,纷纷带着疲惫的身影和四五百文银子大小的身价,置身于这小小的岛屿之中,各寻慰藉。——如今讲的,都是这些年后的情形,前些年还不需借助如此场所。
自十二岁起,我便在都市的这座Starbucks咖啡馆里成了一名键盘手,老板说,我的思维跳跃太过奇怪,宁愿我不去接触那些穿长衫的需求方,还是在岛屿外打转更妥当。外面穿短袖的主顾们,说话简直,但那些永不停歇的键盘声也着实不少。他们习惯亲见Wi-Fi连接,检查过漏洞是否有补,才心安地坐下。因此监督之下,偷懒工作就变得分外艰难。所幸老板因为某个熟人的面子,未曾把我辞退,而任我专管写代码的单一活计了。
我于是便整天坐在岛屿边缘,专注于屏幕中的世界。虽然尽责,却难抵乏味单调之感。老板常常板着脸孔,主顾们也从不抛来好眼神,令人无法快意地生存;惟有那位特别的Csharp工程师来店,方能付之微笑,至此记忆尤新。
他是少数仍敲旧Csharp代码,却时常踱进咖啡馆深处的长衫工程师。身材高挑,面色苍白中带些疲态;额上皮肤时时显现昨晚加班的痕迹;手指间的敲击,仿佛在诉说着每日的辛勤与苦楚。他的穿着已是键盘上的字母磨到模糊,仿佛多年未换的IDE背景色,亦罕见清洗与更新。他对人讲话总带着代码和bug,使人难以完全理解。他的名字与编程技巧,被人们渐渐遗忘,只有一些特别的行为,让他在圈中留了名。
他一到店,键盘手们就放缓了敲击,有些会调侃说,“哟,Csharp工程师,代码又多加了几行bug?”他不搭腔,只向服务员要一杯Latte和一份甜点,便排出二三十文大钱。旁边的人会故意提高音量说,“你这是又没能赶上项目deadline?”Csharp工程师便睁大了眼,面色变红,脑门上的青筋逐条浮现,争辩道,“写bug不是故意,然后再debug……这些是程序员的宿命,难道这也能算是错?”
接着便是些让旁人捉摸不透的话,什么“lambda表达式”,“异步编程”之类,引起旁人哄笑。咖啡馆里空气中充满了轻松的气氛。
据闲言碎语中得知,Csharp 工程师原来也是大学毕业,精通编程,却终究不懂产品与市场;于是越陷越深,一路走向只能维护老旧系统的命运。幸好他手头有几段精妙的代码,偶尔为人debug,换杯咖啡。可惜他有时也会惰性加剧,于是职业生涯中,并无太多突破。类似的工程师多了去,他的记忆也慢慢模糊了。不过他在咖啡馆的信用一直不错,即使有时较为窘困,挖空心思也要将账款结清。
Csharp 工程师喝完他的咖啡,脸上的疲态似乎也消散几分,周围的人又开始嘲讽:“Csharp 工程师,你真懂你的代码吗?”他看着问他的人,露出一副不屑一顾的样子。他们接着又说:“那你怎么始终升不上高级程序员?”Csharp工程师立刻显出气馁沮丧的表情,脸上浮现沉思的阴影,嘴里还是那些让人费解的专业术语,全然不明了。这时候,周围的人再度发出哄笑,咖啡馆里又溢满欢快气息。
在这些时候,我依旧能随声附和一笑,老板也不会指责。而每当Csharp工程师来店,他也总会引出几声笑声。这位工程师自知无法与人长谈,便只得与屏幕对话。某次他对我说,“你了解Csharp么?”我点了点头。他说,“了解就好,我给你出个小题目,delegate和event有什么区别?”我想,这等于零的人,也愿意出题目么?便转过头去,不再理会。Csharp工程师等了许久,认真地说,“不会吧?……我教给你,记着。这些都是基础,以后写代码可用得上。”我默默地想,我与能写代码的日子还遥远,我们这边的咖啡馆,也从不需要写代码;又觉得好笑,也觉得烦恼,不耐烦地告诉他,“谁稀罕你教的。”他眼中却泛起了兴奋之光,仿佛获得了认同,开始在桌上用手指模拟编码的动作,喃喃自语:“没错,没错,写代码有许多种方式,你了解吗?”我更不耐烦了,只把眼神转向别处。
如此这般,也有些小孩子被欢笑声吸引,靠近工程师。他则给他们展示几行简单的小程序,一人一段。孩子们看完代码,仍旧不愿离去,眼睛盯着电脑屏上的代码。工程师显得有些不知所措,小心翼翼地用手掩住了屏幕,弯腰下去对小孩说,“现在不行了,我写的东西不多了。”他直起身子,又黯然摇头,“不多了,不多!”仿佛在说服自己与孩子们,软件世界的容量是有限的。于是一群小孩也在他的无奈中散去。
Csharp工程师有这样的能力,让人们在技术的海洋中感到趣味,但也有他不在时,咖啡馆依旧如常营业。
一个午后,正是头脑风暴结束后的闲散时光,我听见有人低声说,“温一壶浓咖啡。”这声音虽然微弱,却异常熟悉。我走出柜台,就见那位Csharp工程师靠在门旁的墙边坐着。他的面容憔悴,瘦得几乎不成人样,一身的衣服破烂不堪,手中把玩着一支旧旧的笔,似乎才刚刚完成了一项艰难的任务。他向我重复道,“温一壶浓咖啡。”
老板露出半个身子,半开玩笑地说,“哟,Csharp工程师,你这一阵子没露面,还欠了几个小时的工作呢!”Csharp工程师戴上了一副乏力的笑容回应,“这……下次一定补上。这次是准备好的,咖啡要浓。”他递给我几张票子,又迟疑地将指甲削去的边缘隐藏起来。这一刻,大家都愉快地笑了,气氛轻松可亲。我端着咖啡走向他,他用那双搓得发青的手颤巍巍地接过,双眼闪烁着无法言说的悲喜。
从那以后,Csharp工程师又消失了好些日子。待到年底的时候,老板在整理账本时,还会不时提起:“Csharp工程师还欠我们几个小时的工作。”而随着时间流转,人们似乎不再记得他曾经的那些夜晚。
如今,我依旧在这座岛屿边服务着不同的人群,但我始终没有忘记那位特立独行的C#工程师——也许他已远离了这繁华喧嚣,找到了自己安静的代码天地。在这个永不停歇迭代的行业里,他或许已是一个被注释掉的名字。
网友评论