loading image

程序员孔乙己

互联网园区的咖啡馆的格局,是和别处不同的:都是临街一个长条形的大柜台,柜里面摆着咖啡机,可以随时做美式。互联网人,傍午傍晚散了会,每每花十几块钱,买一杯瑞幸,——这是近些年的事…

Posted by Enovace on April 30, 2026

互联网园区的咖啡馆的格局,是和别处不同的:都是临街一个长条形的大柜台,柜里面摆着咖啡机,可以随时做美式。互联网人,傍午傍晚散了会,每每花十几块钱,买一杯瑞幸,——这是近些年的事,早几年还多是星巴克,一杯要三十来块,——靠柜外站着,凉凉地喝了提神;倘肯多花几块,便可以买一个可颂,或者一块小蛋糕,配着咖啡吃了。如果出到几十块,那就能买一样简餐,但这些顾客,多是背电脑包、赶迭代的打工人,大抵没有这样阔绰。只有那些中高层、创业的小老板,或者投资人,才踱进店面隔壁的卡座里,要咖啡要点心,慢慢地坐谈。

近来园区里又多了些谈 AI 的人,开口闭口是什么大模型,什么智能体,什么工作流;仿佛昨日还在讲中台,今日便都改讲 AI 了。

我从大学做兼职起,便在园区口的这家咖啡馆里当店员。店长说,我年纪轻,样子又木,怕招呼不了卡座里的主顾,就叫我在柜台外面做点事罢。外带的互联网主顾,虽然容易说话,但唠唠叨叨缠夹不清的也很不少。他们往往要亲眼看着咖啡从机器里流出,看过杯身上的标签是不是自己的,又亲看我有没有少冰、少糖,然后才放心;在这严重监督之下,做错一杯也很为难。所以过了几天,店长又说我干不了这事。幸亏是熟人介绍来的,辞退不得,便改为专管叫号递咖啡的一种无聊职务了。

我从此便整天站在柜台里,专管我的职务。虽然没有什么失职,但总觉得有些单调,有些无聊。店长是一副凶脸孔,主顾也没有好声气,教人活泼不得;只有孔乙己到店,才可以笑几声,所以至今还记得。

孔乙己是站着喝咖啡而还坚持一行一行手敲代码的唯一的人。

程序员孔乙己 配图 1

孔乙己年纪已经不轻;青白脸色,眼下时常挂着熬夜的黑圈;一头乱蓬蓬的头发,夹些花白。穿的虽然是前公司的文化衫外套,可是又旧又皱,袖口磨得发亮,似乎多年没有换过。他总背着一个旧电脑包,包角磨得发亮;包里常放着一台用了多年的笔记本,键帽上的字已有几个看不清了,却总也舍不得换。他对人说话,总是满口“高并发”“分布式”“底层原理”“设计模式”,教人半懂不懂的。近来园区里人人谈 AI,他却最不爱听这些,常说机器写的代码没有魂,正经程序还得人一行一行敲出来。因为他从前在大厂做过程序员,简历上又常写着“前某厂高级研发工程师”,说起话来总有些一本正经,旁人便在背后叫他孔乙己。孔乙己一到店,所有喝咖啡的人便都看着他笑,有的叫道,“孔乙己,你今天又没用 AI 写代码么!”他不回答,对柜里说,“来一杯美式,不加糖。”便摸出一部碎了屏的手机,扫了柜上的二维码。他们又故意高声嚷道,“你一定又说 AI 写出来的不是代码了!”孔乙己睁大眼睛说,“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你在群里说,模型补出来的东西,都是拼凑出来的。”孔乙己便涨红了脸,额上的青筋条条绽出,争辩道,“AI 写的代码……也能算代码么?……代码!……技术人的事,能让机器胡乱代劳么?”接连便是难懂的话,什么“工程质量”,什么“可维护性”,什么“长期稳定性”之类,引得众人都哄笑起来:店内外充满了快活的空气。只是那天笑他的人,脖子上也都挂着差不多的工牌。

听人家背地里谈论,孔乙己原先也在大厂做过几年,据说代码写得不差,只是做事太讲究些。他写程序,总要先理清架构,再分清边界,查过文档,看过源码,才肯动手。后来园区里忽然人人都谈 AI,老板们口里也渐渐有了些“降本增效”“全员提效”的话,说是简单需求,先叫 AI 怼上去看看。孔乙己却总说,这样写出来的代码没有根基,边界不清,不好维护,安全性也差,迟早要出事。几次项目赶急,他仍旧照老法子一点一点敲,旁人便渐渐不爱把重要的活交给他了。

孔乙己没有法,便免不了偶然做些从前看不上的小营生:卖些课程资料,接些零碎外包,替人调调接口,偶尔也发几条推广链接。但他在我们店里,品行却比别人都好,就是从不白喝咖啡;虽然间或没有现钱,暂时赊在小程序上,但不出一月,定然还清,从后台抹去了孔乙己的名字。

