书是在四月底上架的。
那天是个周四,林晨在t厂开完部门周会回到工位,手机上多了一条微信消息。周敏发来的:林晨,书已经上架了,京东、当当、天猫都有。ISbN和链接我发你邮箱了。
他点开邮件看了一眼,链接、书号、封面图,一应俱全。他把链接复制到浏览器,打开京东的页面。白底封面,35岁程序员的AI逆袭几个黑字印在正中间,下面是他的名字。页面右侧有购买按钮,底下已经有两条评论,一条是出版社的编辑发的,一条是一个读者发的,只有四个字:期待已久。
林晨看了两秒,关掉页面,继续处理工作邮件。
苏婉在网上下了三单。一本寄到家里,一本寄到她学校,一本寄到林晨的t厂。三天后快递到了,她拆开家里的那本,翻了两页,合上,放在茶几上。跟上次一样,封面朝上。她没有拍照,没有发朋友圈,只是把书放好,然后去厨房洗菜了。
林晨下班回来看到茶几上的书,拿起来翻了翻。书比他想的薄,排版之后不到两百页。他翻开目录,从到第一份AI工作投资系统开一家快餐店,章节标题跟他备忘录里写的一模一样,只是编辑把几个措辞改得更规范了一些。他又翻到关于失业那一段,那段他写了很久的文字,印在纸上只有五行。他看了两遍,合上书,放回茶几。
苏婉端着一盘菜从厨房出来,看了他一眼:看了?
看了。
怎么样?
还行。
苏婉笑了一下,没追问。她了解林晨说是什么意思——不是不好,是他永远觉得可以更好。
上架第一天,林晨没有看销量数据。他不知道去哪里看。周敏发了一张图到微信上,是一个折线图,上架24小时的销量曲线。起点是零,到晚上十一点的时候停在一千四百本。林晨看了一眼这个数字,没有概念。一千四百本算多还是算少,他不知道。
周敏在图下面发了一条消息:首日1400本,超过预期了。技术类新书首日一般只有几百本。
林晨回了一个。
第二天,一千八百本。第三天,两千三百本。第四天是周五,两千九百本。周末两天数据跳了一下,周六四千一,周日三千六。周敏说周末的数据通常会高一些,因为技术人群的阅读习惯偏周末。
林晨没有每天盯着数据看。他在t厂有工作要做,晨枫快餐的月度数据要看,投资系统的日常监控不能停。书卖多卖少不是他能控制的事,他只管写完了,剩下的交给出版社。
但赵刚不这么想。
赵刚在训练营的钉钉群里发了一条消息:林总的书上架了!大家去支持一下!后面附了京东和当当的链接。
群里一下子炸了。
林总出书了?!就是那个《35岁程序员的AI逆袭》吗?我前天在知乎上看到的!已经买了,等快递到。林总牛逼!必须买,林总的经验值这个价。
林晨在群里看到了,发了一条:书的链接不要在群里推,想看的自己去找。训练营是训练营,书是书。
群里安静了几秒。赵刚回了一个,其他人也跟着回了。林晨把群消息设成免打扰,继续处理t厂的工作。
上架一周的时候,周敏打了一个电话过来。
林晨,有个好消息。周敏的声音比平时高了半个调,上架一周卖了本。
林晨手里正端着咖啡杯,听到这个数字的时候停了一下。
一万本?
对,一万出头。这个数据在技术类新书里非常少见。一般技术类新书首月能卖三千本就算不错了,你一周就破万了。
林晨没有说话。他把咖啡杯放在桌上,靠在椅背上想了一会儿。一万本意味着有一万个人在看他写的东西。一万个人里有的是程序员,有的是想转行的中年人,有的是在校学生,有的是刚被裁员正在焦虑的人。他们会看到他被裁那天在地铁上手心出汗的画面,会看到他学python时pandas的groupby花了三个小时才弄懂的记录,会看到他面试前一晚在阳台上抽了四根烟的那个段落。
现在京东技术类新书畅销榜排名第七。周敏继续说,当当那边排名第十二。两个平台的评分都是4.8以上。评论里提到最多的是和两个词。
林晨了一声。
周敏等了几秒,以为他会说点什么,但林晨只是嗯了一声,没有其他反应。她笑了:你不激动吗?
写了就写了,卖多少是市场的事。
行吧。周敏的语气带着一点无奈,我把详细的销售报告发你邮箱。另外,有几家媒体想做采访,你要不要考虑一下?
采访不做。林晨说。他之前拒绝过科技媒体的采访,这次也一样。训练营是免费的,书也不是为了出名。如果有人看了书觉得有帮助,那是书本身的作用,不是我的作用。
周敏没有再坚持。好,我替你推了。
挂了电话之后,林晨在工位上坐了一会儿。窗外鹏城cbd的天际线在午后的阳光里泛着白光,远处几栋写字楼的玻璃幕墙反射着太阳。他看了一眼时间,下午两点十五分。FinGpt v4的训练任务在后台跑着,进度条显示78%。他切回代码窗口,继续写特征工程的逻辑。
但一万本这个数字在他脑子里没有马上走掉。
周末林晨去晨枫快餐南区店看了一圈。
中午的翻台率四点三,比上周高了零点二。林浩在厨房里炒菜,灶台前面油烟翻滚,他左手颠锅,右手拿勺舀调料,动作快得像在写代码——不,比写代码快多了。林浩的代码写得不好,但他的菜炒得好。每个人有每个人擅长的事。
周小敏在前厅忙得脚不沾地。午高峰的时候她一个人管八张桌子,点单、上菜、收台、结账,节奏比地铁换乘还紧凑。她穿着黑色的工作服,头发扎成马尾,在桌椅之间穿行的时候步子又快又稳,像一个在跑道上跑了很久的人。
小宇在收银台后面帮忙处理外卖订单。他来了快两周了,前厅的流程已经基本熟悉,点单系统的操作比周小敏还快——毕竟他学计算机的,ipad上的界面操作对他来说没有门槛。但他处理客人投诉的时候还是太年轻了,有客人说菜上慢了,他第一反应是解释而不是道歉。周小敏在旁边看他处理了两次,第三次他正要开口解释的时候,周小敏在旁边轻声说了一句:先道歉,再解释。
小宇顿了一下,然后对客人说:不好意思,让您久等了。客人脸色缓和了,小宇松了口气,回头看了周小敏一眼。周小敏没有看他,已经在收拾旁边那桌的碗筷了。
林晨站在门口看了一会儿,没有进去打扰。他站在门外的人行道上,透过玻璃看厨房里林浩的背影、前厅周小敏穿梭的身影、收银台后面小宇操作ipad的样子。三个人的节奏在中午的高峰期咬合在一起,像一个运行中的系统,每个模块在各自的时间片里完成各自的任务,最后在出餐口汇合。
他看了一会儿,掏出手机在备忘录上记了一行:小宇——客人投诉处理需要加强,建议周小敏单独培训。
然后他走进店里,在角落找了个位置坐下来。
林浩从厨房里探出头来,看到他,喊了一声:哥,你来了。吃点什么?
随便来一份。
林浩缩回去了,三分钟后端了一碗酸菜鱼出来。鱼片切得薄厚均匀,汤面上漂着红油和香菜,热气裹着酸辣味冲上来。林晨夹了一块鱼肉,嚼了两口。味道跟以前一样稳定,甚至比上次来的时候更入味了一点。
汤底调了?林晨问。
加了一点点陈皮。林浩说完就回了厨房,午高峰还没结束,他走的时候顺手擦了一把灶台边上的油渍。
林晨把酸菜鱼吃完了,碗底的汤也喝了大半。他放下筷子,看了一眼手机。钉钉群里有几条新消息,他扫了一眼,没有需要立刻回复的。微信上有一条周敏发的消息,是京东技术类畅销榜的截图,排名已经从第七升到了第四。
他看了两秒,把手机放回桌上。
周一上班的时候,陈铭走过来在他工位旁边站了一下。
你出书了?陈铭手里拿着一杯美式,靠在隔板上。
你怎么知道的?
知乎上在讨论。有人贴了链接,说是t厂某个总监写的。虽然用的是化名,但时间线对得上。陈铭笑了一下,35岁被裁,9个月自学AI转型,现在在大厂做部门总监。全鹏城能对上这个描述的没几个人。
林晨没有接话。他在书里用了化名处理,公司名和项目名都换了。但时间线确实没法完全模糊,写的是他自己的经历,总有一些痕迹能对得上。
写得怎么样?陈铭问。
一般。
陈铭笑了一下,没有追问。他看了一眼林晨屏幕上正在跑的训练日志,说了句FinGpt v4跑完了吗就回自己工位了。
但这件事在t厂内部传开了。不是大范围的那种,是那种技术圈子里口口相传的方式。有人在内网的匿名区发了一个帖子,标题是推荐一本书《35岁程序员的AI逆袭》,帖子下面有二十几条回复,大部分人说买了或者准备买,有两条回复说书里的经历跟咱公司某个大佬好像啊,然后被管理员删了。
林晨没有去看那个帖子。是张雨告诉他的。
林总,内网有人推荐你的书。张雨在钉钉上给他发了一条消息。
我知道了。不用管。
好的。张雨没有再说什么。她最近在帮林晨处理FinGpt v4的数据清洗工作,每天要在标注平台上盯六个小时。她比林晨小六岁,做事比林晨还细,标注错误的召回率能做到百分之九十五以上。林晨有时候觉得她比他更适合做质量把控,他看数据看的是趋势,她看数据看的是每一个异常点。
上架第二周,书的销量继续涨。
周敏发来了新的数据:累计销量一万八千本。京东技术类畅销榜排名第三,当当网总榜排名第四十七。评论数从几条涨到了两百多条,评分稳定在4.8分。
林晨看了一下评论区的长评。有一条评论他看了两遍:
我今年33岁,上个月刚被裁员。拿到离职协议的时候手在发抖,跟书里第一章写的一模一样。我本来想直接翻到后面看成功经验的,但看了第一章就走不动了。他写的不是成功经验,是一个人在最差的时候还愿意站起来走的那几步路。我现在就在走那几步。
还有一条:
书里关于学AI的章节是我见过最实用的。没有一句废话,全是步骤和细节。pandas的groupby花了三个小时才弄懂那段我看了三遍,因为我也花了三个小时。
再往下翻,有一条只有两行字的评论:
买给我老公看的。他35岁,被裁了三个月,每天在家不说话。我不知道书里写了什么,但他看完之后开始学python了。谢谢作者。
林晨看完这条评论,把手机屏幕锁了。
他坐在书房的椅子上,看着窗外。小区楼下有人在遛狗,跟上周一样,那个人每天下午四点都准时出现。远处的鹏城湾在夕阳下发着光,几栋高楼的影子拉得很长。
苏婉推门进来,手里拿着一杯水。
在看评论?苏婉把水放在他手边。
哪条让你看了两遍?
林晨没有回答。他把手机放在桌上,端起水杯喝了一口。苏婉没有追问,她走到书架旁边,从最上面那层把那本书拿下来。书脊朝外,跟其他书挤在一起,不仔细看分不出来是哪本。
你知道这本书最值钱的地方是什么吗?苏婉把书放回去,转过来看着他。
什么?
不是技术。技术三年就过时了。苏婉靠在书架边上,是你写被裁之后那四十分钟的那句话。你在沙发上坐了四十分钟什么也没做。这句话会让每一个被裁的人觉得他不是一个人。
林晨想了一下。他没有说对或者不对。他端着水杯看了一眼窗外,夕阳已经快落下去了,鹏城湾的水面从金色变成暗灰色,远处的几栋写字楼开始亮灯。
他想起自己在地铁上攥着离职协议的那个下午。手心是湿的,纸角被攥出了褶皱。如果当时有人递给他一本这样的书,他会在地铁上翻开吗?他不确定。也许会,也许不会。但至少那本书会在他手里,而不是在某个书架的角落里积灰。
一万个人买了这本书。一万个人里有多少人正在经历他当年经历的事,他不知道。但他知道,如果其中哪怕只有一个人因为这本书开始写第一行代码,或者在被裁之后的第一个周末没有在沙发上坐四十分钟什么都不做,那这本书就不是白写的。
他放下水杯,打开电脑。FinGpt v4的训练进度到了92%。他切回代码窗口,继续写。
书房里很安静。键盘的敲击声一下一下地响着,跟窗外远处的车流声混在一起。苏婉走出了书房,轻轻把门带上。客厅里传来乐乐在拼积木的声音,积木块碰到一起发出细碎的咔哒声。
林晨敲了一会儿代码,停下来,在备忘录上记了一行字:书的版税问一下周敏,如果到账了,捐一部分给训练营做助教补贴。
然后他继续写代码。
那天晚上,林晨在书房里关掉电脑之后,看了一眼手机。知乎上关于这本书的讨论帖已经有三千多条回复了。有人分析书里的技术路线图,有人讨论三十五岁到底算不算晚,有人分享了类似的转型经历。帖子下面还有人贴了训练营的链接,不知道是谁发的,不是赵刚,也不是林晨。
他把手机放下,走出了书房。客厅里苏婉在沙发上翻手机,乐乐已经睡了。茶几上那本书还在原来的位置,封面朝上,旁边压着苏婉的茶杯。
林晨在苏婉旁边坐下来,拿起遥控器换了两个台,停在一个新闻频道上,画面里是某个城市的夜景,霓虹灯在水面上倒映出一片彩色。
版税到账了你知道吗?苏婉说。
还没。
周敏发消息说快了。按一万八千本的销量算,版税大概十几万。
林晨嗯了一声。
你打算怎么用?
捐一部分给训练营做助教补贴。剩下的存着。
苏婉没有接话。她知道林晨不会把版税当成收入来依赖。跟投资收益和t厂的工资比,版税只是一个小数字。但这个数字的意义不在于大小,在于它是一万个人用真金白银投的票。
电视上的新闻换了一条,讲的是AI行业的人才缺口。主持人说,未来五年AI相关岗位的需求量将达到两百万,但目前市场上的合格人才不足五十万。画面切到一个程序员在电脑前写代码的背影,灯光照在键盘上,手指在敲击。
林晨看了两秒,换了一个台。
他放下遥控器,靠在沙发背上。脑子里在想明天t厂要开的部门会,FinGpt v4的训练跑完之后要做的模型评估,晨枫快餐这个月的利润趋势是往上还是持平,小宇的第二周学习进度怎么样。这些事一件一件排着队,跟代码里的函数调用一样,按顺序执行,不能跳过,也不能并发。
苏婉把手机放下,看了一眼茶几上那本书。
你有没有想过,这本书会改变什么?
不会改变什么。林晨说。一本书改变不了什么。它只是让一些人知道,有人走过这条路。走不走还是自己的事。
苏婉没有反驳。她把茶杯端起来喝了一口,茶叶已经泡得没有味道了。她站起来去厨房倒掉茶渣,重新泡了一杯。
林晨看着她走向厨房的背影,想起了两年多前他刚被裁的时候。那时候他们也是坐在客厅里,他看着苏婉的背影在厨房里忙碌,手边放着一杯已经凉透了的茶。现在的茶几上也有茶杯,但茶是新的,杯子是温的。他站起来,走到书房门口,回头看了一眼茶几上那本书的封面。
35岁程序员的AI逆袭。
七个黑字印在白底上,没有图案,没有腰封,干干净净的。跟他的人一样。
他关了书房的灯,走进卧室。苏婉已经躺下了,侧身看着手机屏幕。他在她旁边躺下来,闭上眼睛。
明天早上六点半的闹钟。t厂的部门会九点开始。晨枫快餐的午市数据下午两点推送。FinGpt v4的训练预计明天下午跑完。小宇的前厅培训第三周明天开始。训练营第三期的报名链接还没发。
日程表排得满满的,但他知道明天会有一件新的事:周敏说有两家出版社发来了合作邀请,想谈第二本书的方向。
他没有立刻回复周敏的消息。他翻了个身,把手机放在床头柜上。屏幕暗下去之前,他看到了微信上的一条新消息提醒。
是一个陌生头像,备注名是一串他不认识的字。消息只有一行:
林总,我看了你的书。我现在32岁,刚被裁。我能加入你的训练营吗?