03. 没有人知道我做过的那些的失败项目
Published on
Reading time
15 min read

03. 没有人知道我做过的那些的失败项目

如果有人问我,这十几年做过最成功的项目是什么,我可能一时半会儿答不上来。

但如果问我失败过哪些项目,我倒是可以一口气说上好几个。

我写过博客,做过开源项目,运营过网站,研究过 SEO,也尝试过把兴趣变成副业。每隔几年,我都会突然对一件事情特别着迷,然后花上几个月,甚至一两年的时间,把它一点一点做出来。

如果用商业结果来衡量,其中大概有九成都失败了。

有的网站上线没多久就关了,有的开源项目几乎没人用,有的博客更新了几年,最后还是停在了某一天,再也没有继续。

照理来说,这些项目应该早就被忘干净了。

可奇怪的是,直到今天,它们依然时不时出现在我的脑海里。很多工作中的细节我已经记不清了,但我还记得第一次登录 Linux 服务器时终端里闪烁的光标,记得第一次买域名时那种兴奋,也记得自己花了三天,最后只写出一百多个字的窘迫。

后来我慢慢发现,这些失败项目真正留下来的,从来都不是网站本身,也不是代码,而是它们一点一点改变了我看待世界的方式。

如果没有它们,我今天大概不会成为一名软件工程师,也不会写下这些内容。


那一年,我拥有了人生中的第一台服务器

2009 年,我放弃了国内刚读了一年的大学,来到日本一家日语学校留学,学习日语。

现在回头看,如果让我重新选一次,我大概会先把大学读完,再来日本。但那个时候,我对未来没有太多规划,只觉得墙外的互联网像另一片世界,而我想亲眼看看。

2011年,我从日语学校毕业后考入了日本横滨的一所大学,重新开始了另一段大学生活。

留学生活并没有电影里的那种,课上10分的精气神完成学习任务(或者是学渣一样的不听讲甚至逃课),课后找朋友一起开趴体一醉方休。我留学生活的每天的节奏几乎都是固定的:上课、打工、回家。

每个月兼职收入不到6万日元(按当时的汇率来算的话,只有700美元),除去房租和生活费,基本剩不了多少钱。

真正属于自己的,大概只有一台花了一百五十美元买来的华硕笔记本。这里要感谢一个我一直仰望的学霸哥哥,是他来日本商旅的时候支援我买的电脑。

这笔记本台电脑陪我打游戏,也陪我熬夜折腾各种软件。很多时候,我宁愿待在房间里研究电脑,也不愿意出门。

直到有一天,我偶然看到一个介绍日本旅游的网站。今天看来,它的设计已经很普通了,但在当时是个非常时髦的设计,我盯着那个页面看了很久。

原来,一个普通人也可以拥有属于自己的网站。这个念头让我兴奋了好几天,于是我决定照着它做一个。

网站的定位也想好了:给外国游客写日本旅游攻略。

现在回头看,这个方向一点问题都没有。真正的问题是,我自己根本没有旅游过。

可二十岁出头的人,很少会认真考虑这些。我觉得只要网站搭出来,一切都会顺理成章。

于是当天晚上,我刷信用卡租了一台服务器。其实那时候已经有不少服务商提供一键安装 WordPress,点几下鼠标,一个博客就能跑起来。(其实是我花钱花早了,后来才发现有这么优秀的一条龙服务)

但我偏偏选择了最麻烦的方式,刷信用卡租了一台服务器。然后跟着网上的教程,从 Linux 开始学起,一行一行敲命令,把 Apache、MySQL 和 PHP 一点点装起来。

折腾了好几天以后,我终于拥有了人生中的第一台服务器。

那台服务器本来就装好了Linux操作系统 Centos,只需要你自己手动安装好相关软件包就能跑起来。我原来是不根本懂Linux的,只会瞎折腾。

所以每回有些软件安装失败之后,我都只会在VM控制台的界面里重新安装Centos 系统。而这几乎成了我每天起床之后都会做的“蠢事”。。。

你们看着好像是我坚持不懈不轻易放弃,但实则我内心10万个草泥马奔腾而过。

后来,我又去 GoDaddy 买下一个域名:jaforeign.com

这是一个 Japan 加 Foreign的一个合成词。现在回头再看看,这个名字有点长,也有点土。

但那时候才疏学浅的我已经想不出更好的了,凑活着用吧。

不过好在服务器终于跑起来了,Mysql数据库连上了,域名也解析成功。我打开 WordPress 后台,新建了第一篇文章。

光标开始闪烁,然后我忽然不知道该写什么。虽然自己仍然沉浸在Wordpress跑成功的喜悦里,但大脑里一片空白。


原来,写程序和做产品是两件不同的事

我一直以为,最难的部分已经过去了。服务器都搭好了,还有什么能难得住我?

后来才发现,真正困难的事情,才刚刚开始。