孔乙己喝过半杯咖啡,涨红的脸色渐渐复了原,旁人便又问道,“孔乙己,你当真懂现在的编程么?”孔乙己看着问他的人,显出不屑置辩的神气。他们便接着说道,“你怎的连个 AI 生成的小页面也交不出来呢?”孔乙己立刻显出颓唐不安模样,脸上笼上了一层灰色,嘴里说些话;这回可是全是“代码质量”“安全边界”“长期维护”之类,一些不懂了。在这时候,众人也都哄笑起来:店内外充满了快活的空气。

在这些时候,我可以附和着笑,店长是决不责备的。而且店长见了孔乙己,也每每这样问他,引人发笑。孔乙己自己知道不能和他们谈天,便只好向年轻人说话。有一回对我说道,“你写过代码么?”我略略点一点头。他说,“写过代码,……我便考你一考。HashMap 的底层,怎样实现的?”我想,近来连店里那些不写代码的主顾,也会说几句叫 AI 生成页面、调接口的话;他却还来考我 HashMap,便回过脸去,不再理会。

孔乙己等了许久,很恳切地说道,“不会罢?……我教给你,记着!这些东西应该记着。将来面试的时候,要用。”我暗想,这年头面试都开始问 AI Agent 开发了,谁还整日记这些八股;又好笑,又不耐烦,懒懒地答他道,“谁要你教,不就是数组、链表、红黑树么?”孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说,“对呀对呀!……HashMap 有四样问法,你知道么?”我愈不耐烦了,努着嘴走远。孔乙己刚想拿纸巾画图,见我毫不热心,便又叹一口气,显出极惋惜的样子。

程序员孔乙己 配图 2

有几回,附近马上要毕业的学生听得笑声,也赶热闹,围住了孔乙己。他便给他们讲些面试题,一人一题。学生听完题,仍然不散,眼睛都望着他桌面上那个“面试剑指Offer”的文件夹。孔乙己着了慌,伸开五指将电脑合住,弯腰下去说道,“不多了,我已经不多了。”直起身又看一看自己的资料夹,自己摇头说,“不多不多!多乎哉?不多也。”于是这一群学生都在笑声里走散了。

孔乙己是这样的使人快活,可是没有他,别人也便这么过。

有一天,大约是绩效季前的两三天,店长正在慢慢地对账,忽然说,“孔乙己长久没有来了。还欠一杯美式的钱呢!”我才也觉得他的确长久没有来了。一个喝咖啡的人说道,“他怎么会来?……他换了一家公司,新公司不在这片园区。”店长说,“哦!”

“他总仍旧是那样。这一回,是自己发昏,竟去了家号称 AI native 的公司。听说那公司里,写需求、搭页面、调接口,都先叫 AI 跑一遍;人家一天能怼出来的东西,他偏要讲什么安全性、可读性、可维护性,拿着键盘一行一行敲,一个星期也没交出来。这样的做派,在那样的公司里,是他想待便待得住的么?”

“后来怎么样?”

“怎么样?先是项目延期,后来是绩效不好,再后来便被劝退了。”

“后来呢?”

“后来被劝退。”

“被劝退怎样呢?”

“怎样?……谁晓得?许是又走了。”

店长也不再问,仍然慢慢地算他的账。

绩效季过后,园区里的人是一天少比一天,看看将近春节;我整天靠着咖啡机,也须穿上外套了。一天的下半天,没有几个顾客,我正合了眼坐着。忽然间听得一个声音,“来一杯美式。”这声音虽然极低,却很耳熟。看时又全没有人。站起来向外一望,那孔乙己便在柜台下对着门口坐着。

他脸上黑而且瘦,已经不成样子;穿一件旧卫衣,身边放着那个旧电脑包,拉链坏了半截,用胶带缠着。包口露出一角旧键盘,几个键帽已经磨得发亮。见了我,又说道,“来一杯美式。”

店长也伸出头去,一面说,“孔乙己么?你还欠一杯美式的钱呢!”

孔乙己很颓唐地仰面答道,“这……下回还清罢。这一回是现钱,咖啡要热。”

店长仍然同平常一样,笑着对他说,“孔乙己,你还说 AI 写的不是代码么?”

但他这回却不十分分辩,单说了一句,“不要取笑!”

“取笑?要是不还一行一行敲,怎么会弄到这个样子?”

孔乙己低声说道,“代码……代码总还是要人写的……”

他的眼色,很像恳求店长,不要再提。此时已经聚集了几个人,便和店长都笑了。

我见他先扫了柜上的码,才做了咖啡,端出去,放在门边的小桌上。他低头喝着,另一只手还按着那个旧电脑包,包角已经磨破,拉链也坏了半截。不一会,他喝完咖啡,便又在旁人的说笑声中,低着头,慢慢地走去了。

自此以后,又长久没有看见孔乙己。

到了春节前,店长看着后台说,“孔乙己还欠一杯美式呢!”到第二年的绩效季,又说,“孔乙己还欠一杯美式呢!”再后来,听人说他去跑了网约车,副驾上还放着那个旧电脑包。再到年关,也没有看见他。

我到现在终于没有见——大约孔乙己的确是不做程序员了。

程序员孔乙己 配图 3