<译>如何在1068天内成为独立开发者 How to become an independent programmer in just 1068 days

作者 Gus Mueller 2005/12
原文链接

当我开始因为兴趣开始写软件,我从来没想过可以靠它谋生。当然这个梦想不是没存在过,但我认为它遥不可及。我当时想我最大的希望也就是成为一个足够优秀的程序员,能在一个靠谱的 mac 公司上班。

所以我一开始的写软件的目标就是赚到足够能买玩具的钱。玩具包括升级到最新版本的 CodeWarrior,甚至有段时间包括 REALbasic 。我在 Voodoopad 之前的软件其实都没卖到什么钱,但是写软件本身很有趣,所以我一直在写。然后我发现了 Project Builder (后来成为了 Xcode )和 Interface Builder, 这样我就可以停止在 IDE 上花钱了。

然而并没有。

我还是继续买 CodeWarrior 因为我真的很喜欢他们的 IDE,他们的 complier 快如闪电,秒杀 gcc。但其实我基本只用它写 java,因为我无法用它写 cocoa。但是我一直想,下个版本一定会支持。。。但是直到最后都没实现,而 CE Pro 9是我买的最后一款。

扯得远了,所以当我开始卖 VoodooPad(人们真的会买它!)时,我的目标是能够赚到足够的钱卖一个23寸大屏显示器,当时我特别想要它。这就是我的目标,要是能达到那就爽死了。

Lesson #1 - Think small and make sure you really like what you are doing.

当我赢了 Mac OS X Innovators Contest,人们真的开始注意到我的 app,我终于买到大屏显示器,而且每周至少吃一次墨西哥食物。哇哦!爽死了。

而且赚的钱越来越多。虽然没达到能靠他谋生,但让我有了一丢丢担忧。。。比如被起诉。

所以我下个目标是存足够前建一个 Flying Meat 公司,这样的话就算我被起诉了,他们也不会拿走我的房子。

所以我建了公司,并创建了公司账户。

完成目标的感觉真棒,它让你确定自己的路线正确。

Lesson #2 - Setting goals are good. If you make them that means you are on the right track.

2003年的OSX Con,创新大赛的获胜者会发飙演讲并回答观众的问题。所以一个问题是类似:所以你们中间有多少人能够考软件谋生?

Paul Kafasis, Brent Simmons,一些 Omni Group 的人, 以及 Oliver Breidenbach 举了手,而我和其他人一些没举手。

艹,我也想为自己工作。

所以,我有了一个新目标。成为独立开发者。但这显然会花一点时间。我要还房子的贷款。我讨厌欠债。灰常讨厌。

所以我需要坐了来算一下我到底一个月需要多少钱。我写了一个小的 python 程序连接到我的 sales database。每有一个销售收入,数据库就会更新。

程序会打印出一些数据比如今天收入多少,最近7,30,60,180,365天收入多少,以及最关键的,完成目标的百分比。我还会把当月的条状图变为绿色,如果我完成了目标,否则是红色。

我会如朝圣般得 check 这个代码。每天,每小时,有时每5分钟。有时候工作实在是太辛苦了,我会一直盯着它 —— 希望绿色会出现。

从13年12月发布 VoodooPad1.1.1 以后,我就在做 VoodooPad2.0,我想在里面加太多的功能,导致一直没上线。Bad idea。

重点: No releases = No money.

Lesson #3 - Steadily improve your product. Big jumps in functionality means lots of time without updates, and releases are where you get nice spikes in sales.

我在9月发行了一个 beta 版,而后我结婚了,更多的 beta 版上市。

VoodooPad2.0 在04年12月上市,当月销售变成了绿色。

我成功了!可以辞职了!

Lesson #4 Don't quit your day job.

只因为一个月达成目标,不代表下个月也能达成。我至少需要存6个月的钱再辞职。

Lesson #5 Have money in the bank for a rainy day.

有时候很倒霉。你写了一个很棒的 mp3 播放器,然后苹果出来做了一个免费的。为了防止这种事情,我又写了别的,比如 FlySketch。这样当 VoodooPad 收入不行的时候,我还有个后备。而且我可以采取捆绑销售。

Lesson #6 Don't put all your eggs in one basket.

最后我在05年1月完成了目标,而且之后每个月都完成了。每多一个月完成目标,我作为独立开发者的信心就更增加了。

我和妻子商量后,决定搬去西雅图,我开始做独立开发者。

尽管我并不富裕,但我坚信做的方向是正确的。

最后一点,因为我已经写累了:)

Lesson #7 - It's not good enough to write and sell something that people want, it has to be got to be something they'll spend money for as well.

我看过很多 cool 的想法,但是出于某种理由,人们不买账。

所以要带着批判的眼光看你的 app 。比如 FlyGesture,它很有趣,会有它的粉丝,但它受众群太小了,单靠它做独立开发者就不行。如果你的 sales 停滞不前,你最好考虑另外的plan。

语言也很重要。你可以用 java,但是你要花很多时间来让它变成一个 mac app。Carbon 很酷,但很难学。REALbasic 对一些事情不错,但是我从来没看多一个商业 app 是用它写的。

就用 Cocoa。

从长期来看你会更快乐。

是的 Objective-C很诡异,而且它的底层是 C。。但是你能做到的。我唯一没通过的课程是 cs103。。C语言入门。所以你甚至不需要是一个好的程序员(面试官大人您好,你要我写一个冒泡排序?嗯,我放弃。你还是找下一个吧)

你还需要让 app 看上去很漂亮。让它看上去是一个 Macintosh™ app。有人评价我说, Brent Simmons (NetNewsWire的开发者) 和我都很有设计的 sense 。我说我只是在模仿 Panic 在做的。记住,模仿而不是抄袭。

好了,就这些。

计划,设定实际的目标,完成目标,多样化,存钱,再加4杯耐心,have fun。最重要的,把事情搞定。这不难,只是不简单。

这需要时间、耐心,和努力工作

好了,轮到你了 - 去做一个更棒的小玩意吧。

你可能感兴趣的:(<译>如何在1068天内成为独立开发者 How to become an independent programmer in just 1068 days)