三天时间,我只写出一百多个字。不是因为不会写,而是因为没有东西可以写。

每天除了上课就是打工,剩下的时间几乎都待在家里。我没有去过那些景点,也没有什么值得分享的旅行经验。

网站存在,服务器运行着。可里面什么都没有。不到两个月,我关掉了服务器,也放弃了那个域名。

如果只看结果,这是一次彻底的失败。但直到今天,我依然觉得,那两个月没有白费。

就是在那段时间里,我第一次真正理解了 Linux、LAMP、HTML 和服务器部署。

也是从那时候开始,我发现自己对软件开发的兴趣,远远超过了旅游本身。

(我个人其实也很爱旅行,局限于当时的经济收入,自己一个人的时候没有去过任何一个旅游景点。好在当时就读的日语学校和大学补助我们留学生,举办了多次旅游的活动。这让我体验了好几次东京迪士尼乐园。我对帮助我的这两个学校至今心存感激。)。

现在回头看,那个旅游网站真正留下来的,并不是网站,而是后来十几年的职业方向。

很多事情都是这样:你以为自己在做 A,最后得到的却是 B。


第二次,我以为自己终于准备好了

很多年以后,我已经成为一名软件工程师。

我开始觉得,第一次失败只是因为自己太年轻。现在终于有经验、有技术了,这一次应该会不一样。

于是,2020年Covid疫情刚开始的那一年,我利用下班后的时间做了一个开源 CSS 框架,叫 RotalaCSS

后来,我又围绕它搭建了自己的博客 Pitayan。这一次,我终于有能力把产品做好了。代码越来越漂亮,架构越来越成熟,博客的设计也越来越接近自己理想中的样子。

甚至还有两篇文章登上了 Hacker News 首页。 (这里追加 链接 和 Hacker News的截图)

那几天,我几乎一直开着 Google Analytics,看着访问人数不断刷新。

我以为机会终于来了。可流量退去之后,我发现真正的问题一点都没有变。

博客还是没人持续看,项目还是没人持续用。

不是因为产品不好,而是因为我依然没有回答一个最重要的问题:

到底是谁需要它?


我花了很多年,才意识到自己一直在重复同一个错误

后来,我偶尔会把这些项目放在一起回头看。

jaforeign, RotalaCSS, Pitayan 它们看起来完全不同。

一个是旅游网站,一个是 CSS 框架,一个是技术博客。

可如果把时间拉长,你会发现,它们失败的方式几乎一模一样。

我总是先想到一个很酷的点子,然后开始写代码。等产品做完以后,再去寻找用户。

旅游博客没有内容。开源框架没有用户。技术博客没有持续输出。

表面上,每个项目失败的原因都不同。实际上,它们一直在提醒我同一件事情。

产品最大的风险,从来不是技术,而是需求。

这句话今天看起来像一句正确的废话。可真等我正理解它,却花了十几年。

你自己的痛点一定重要吗?有可能。但是如果不去提前做验证,那你的方案很可能只是个孤芳自赏的伪需求。


那些失败,后来都变成了我的老师

今天,我已经不会再用"失败"去定义这些项目。

它们没有赚到钱,也没有让我出名。

但如果没有它们,我不会学会 Linux,不会开始写代码,不会接触开源,不会学 SEO,也不会对 AI 和软件工程产生今天这样的兴趣。

后来,有一些朋友会问我,为什么现在做一个新项目,总喜欢先去找人聊天(就是找这个朋友聊天),而不是着急先打开 IDE。

其实不是因为我变聪明了,只是因为我已经踩过太多次同样的坑。

第一次,我没有内容。第二次,我没有用户。第三次,我没有时间坚持。

这些问题看起来完全不同,可它们都指向同一个答案。

现在的我越来越少问自己:这个项目会不会成功?

我更愿意问另一个问题: 这个项目解决的是不是一个真实存在的问题?

因为我终于明白,代码从来不是产品的起点。

而需求才是。


写在本文的最后

如果你今天认识我,你看到的是一个写代码的人,一个喜欢研究前沿技术的工程师,一个偶尔写写博客的人。

但如果把时间往前拨十几年,你会发现,所有这些事情,都不是一开始就存在的。它们都源于一个已经消失很多年的小网站,一个只有两篇没写完文章的博客。

我后来做过很多项目,大部分都失败了。可如果没有第一个失败,也许后面的故事,就不会发生了。

Share this post

Join the discussion

04. 从乐天到迅销:我学会先看组织,再谈技术
· 28 min read

04. 从乐天到迅销:我学会先看组织,再谈技术

从年薪300万日元的初创公司工程师,到乐天工作六年,再到迅销EC相关部门,回顾技术领导力、产品质量、工程自主权与组织责任链之间的冲突,并解释为什么换工作无法自动解决工程师职业迷茫。这不是两家公司的优劣评测,而是一名工程师重新理解技术、组织与个人成长关系的真实经历。

Read article →