Hacker News 中文摘要

RSS订阅

放弃你的副业也没关系(2024) -- It's OK to abandon your side-project (2024)

文章摘要

文章核心内容:作者认为放弃未完成的业余项目并不可耻,虽然行业常宣扬副业成功的案例,但并非所有项目都能成功,适时放弃也是合理选择。

文章总结

放弃你的业余项目并不可耻 —— 罗伯·欧文

在科技行业,我们总听到业余项目发展成成功企业的故事。和许多人一样,我也经常在下班后捣鼓一两个创意点子。虽然前景诱人,但业余项目并非总是阳光和兰博基尼——有时候它们就是行不通。如果你正在阅读这篇文章,很可能你最近放弃(或正考虑放弃)某个业余项目。别担心,我们都经历过。事实上,"被遗忘的业余项目"已经成为开发者圈子的一个经典梗。

但最近我注意到,许多新手开发者发邮件咨询时,都担心自己没能快速产出足够多的业余项目。这种焦虑完全可以理解。当开发者圈子的主流文化鼓吹"持续交付",当技术面试官习惯用课外编程成果衡量候选人时,那些被放弃的项目突然就不好笑了。这让我感到不适。我们听过太多成功故事,但为什么不更多谈论那些失败的项目呢?在工作中我们会做项目回顾,但对个人项目却很少如此。

一个当天上线即放弃的项目

几年前,我决定学习伴侣的母语拉脱维亚语。这个来自小语种的学习资源有限,但起初进展顺利——直到我遇见了"语法格"这个概念。与英语依赖词序和介词不同,拉脱维亚语通过词尾变化表达语法功能。这意味着每个名词在不同语境下有多达84种可能的词尾变化。

作为开发者,我本能地想到用代码解决问题:为什么不开发一个测验应用来帮助记忆名词变格呢?这闻起来就是个完美的业余项目!

开发历程

我决定保持应用简洁,专注于名词变格这个核心功能。技术栈也很简单:用当时新潮的Svelte 3.0构建界面,通过Netlify的无服务器函数处理问答逻辑,用本地存储保存测验记录。最复杂的部分是设计一个基于正则表达式的系统,用于识别词干并添加正确的词尾。

经过一周的晚间开发,MVP版本终于上线。界面简洁,移动端适配良好,计分系统运作正常。但当我真正开始使用时,发现了一个致命问题:这个测验太简单了。更糟的是,如果错误不超过3次,测验会无限进行下去——一点都不有趣。

最终我意识到,问题无法通过代码解决:在开发这个应用的过程中,我已经被动掌握了所有名词变格规则。我为唯一用户(我自己)开发的应用,最终连自己都不需要用了。

重新定义成功

这个项目让我对"失败"的业余项目有了新认识。虽然最终产品没用上,但开发过程已经间接达成了我的原始目标——学习名词变格。这带来一个重要启示:我们常把放弃的项目视为"失败",但成功与否取决于视角。

业余项目的价值不应仅由最终产品定义。在这个实践性极强的领域,任何开发经验——无论成败——都是宝贵财富。如果把业余项目视为可丢弃的原型,它们就能成为绝佳的实验场。就像我的拉脱维亚语应用,编写代码的过程本身就是解决问题的有效工具。

给开发者的建议

现在我依然经常做业余项目,但动机和视角已不同。对为此困扰的新手开发者,我的建议是:确保你为自己而做,且动机正确。不要把第一个项目纯粹当作成名或打动招聘官的手段,而应视作学习和探索可能性的途径。积累足够经验(也就是放弃几个项目)后,其他自然会来。

业余项目应该充满创意和乐趣。如果你发现完成项目开始带来压力,甚至导致倦怠,请毫不犹豫地放弃它。仔细想想,它可能已经带给你意想不到的价值。

评论总结

以下是评论内容的总结:

1. 关于放弃副项目的合理性

  • 支持放弃:多位评论者认为副项目不必完成,可以作为创意出口或学习工具。
    • "side projects are not meant to be finished at all... an outlet for scratching a creative itch"(评论3)
    • "It’s OK to abandon a side project... but it is a much deeper reflection"(评论18)
  • 反对放弃:少数人认为放弃会带来失败感。
    • "that little feeling of failure is painful"(评论6)
    • "No it’s not OK"(评论22)

2. 副项目的价值与目的

  • 个人成长:副项目是学习和技能提升的途径。
    • "side projects are... something to learn new things with"(评论9)
    • "treat throwaway side projects as a way to develop my stack"(评论4)
  • 创意自由:副项目应注重个人兴趣而非商业成功。
    • "doing them for yourself, and for the right reasons"(评论9)
    • "like any creative project, if your main motivation shifts... you’re going about it the wrong way"(评论3)

3. 放弃后的处理方式

  • 记录与总结:建议为放弃的项目撰写总结报告。
    • "make something like a report on what you learned... it feels less like you’ve abandoned something"(评论8)
    • "write about abandoned side-projects... incredible how much you end up re-picking back up"(评论14)
  • 开源与移交:建议将项目开源或移交给其他维护者。
    • "consider giving out maintainer access to others"(评论13)
    • "open source + let somebody vibe code to completion is the right way"(评论30)

4. 长期项目的坚持与放弃

  • 长期坚持:部分项目因个人情感或用户需求而持续维护。
    • "I just can’t shut down... maybe I’ll get back to it"(评论15)
    • "I’ve been running my side project... for eighteen years"(评论20)
  • 适时放弃:学会在适当时候放弃也是一种智慧。
    • "Sometimes it’s about knowing when to quit"(评论5)
    • "me abandoning projects when progress is at 90%"(评论7)

5. 副项目的多样性与灵活性

  • 多样性:副项目可以是任何形式,无需拘泥于传统成功标准。
    • "everything is okay with your side project... You do you"(评论25)
    • "Some people garden... Other people tinker with cars... some people tinker with software"(评论29)
  • 灵活性:副项目可以随时暂停或重启。
    • "Abandoned doesn’t have to be forever... picking up projects decades later"(评论2)
    • "I have plenty of half finished things... I like picking one and doing some ‘gardening’"(评论29)

总结:评论中多数人支持副项目的灵活性和个人化,强调其作为学习工具和创意出口的价值,同时提供了多种处理放弃项目的建议。