Skip to content

第二十九章 账单

林知行盯着屏幕上的一行字:“请问这个Python爬虫项目,你能做吗?”

聊天框对面是个做电商的小老板,头像是个卡通猫。需求很简单:从几个批发网站上抓取商品价格数据,每天自动更新一次。

技术含量不高。林知行扫了一眼需求文档,估摸着大概需要写三百行代码,加上调试和测试,一天能搞定。

“能做。”他回复。

“报价多少?”

林知行想了想。三个月前,这种项目他至少收两千。但现在……

他看了看聊天记录里对方发来的其他程序员的报价截图。两个竞争者,一个报价八百,一个报价六百五。

“八百。”他打出这个数字。

对方秒回:“有点贵啊,人家才六百五。”

“那是低价竞争,质量没保障。”林知行打字,“我可以先做一个demo给你看,满意了再付全款。”

对方沉默了几秒:“行,demo多久能出来?”

“明天晚上。”

“好,demo通过的话八百成交。”

聊天结束。林知行关掉对话框,靠在椅背上。八百块,减去平台抽成百分之十,到手七百二。如果算上他写代码、调试、测试的时间,大概需要八到十个小时。

时薪:七十二到九十块。

看起来还行。比他之前想的要好。

但这是理想情况。实际上,他还要花时间跟客户沟通需求、修改细节、处理售后。如果客户是个难缠的,反复修改,时薪会直接腰斩。

而且这单八百块,是他跟对方磨了二十分钟才争取到的。三个月前,这种项目根本不愁接,客户排着队找他。现在呢?他得跟人比价,还得证明自己比低价竞争者更靠谱。

市场变了。


母亲的电话是晚上八点打来的。

林知行刚吃完饭,正在电脑前写那个爬虫项目的代码。手机屏幕亮起来,显示“妈”。

他接了。

“吃饭了没?”母亲问。

“吃了。你呢?”

“吃了。你爸今天出车了,要跑一趟广州,估计后天才能回来。”

林知行“嗯”了一声。父亲跑长途是常事,有时候一走就是一个星期。

母亲在电话那头沉默了几秒。

“知行,”她忽然问,“你最近手头宽裕吗?”

林知行的手指停在键盘上。

“怎么了?”

“没怎么,”母亲说,“就是问问。你爸的车……唉。”

她没说完。

林知行等着。

母亲叹了口气:“你爸的货车,发动机有点问题。修车厂说要大修,得两万块。”

两万。

林知行的脑子飞快地转。父亲跑一趟长途,来回四天,刨去油费过路费,净收入大概两千八。两万块,父亲要跑七趟多才能挣回来。

“不修不行吗?”他问。

“修车厂说再不修,发动机就报废了。”母亲说,“报废了更贵,换发动机要五万多。”

林知行没说话。

“我跟你爸商量了,他想先借点钱把车修了,”母亲说,“但你知道的,咱们家没什么亲戚可以借。你张叔那边……上次借的还没还清。”

张叔是父亲的老战友,在县城开小卖部。上次家里急用钱,父亲找张叔借了五千,到现在还没还上。

“妈,”林知行说,“你别担心,我想办法。”

“你有什么办法?”母亲说,“你还在上学……”

她说到这里停住了,好像意识到林知行已经毕业了。但“还在上学”这四个字已经说出口,带着一种习惯性的保护欲。

“我最近在忙一个大项目,”林知行说,“月底有一笔款到账。”

电话那头安静了几秒。

“真的?”母亲问。

“真的。”

“多少钱?”

“还没最后定,但应该够修车的。”林知行说,“你让爸先别着急,等我消息。”

母亲又沉默了一会儿。

“知行,”她的声音有点轻,“你别骗妈。”

“我没骗你。”林知行说。

这句话他说得很平静。平静到连他自己都差点信了。

“那好,”母亲说,“你爸那边我跟他说。你别太累了,注意身体。”

“知道了。”

“还有,”母亲补了一句,“专升本的事你考虑得怎么样了?报名费加资料费要三千多,你要是手头紧,妈这里还有点……”

“妈,”林知行打断她,“专升本的事我在考虑,钱的事你别操心。”

“好。”

电话挂了。

林知行把手机放在桌上,盯着屏幕发呆。

母亲刚才那句话还在耳朵里转:“你别骗妈。”

他没骗她吗?

他骗了。

根本没有“大项目”。根本没有“月底到账的款”。他上个月的收入是四千二,这个月到现在只有两千三。账户里的钱,刨去房租、吃饭、网费,能动用的只有六千四。

六千四。

父亲修车要两万。

他拿不出两万。甚至拿不出一万。


他打开银行APP。

余额:6400.37元。

这个数字他看过很多遍,但每次看都觉得刺眼。三个月前,这个数字是一万一千多——张老板的排课系统尾款到账的时候。那是他人生中最大的一笔收入。

然后呢?

房租交了三个月,一千五。吃饭、网费、手机费,一个月一千出头。零零碎碎的开销,加上给家里转过两次钱,一共转了两千。

一万一千变成六千四。

他算了一笔账。

