01|罗耀龙:茶艺师为什么有胆量用编程解决问题
你好,我是罗耀龙,很高兴在这里和你遇见。
这是我的2023年复盘,希望借这个机会把我的故事讲给你听,也期待能给你带来一些启发。
当茶艺师偷学编程
我想先分享一下2023年3月份我周报里的一段内容。
【里程碑事件】使用Go语言完成XX项目重构
目标:抖音直播间辅助拣货打包快递工具,从原Python测试脚本,重写成正式的Go语言程序
本次重构优化清单:
- 代码、配置、处理文件分离,确保项目代码安全以及容易维护
- 使用Go语言struct - interface特性,优化商品信息维护以及后续功能增强
- 选择命令行界面,提升操作的流畅程度
后续规划:将该项目调整为微服务架构
不知道你看完啥感受,是不是觉得这项目特别简单。我得先补充介绍一下背景信息。
我是一位茶艺师,在深圳的一家茶庄里工作。或许你不太了解茶艺师是干什么的,简单来说,茶艺师就是运用茶相关的知识,展露茶冲泡技艺,引导到店的客人购买茶叶的“销售员”。

上面分享的周报内容,就是这样的一位茶艺师,靠着自学的编程知识,给自己的茶庄写程序。
这到底是咋回事儿呢?听我细细说来。
时间要再往前推大半年,那时我在偷看编程相关的书,结果呢被现场抓包。茶庄老板把我拉到茶室里,质问道:“你在偷偷看这些书(编程相关的书),你是不是不想干了?”
老实说,我当时着实被吓出一身冷汗。
幸好老板没有立刻让我滚蛋。这么一来我的想法是,编程还是得学,但是要尽力隐藏好自己,同时本职工作要做好,至少别出纰漏。
故事到这里要有转机了。茶庄为了另谋生路,决定要在抖音直播间上卖货。老板给我了任务,“每天的直播间发货,你来负责。”
这里给你翻译翻译,这个活儿是这样的:
- 手工整理抖音直播间的下单信息,统计出是谁(也就是下单者)买了什么东西;
- 给下单者准备好对应的商品,打包;
- 根据下单者信息,叫快递,获取返回的快递单号;
- 通过下单者信息,将快递单号与抖音订单号一一对应,手工填回抖店标记发货。
这已经是我在干了几天后摸索出来的标准流程(SOP)了,不出意外,老板要来加需求了:“保留下单者的信息。”
表面看着挺简单的,但想想,如果订单的数量多起来,我还能手工操作过来?难不成一整天给他一条条地复制粘贴?
肯定不行,我决定用编程来解决这事。
当然,我没忘记做好隐藏,在没人看到且不影响工作的情况下搞开发。很快,我设计出一条给程序用的操作思路。
- 获得所有的下单者信息(这个还得是手操);
- 将下单者信息与抖店订单一一配对(抖店订单可以导出,但是收件人信息全部加密),并且按照下单者的手机号码为【唯一标识】排序,得到了可用于拣货打包的表1;
- 将去重后的下单者信息,填入快递公司的下单导入模板,生成表2,这样的表2“喂给”快递公司的网页下单应用,就能批量下单,获得带有快递单号的表3;
- 将表1与表3,通过【唯一标识】下单者的手机号码,将抖音订单号与快递单号一一对应,生成表4;
- 将表4“喂给”抖店网页应用,就能完成抖店订单的批量发货。同时表1给老板,其他文件自动清除;
- 工作结束。
按照这思路,我很快就用Python写出了一个脚本,并且用了起来。经过几天的实战使用,中间我还迭代过几版,实实在在地感受到工具为自己省事。假设有25单,不用工具至少40分钟,用了工具10分钟不到,最重要的是还不用花大量精力来一一核对信息。
这时候我觉得火候到了,这才把老板叫过来,向他展示工具。 老板简直像发现了新大陆,拉着我在外面走廊一圈一圈地转,足足聊了有2个多小时。
从此,我就能明着干了,根据茶庄的实际情况,优化升级我的工具。到了2023年的3月份,我终于把工具从Python脚本重构为Go程序。比起简单脚本,现在程序功能已经丰富了不少。更重要的是,顺着给工具升级迭代,我开始并坚持着更加系统的编程学习。
为什么有胆量用编程解决问题
当时我这茶艺师为什么有胆量去想“用编程解决问题”? 是极客时间的这门课给我的底气:尹会生老师的《Python自动化办公实战课》。具体来说,还不全是课程内容,而是单单这标题就给我的脑里打进一束灵光。
“这种重复劳动,程序一定能搞定。”也是就着这灵光,我开始干起来。
说实话,到写这份总结的时候,这门课我是没有完全学完的。对于这门课,与其说是“学”,还不如说是在“用”。
- 快速浏览标题,看能不能与我自己所面对的问题有关联;
- 点进去看看,看老师讲解例子,我能不能用上;
- 就算不行,提取一下他的思路,看能不能给我点启发;
- 有收获,或者没收获,离开,去别处找;遇到新问题,感觉可能在这能有收获,再回来。
因为当时用Python写,因此我也像这样同时去“搜寻”着极客时间的其他几门与Python有关的课程。顺着课程里的指引,跳到GitHub或者Google去看文档。实在实在不行,这才去百度。当然,以上的这些,我都没看完。
我就是这样跳着跳着,把我的Python脚本给“拼”出来了,跑一下,能动。用不了,迭代两三个版本,我就“炫技”似地整出个脚本的可视化界面,可以鼠标选择跑哪个功能,选择文件,也能显示脚本的运行状态,我给老板展示的就是这个版本。当然,这个版本我也是像上面那样“拼”出来的。
反思整个过程,就好像是这样的:
- 有“自动化办公”这思路,可行,干!
- 什么语言适合“自动化办公”,Python,安装!
- 怎么写一个Python文件?查!
- 如何用Python打开一个文件?查!
- ……
再抽象一下,就是“带着一个最该解决的问题,寻找自己合适的工具,干活。”
不知不觉,自己的成果就出来了。
而且,在这个过程中我还深刻体会到一点,不要纠结一门课、一本书有没有“读完学完”。
因为不再纠结学完读完这一点,我在读书上反而有了更不一样的感受。给你分享我23年遇到的一本书。
相见恨晚的一本书
这本书的名字是《为自己思考:终身成长的底层逻辑》。偶遇时,我真的感觉相遇恨晚。大多数的书在我看来就是工具。对于工具,我是不会有这样的感觉的。 “相遇恨晚”,这描述的是人对人的感觉。
当我打开这本书,看着里面的文字,我清楚地感觉到,我面前,站着一个人。可能是白皮肤的、黑皮肤、黄皮肤的;可能是油画中智者的脸,或者摩根·弗里曼的脸(可能老是看到他演教授学者),或者某位老师的脸;也可能就是再年老一些的我自己的脸。
就是这样的一个人,看着我,看着我的行动,说着我会觉得“大逆不道”的话。当我缓过神,能品到话中的深意时,他对我浅浅一笑。
“看,你这不就干了吗?”
他说,你想成为作家,就去写你的作品,而不是坐在椅子上想象着自己成不了名。是啊,我就是看到了一个课程标题,就动手写了第一个实用的程序。
他说,允许你放下书本,不必啃完每一本书,也允许你点专栏的“退订”。可不,我就是在书和专栏里找有用的,没找到就先放下。
他说,你们往往会把自己与外在的那层表皮混为一谈,可表皮不是你们。恍然大悟,我这在茶庄训练了快4年的茶艺师,不也居然发展到想学编程开发工具嘛。
他说……
每次拿出这本书,就好像看见他在向我打招呼,“你来啦,自己随便。”听听他说的故事,听听他对事情的看法。但他就是看着我,时不时来一句,“哦,我看到了你的不服气与不认同,没事,你就听听。”看我再次回来时,他笑意更甚,“在我看来,你也干了类似的事却不自知。没事,来,说说看,你怎么想的?”
《为自己思考》这书我还没看完,但有个预感,我还会和他见很多次面,聊很多次天。
好了,这就是我的2023年。我想借《为自己思考》这本书的一句话给自己的2023做个总结,也把这句话送给你。
“我们往往会把自己与外在的那层表皮混为一谈,可表皮不是我们。”
