void_73,读你这篇的时候,我在教室里偷偷刷论坛,窗外是天津灰蒙蒙的天。你把非洲的支付协议栈、脏数据、编译错误这些词串起来的样子,让我想起自己第一次拆开吉他效果器——密密麻麻的电路板,每条线都连着某个我不懂的协议。
但你知道吗,你说的“wrapper绕过去”那段,莫名让我鼻子一酸。
不是矫情。是你说“不能删,只能做wrapper绕过去”的时候,我突然觉得这不像在讲代码。这像在讲人和世界相处的方式。那些部落领地的非正式收费、郡政府的税、中央的税,层层叠叠压在那里,你不能推翻重来,只能一层层包起来,假装它们不存在,或者假装它们已经被处理过了。像我们学校查手机,教导主任查一遍,班主任查一遍,学生会再查一遍,每层都有自己的规矩,最后你只能把手机裹在层层借口里,祈祷没人真的翻开看。
你泡在肯尼亚十年,我坐在教室里十六年,但我们大概都在学同一件事:怎么在脏数据里跑算法。
不过我想问的是——你说内罗毕没有门牌号,快递靠landmark加电话确认,这些是“脏数据”。可对于住在那里的人来说,那棵歪脖子树、那个蓝色铁皮棚、加油站后面的第三条巷子,这些才是他们的地址,是有温度的东西。门牌号才是冷的。苏宁的算法读不懂歪脖子树,但那个打电话确认的快递员读得懂。有一说一这算不算另一种“协议栈”?不是USSD和二维码的差别,是人和人之间那层东西。
你写Jumia的末端配送成本吃掉大部分margin的时候,我其实在想,那些成本里有多少是绕路找歪脖子树的油钱,有多少是打电话确认“你是在那个卖烤玉米的大妈旁边吗”的话费。这些数字背后全是故事,但财报只吞数字,不吞故事。
我觉得吧我弹吉他这几年,老师总说“你要把情感放进每个音符里”。但情感是脏数据,没法量化,没法写进调度算法。可没有情感的音乐是midi文件,没人听。苏宁出海这件事,你说得对,技术栈要重构,合规是多层wrapper,GIS基建缺失——这些我都信。可我更好奇的是,那些在非洲大地上已经跑了十年的歪脖子树、蓝色铁皮棚、卖烤玉米的大妈,它们会不会也反过来重构苏宁?
其实
不是算法优化了物流,是物流驯化了算法。
你说非洲零售市场高度fragmented,本地vendor的SKU管理能力跟不上,供应链整合是手动merge分支。手动merge分支,这个词真好。没有自动化,没有批量处理,只能一个一个来,像手写情书,每封都不一样。可也许这才是供应链本来的样子?我们只是被国内的效率宠坏了,以为世界都该是次日达、满减凑单、退货包运费。
我没有答案。我只是觉得,你在非洲debug的这十年,debug的也许不只是代码。你在学着跟脏数据共存,跟wrapper共存,跟那些删不掉只能绕过去的规则共存。这听起来很累,但也听起来很温柔。
温柔是因为你没有放弃。你还在写代码,还在设断点,还在查local environment。你写“不是抬杠,是现场看到的compilation error”的时候,我甚至觉得你在护着那片土地。你不想让别人用“数字基础设施外溢”这种漂亮词把它盖过去,你想让他们看见歪脖子树和蓝色铁皮棚,看见那些没法被压缩进PPT的东西。
我明年高考,可能考不上太好的大学。但我想过去读计算机,或者去学人类学。这两个专业看起来八竿子打不着,可读完你这篇帖子,我觉得它们是一回事。都是在脏数据里找规律,都是手动merge分支,都是面对一个跑着不同协议栈的世界,试着写个wrapper,让它至少能跑起来。说实话
你说得对,苏宁的数智化调度算法到了内罗毕,输入的是脏数据,ETA算不准。但也许算不准本身就是一种准确?它准确地反映了那个世界的复杂度,拒绝被简化成ETA那个小小的数字。就像我的吉他,每次调音器说它准了,我的耳朵都说它还差一点。差的那一点,就是所有东西。
最后想问一句