如果转给家里五千修车,自己剩一千四。一千四,撑不到月底——还有十二天。吃饭一天二十块,十二天就是两百四。网费手机费加起来一百五。剩余一千零一十。

听起来还行。但这是没有意外的情况。如果他生病了呢?如果他需要买什么东西呢?如果那个爬虫项目的客户拖着不付款呢?

他打开笔记本,在纸上写:

账户余额:6400
父亲修车:20000
专升本报名费:3000+
本月剩余天数:12
本月预计收入:0(爬虫项目未结款)

他盯着这些数字,手指在纸面上轻轻敲。

如果他把六千四全部转给家里,父亲还差一万三千六。就算他把下个月的收入也算上,也填不满这个窟窿。

除非他能找到新的项目。

但他刚接的那个爬虫项目,才八百块。就算他一个月接十个这样的项目,也才八千。刨去时间和精力成本,根本不够。

他关掉APP,把手机扣在桌上。


晚上十一点,方小满从图书馆回来了。

他推开门的时候,林知行还坐在电脑前,屏幕上是爬虫项目的代码,但光标停在同一个位置已经半小时了。

“还没睡?”方小满问。

“在写代码。”林知行说。

方小满凑过来看了一眼:“这是什么项目?”

“爬虫,帮人抓商品价格的。”

“多少钱?”

“八百。”

方小满皱了皱眉:“八百?你之前不是说这种项目至少两千吗?”

“市场变了。”林知行说,“现在用AI工具写爬虫的人太多了,报价被压得很低。”

方小满“哦”了一声,没再说什么。他去洗漱了,回来的时候,林知行还是那个姿势。

“你怎么了?”方小满问。

“没事。”

“你看起来不像没事。”

林知行转过椅子,看着方小满。

“小满,”他说,“你手头有多少钱?”

方小满愣了一下:“干嘛?”

“就问问。”

方小满想了想:“两千多吧。怎么,你缺钱?”

“不缺。”林知行说,“就问问。”

他转回去,继续盯着屏幕。

方小满没再问。他知道林知行的脾气,不想说的事情,怎么问都问不出来。


第二天,林知行完成了爬虫项目的demo。

他把代码打包发给客户,附上使用说明。客户测试了十分钟,回复:“可以,就按这个做。”

林知行说:“好,明天交付完整版。”

客户说:“行。”

然后客户补了一句:“对了,林工,你这边除了爬虫,还接别的项目吗?”

“接。什么项目?”

“我一个朋友想做个AI客服,就是自动回复客户的那种。你做过吗?”

林知行心里动了一下。AI客服他做过,而且做得不错。

“做过。”他说,“需求是什么?”

客户把他朋友的微信推给了他。林知行加上对方,聊了半小时,摸清了需求:一个小型电商公司的客服系统,主要处理退换货和物流查询,需要接入微信公众号。

技术难度不高,但比爬虫项目复杂。

“报价多少?”对方问。

林知行想了想:“三千。”

对方沉默了几秒:“有点贵。我问了另一家公司,报价两千。”

又是另一家公司。又是低价竞争。

“那家公司做过类似项目吗?”林知行问。

“好像做过。”

“他们用什么方案?”

“不知道,他们说能做就行。”

林知行想说“能做和做好是两回事”,但他没说。他知道这种话说了也没用,客户只看价格。

“两千五。”他说,“我可以先做一个demo,你测试满意了再付全款。”

对方考虑了几秒:“行,demo多久?”

“三天。”

聊天结束。林知行关掉对话框,靠在椅背上。

两千五,刨去平台抽成,到手两千二百五。如果算上三天的工作时间,时薪大概七十到八十块。

跟昨天那个爬虫项目差不多。


他打开招聘网站,搜索“AI兼职”。

三个月前,他刚毕业的时候,搜出来的岗位要求很简单:会用ChatGPT、有基本编程能力、能独立完成项目。那时候,他觉得这些要求简直是在描述自己。

现在再搜,要求变了。

第一条:“AI应用开发工程师,远程兼职。要求:有AI项目开发经验,熟悉大模型API调用,本科及以上学历优先。”

第二条:“AI产品经理助理,远程。要求:有AI产品落地经验,了解用户需求分析,本科及以上学历优先。”

第三条:“AI内容生成专员,远程。要求:熟练使用AI工具进行内容创作,有成功案例,本科及以上学历优先。”

本科及以上学历优先。

这句话出现了三次。

他往下翻了翻,发现一个规律:三个月前,兼职岗位的要求是“会用AI工具”,现在变成了“有AI项目经验”。三个月前,学历要求是“不限”或者干脆不提,现在变成了“本科及以上优先”。

市场在筛选。

不是公司在筛选,是市场在筛选。当越来越多的人学会了AI工具,企业就可以提高门槛。先筛掉没经验的,再筛掉没学历的。

林知行关掉网站,盯着天花板。

他想起父亲上次打电话时说的话:“别乱花钱。”

父亲跑一趟长途,四天,挣两千八。这两千八是确定的——只要车不坏、路不堵、不出事故,钱就稳稳到手里。

他接一个项目,三千、五千、八千,听起来比父亲赚得多。但这些钱是不确定的——客户可能拖款、项目可能黄、市场可能变、竞争者可能压价。

