作者 Gus Mueller 2005/12
原文鏈接
當我開始因為興趣開始寫軟件,我從來沒想過可以靠它謀生。當然這個夢想不是沒存在過,但我認為它遙不可及。我當時想我最大的希望也就是成為一個足夠優(yōu)秀的程序員,能在一個靠譜的 mac 公司上班。
所以我一開始的寫軟件的目標就是賺到足夠能買玩具的錢。玩具包括升級到最新版本的 CodeWarrior,甚至有段時間包括 REALbasic 。我在 Voodoopad 之前的軟件其實都沒賣到什么錢,但是寫軟件本身很有趣,所以我一直在寫。然后我發(fā)現(xiàn)了 Project Builder (后來成為了 Xcode )和 Interface Builder, 這樣我就可以停止在 IDE 上花錢了。
然而并沒有。
我還是繼續(xù)買 CodeWarrior 因為我真的很喜歡他們的 IDE,他們的 complier 快如閃電,秒殺 gcc。但其實我基本只用它寫 java,因為我無法用它寫 cocoa。但是我一直想,下個版本一定會支持。。。但是直到最后都沒實現(xiàn),而 CE Pro 9是我買的最后一款。
扯得遠了,所以當我開始賣 VoodooPad(人們真的會買它?。r,我的目標是能夠賺到足夠的錢賣一個23寸大屏顯示器,當時我特別想要它。這就是我的目標,要是能達到那就爽死了。
Lesson #1 - Think small and make sure you really like what you are doing.
當我贏了 Mac OS X Innovators Contest,人們真的開始注意到我的 app,我終于買到大屏顯示器,而且每周至少吃一次墨西哥食物。哇哦!爽死了。
而且賺的錢越來越多。雖然沒達到能靠他謀生,但讓我有了一丟丟擔憂。。。比如被起訴。
所以我下個目標是存足夠前建一個 Flying Meat 公司,這樣的話就算我被起訴了,他們也不會拿走我的房子。
所以我建了公司,并創(chuàng)建了公司賬戶。
完成目標的感覺真棒,它讓你確定自己的路線正確。
Lesson #2 - Setting goals are good. If you make them that means you are on the right track.
2003年的OSX Con,創(chuàng)新大賽的獲勝者會發(fā)飆演講并回答觀眾的問題。所以一個問題是類似:所以你們中間有多少人能夠考軟件謀生?
Paul Kafasis, Brent Simmons,一些 Omni Group 的人, 以及 Oliver Breidenbach 舉了手,而我和其他人一些沒舉手。
艸,我也想為自己工作。
所以,我有了一個新目標。成為獨立開發(fā)者。但這顯然會花一點時間。我要還房子的貸款。我討厭欠債?;页S憛?。
所以我需要坐了來算一下我到底一個月需要多少錢。我寫了一個小的 python 程序連接到我的 sales database。每有一個銷售收入,數(shù)據(jù)庫就會更新。
程序會打印出一些數(shù)據(jù)比如今天收入多少,最近7,30,60,180,365天收入多少,以及最關鍵的,完成目標的百分比。我還會把當月的條狀圖變?yōu)榫G色,如果我完成了目標,否則是紅色。
我會如朝圣般得 check 這個代碼。每天,每小時,有時每5分鐘。有時候工作實在是太辛苦了,我會一直盯著它 —— 希望綠色會出現(xiàn)。
從13年12月發(fā)布 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月發(fā)行了一個 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月完成了目標,而且之后每個月都完成了。每多一個月完成目標,我作為獨立開發(fā)者的信心就更增加了。
我和妻子商量后,決定搬去西雅圖,我開始做獨立開發(fā)者。
盡管我并不富裕,但我堅信做的方向是正確的。
最后一點,因為我已經(jīng)寫累了:)
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,它很有趣,會有它的粉絲,但它受眾群太小了,單靠它做獨立開發(fā)者就不行。如果你的 sales 停滯不前,你最好考慮另外的plan。
語言也很重要。你可以用 java,但是你要花很多時間來讓它變成一個 mac app。Carbon 很酷,但很難學。REALbasic 對一些事情不錯,但是我從來沒看多一個商業(yè) app 是用它寫的。
就用 Cocoa。
從長期來看你會更快樂。
是的 Objective-C很詭異,而且它的底層是 C。。但是你能做到的。我唯一沒通過的課程是 cs103。。C語言入門。所以你甚至不需要是一個好的程序員(面試官大人您好,你要我寫一個冒泡排序?嗯,我放棄。你還是找下一個吧)
你還需要讓 app 看上去很漂亮。讓它看上去是一個 Macintosh? app。有人評價我說, Brent Simmons (NetNewsWire的開發(fā)者) 和我都很有設計的 sense 。我說我只是在模仿 Panic 在做的。記住,模仿而不是抄襲。
好了,就這些。
計劃,設定實際的目標,完成目標,多樣化,存錢,再加4杯耐心,have fun。最重要的,把事情搞定。這不難,只是不簡單。
這需要時間、耐心,和努力工作。
好了,輪到你了 - 去做一個更棒的小玩意吧。