在开发者圈子里,"副业项目"(side-project)几乎成了一种文化符号。从 GitHub 上星标数万的开源工具,到偶然间成长为独角兽公司的周末实验,成功的故事被反复传颂。然而,英国创意开发者 Robb Owen 最近在一篇文章中提出了一个截然不同的视角:放弃副业项目,其实并不可耻。

Owen 坦言,他自己也有过不少半途而废的项目,其中有一个甚至是在部署当天就被放弃的。这个故事要从他学习拉脱维亚语的经历说起。他的伴侣是拉脱维亚人,为了与她更好地交流,Owen 开始自学这门语言。然而,拉脱维亚语有一个让英语母语者望而生畏的特性 —— 语法格(grammatical cases)。与英语依赖词序和介词不同,拉脱维亚语通过改变词尾来表达词语在句子中的功能。这门语言共有七个格、两种语法性别,每种性别又有三种变位模式,名词还分单复数。粗略算下来,一个学习者需要记忆大约 84 种不同的词尾变化。
作为开发者,Owen 的第一反应是用代码解决问题。他决定用当时新兴的 Svelte 3.0 框架搭建一个名词变位测验应用,后端配合 Netlify 的 Serverless 函数,数据存储在本地。他花了整整一周的晚上研究变位规则,编写复杂的正则表达式来匹配词干和词尾。应用最终成功部署,界面简洁,功能完整。
然而,当他满怀期待地开始使用时,却发现了一个致命问题:测验太简单了。更讽刺的是,在设计和编写所有测试逻辑的过程中,他已经潜移默化地掌握了那些变位规则。他花了大量时间构建了一个目标用户只有一人的应用,却发现自己已经不再需要它了。
这个 "失败" 的项目让 Owen 重新审视了副业项目的意义。他指出,开发者圈存在一种 "hustle culture"( 鸡血文化),似乎总在强调 "不断交付"。技术面试官也常常用副业项目的产出来衡量候选人。在这种氛围下,未完成的副业项目很容易让人产生焦虑和自我怀疑。
但 Owen 认为,副业项目的成功不应该仅仅以是否发布来衡量。编写代码的过程本身就是一种学习。他在回顾其他被搁置的项目时也发现了类似的价值:有的项目让他第一次学会了用 Go 语言编写 API,有的让他掌握了 PostGIS 地图数据的处理,还有一个看似失败的动画实验,后来演变成了他个人网站的核心设计元素。
对于正在挣扎的初学者,Owen 的建议是:做副业项目要为了自己,而不是为了在招聘者面前“惊艳一把”或追求一夜暴富。把项目当作一次性的实验和探索,而不是必须交付的产品。当你卸下发布的压力,副业项目就变成了最好的技术沙盒。如果为了发布副业项目而让你感到焦虑甚至内耗,果断放弃它。仔细回想,那些代码已经带给你足够的价值了。
参考来源:https://robbowen.digital/wrote-about/abandoned-side-projects/