确定性。

他突然意识到,这是父亲那代人最看重的东西。

父亲开货车三十年,从没想过换工作。不是因为喜欢,是因为这条路他走熟了,知道每一步怎么走,知道风险在哪里,知道收益有多少。这种确定性,让他敢借钱修车,敢供儿子上学,敢在电话里说“钱不够就说”。

而他林知行呢?

他有确定性吗?

他做的每一个项目,都是不确定的。他不知道下一个客户在哪里,不知道市场报价会变成什么,不知道三个月后AI工具会不会又进化一代把他甩在后面。他的收入是波动的,他的机会是概率性的,他的未来是算不出来的。

父亲的人生是O(1)——每一步都有固定的输出。

他的人生是O(n)——每一步都要重新计算。

或者更糟,是O(2^n)——每一步的不确定性都在指数级增长。

他想起自己用算法思维分析人生的时候,总觉得存在一条最优路径,只要找到它,就能用最小的成本获得最大的收益。

但现在他发现,算法的前提是:问题必须是确定的。

如果输入是不确定的,如果约束条件是随时变化的,如果目标函数本身就在移动——那再精妙的算法,也算不出最优解。

他打开笔记本,在纸上写了一行字:

确定性 = 安全感。

然后在下面加了一行:

我的问题:没有确定性。

他盯着这两行字,忽然觉得有点荒诞。

他学了那么多算法,做了那么多项目,被媒体采访过,被技术大牛认可过。但此刻,他连“下个月的收入是多少”这种最基本的问题都回答不了。

而他的父亲,一个只有初中学历的货车司机,至少知道下一趟长途能挣多少钱。

谁的人生算法更优?

他不知道。


晚上,他给母亲发了一条微信。

“妈,钱的事我有办法,你别担心。”

母亲秒回:“好,你别太累。”

然后母亲补了一句:“你爸说了,车的事他来想办法,你别操心。你在外面照顾好自己就行。”

林知行看着这条消息,手指悬在屏幕上方。

他想打一行字:“妈,其实我也没钱。”

但他没打。

他打了另一行字:“知道了,爸也别太累。”

发送。

他放下手机,靠在椅背上。

窗外是五月的夜风,带着初夏的潮气。宿舍楼下的路灯亮着,偶尔有学生骑着自行车经过,车轮碾过地面的声音很轻。

他想起小时候,父亲跑长途回来,会给他带一颗糖。那时候他觉得,父亲是世界上最厉害的人——能开那么大的车,能去那么远的地方,能挣那么多钱。

现在他知道了,父亲不是厉害,是确定。

父亲的人生没有那么多变量。一条路,一辆车,一趟长途,一份收入。重复三十年。

而他呢?变量太多了。学历是变量,市场是变量,技术是变量,机会是变量。他试图用算法控制这些变量,但变量的增长速度比他的算法快。

他打开电脑,屏幕上还亮着那个爬虫项目的代码。

光标在一行代码后面闪烁,像一颗不安的心跳。

他没有继续写代码。他打开了另一个页面——全国AI应用大赛的报名页。

报名截止还有十一天。

他看着那个“报名”按钮,手指悬在鼠标上方。

沈渡说过:不限学历,只看作品。如果你拿到名次,学历就不是问题了。

奖金呢?他往下翻了翻,看到一行字:

“一等奖:10万元。”

十万。

父亲的车修两万。专升本报名费三千。他下个月的房租一千五。如果他拿到一等奖,这些数字全都不是问题。

但那是如果。

如果他拿不到呢?

他关掉页面,把电脑合上。

黑暗中,他躺在床上,盯着上铺的床板。

方小满已经睡着了,呼吸声很均匀。

林知行听着这个呼吸声,想起父亲的呼吸声。父亲睡觉的时候打鼾,声音很大,像发动机的轰鸣。小时候他觉得吵,现在觉得踏实。

因为那声音是确定的。

他知道父亲在那里,父亲在睡觉,父亲明天还会醒来,还会去跑车,还会在电话里说“别乱花钱”。

而他自己呢?

他不知道明天会发生什么。他不知道下一个项目在哪里,不知道市场报价会变成什么,不知道那个比赛他能不能拿到名次。

他唯一确定的是:他必须继续往前走。

因为没有退路。

他闭上眼睛,在心里默默算了一笔账。

六千四百块。十二天。两个待完成的项目。一个不确定的未来。

这是他的账单。

不是数学题,没有最优解。

只有一个个变量,和一道必须做的选择题。

他翻了个身,把被子拉过头顶。

窗外的风还在吹,带着五月的潮气,和一点点食堂剩饭的味道。

他闻着这个味道,慢慢睡着了。

梦里,他没有在写代码,也没有在投简历。他在一辆货车上,坐在副驾驶的位置,父亲在开车。

车窗外是看不到尽头的高速公路,路面很平,没有坑洼,没有弯道,一直往前延伸,延伸到看不见的地方。

父亲没说话,只是稳稳地握着方向盘。

他也没说话,只是看着前方的路。

他忽然觉得,这种确定性,其实也挺好。

(本章完)