作者 Gus Mueller 2005/12
原文鏈接
當(dāng)我開(kāi)始因?yàn)榕d趣開(kāi)始寫(xiě)軟件榕莺,我從來(lái)沒(méi)想過(guò)可以靠它謀生俐芯。當(dāng)然這個(gè)夢(mèng)想不是沒(méi)存在過(guò),但我認(rèn)為它遙不可及钉鸯。我當(dāng)時(shí)想我最大的希望也就是成為一個(gè)足夠優(yōu)秀的程序員吧史,能在一個(gè)靠譜的 mac 公司上班。
所以我一開(kāi)始的寫(xiě)軟件的目標(biāo)就是賺到足夠能買(mǎi)玩具的錢(qián)唠雕。玩具包括升級(jí)到最新版本的 CodeWarrior贸营,甚至有段時(shí)間包括 REALbasic 。我在 Voodoopad 之前的軟件其實(shí)都沒(méi)賣(mài)到什么錢(qián)岩睁,但是寫(xiě)軟件本身很有趣钞脂,所以我一直在寫(xiě)。然后我發(fā)現(xiàn)了 Project Builder (后來(lái)成為了 Xcode )和 Interface Builder, 這樣我就可以停止在 IDE 上花錢(qián)了捕儒。
然而并沒(méi)有冰啃。
我還是繼續(xù)買(mǎi) CodeWarrior 因?yàn)槲艺娴暮芟矚g他們的 IDE,他們的 complier 快如閃電刘莹,秒殺 gcc阎毅。但其實(shí)我基本只用它寫(xiě) java,因?yàn)槲覠o(wú)法用它寫(xiě) cocoa点弯。但是我一直想扇调,下個(gè)版本一定會(huì)支持。抢肛。肃拜。但是直到最后都沒(méi)實(shí)現(xiàn)痴腌,而 CE Pro 9是我買(mǎi)的最后一款。
扯得遠(yuǎn)了燃领,所以當(dāng)我開(kāi)始賣(mài) VoodooPad(人們真的會(huì)買(mǎi)它J看稀)時(shí),我的目標(biāo)是能夠賺到足夠的錢(qián)賣(mài)一個(gè)23寸大屏顯示器猛蔽,當(dāng)時(shí)我特別想要它剥悟。這就是我的目標(biāo),要是能達(dá)到那就爽死了曼库。
Lesson #1 - Think small and make sure you really like what you are doing.
當(dāng)我贏了 Mac OS X Innovators Contest区岗,人們真的開(kāi)始注意到我的 app,我終于買(mǎi)到大屏顯示器毁枯,而且每周至少吃一次墨西哥食物慈缔。哇哦!爽死了种玛。
而且賺的錢(qián)越來(lái)越多藐鹤。雖然沒(méi)達(dá)到能靠他謀生,但讓我有了一丟丟擔(dān)憂赂韵。娱节。。比如被起訴祭示。
所以我下個(gè)目標(biāo)是存足夠前建一個(gè) Flying Meat 公司肄满,這樣的話就算我被起訴了,他們也不會(huì)拿走我的房子质涛。
所以我建了公司稠歉,并創(chuàng)建了公司賬戶。
完成目標(biāo)的感覺(jué)真棒汇陆,它讓你確定自己的路線正確怒炸。
Lesson #2 - Setting goals are good. If you make them that means you are on the right track.
2003年的OSX Con,創(chuàng)新大賽的獲勝者會(huì)發(fā)飆演講并回答觀眾的問(wèn)題瞬测。所以一個(gè)問(wèn)題是類似:所以你們中間有多少人能夠考軟件謀生横媚?
Paul Kafasis, Brent Simmons,一些 Omni Group 的人, 以及 Oliver Breidenbach 舉了手,而我和其他人一些沒(méi)舉手月趟。
艸灯蝴,我也想為自己工作。
所以孝宗,我有了一個(gè)新目標(biāo)穷躁。成為獨(dú)立開(kāi)發(fā)者。但這顯然會(huì)花一點(diǎn)時(shí)間。我要還房子的貸款问潭。我討厭欠債猿诸。灰常討厭狡忙。
所以我需要坐了來(lái)算一下我到底一個(gè)月需要多少錢(qián)梳虽。我寫(xiě)了一個(gè)小的 python 程序連接到我的 sales database。每有一個(gè)銷售收入灾茁,數(shù)據(jù)庫(kù)就會(huì)更新窜觉。
程序會(huì)打印出一些數(shù)據(jù)比如今天收入多少,最近7北专,30禀挫,60,180拓颓,365天收入多少语婴,以及最關(guān)鍵的,完成目標(biāo)的百分比驶睦。我還會(huì)把當(dāng)月的條狀圖變?yōu)榫G色砰左,如果我完成了目標(biāo),否則是紅色啥繁。
我會(huì)如朝圣般得 check 這個(gè)代碼菜职。每天青抛,每小時(shí)旗闽,有時(shí)每5分鐘。有時(shí)候工作實(shí)在是太辛苦了蜜另,我會(huì)一直盯著它 —— 希望綠色會(huì)出現(xiàn)适室。
從13年12月發(fā)布 VoodooPad1.1.1 以后,我就在做 VoodooPad2.0举瑰,我想在里面加太多的功能捣辆,導(dǎo)致一直沒(méi)上線。Bad idea此迅。
重點(diǎn): 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ā)行了一個(gè) beta 版汽畴,而后我結(jié)婚了,更多的 beta 版上市耸序。
VoodooPad2.0 在04年12月上市忍些,當(dāng)月銷售變成了綠色。
我成功了坎怪!可以辭職了罢坝!
Lesson #4 Don't quit your day job.
只因?yàn)橐粋€(gè)月達(dá)成目標(biāo),不代表下個(gè)月也能達(dá)成搅窿。我至少需要存6個(gè)月的錢(qián)再辭職嘁酿。
Lesson #5 Have money in the bank for a rainy day.
有時(shí)候很倒霉隙券。你寫(xiě)了一個(gè)很棒的 mp3 播放器,然后蘋(píng)果出來(lái)做了一個(gè)免費(fèi)的闹司。為了防止這種事情娱仔,我又寫(xiě)了別的,比如 FlySketch游桩。這樣當(dāng) VoodooPad 收入不行的時(shí)候拟枚,我還有個(gè)后備。而且我可以采取捆綁銷售众弓。
Lesson #6 Don't put all your eggs in one basket.
最后我在05年1月完成了目標(biāo)恩溅,而且之后每個(gè)月都完成了。每多一個(gè)月完成目標(biāo)谓娃,我作為獨(dú)立開(kāi)發(fā)者的信心就更增加了脚乡。
我和妻子商量后,決定搬去西雅圖滨达,我開(kāi)始做獨(dú)立開(kāi)發(fā)者奶稠。
盡管我并不富裕,但我堅(jiān)信做的方向是正確的捡遍。
最后一點(diǎn)锌订,因?yàn)槲乙呀?jīng)寫(xiě)累了:)
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.
我看過(guò)很多 cool 的想法,但是出于某種理由画株,人們不買(mǎi)賬辆飘。
所以要帶著批判的眼光看你的 app 。比如 FlyGesture谓传,它很有趣蜈项,會(huì)有它的粉絲,但它受眾群太小了续挟,單靠它做獨(dú)立開(kāi)發(fā)者就不行紧卒。如果你的 sales 停滯不前,你最好考慮另外的plan诗祸。
語(yǔ)言也很重要跑芳。你可以用 java,但是你要花很多時(shí)間來(lái)讓它變成一個(gè) mac app直颅。Carbon 很酷博个,但很難學(xué)。REALbasic 對(duì)一些事情不錯(cuò)际乘,但是我從來(lái)沒(méi)看多一個(gè)商業(yè) app 是用它寫(xiě)的坡倔。
就用 Cocoa。
從長(zhǎng)期來(lái)看你會(huì)更快樂(lè)。
是的 Objective-C很詭異罪塔,而且它的底層是 C投蝉。。但是你能做到的征堪。我唯一沒(méi)通過(guò)的課程是 cs103瘩缆。。C語(yǔ)言入門(mén)佃蚜。所以你甚至不需要是一個(gè)好的程序員(面試官大人您好庸娱,你要我寫(xiě)一個(gè)冒泡排序?嗯谐算,我放棄熟尉。你還是找下一個(gè)吧)
你還需要讓 app 看上去很漂亮。讓它看上去是一個(gè) Macintosh? app洲脂。有人評(píng)價(jià)我說(shuō)斤儿, Brent Simmons (NetNewsWire的開(kāi)發(fā)者) 和我都很有設(shè)計(jì)的 sense 。我說(shuō)我只是在模仿 Panic 在做的恐锦。記住往果,模仿而不是抄襲。
好了一铅,就這些陕贮。
計(jì)劃,設(shè)定實(shí)際的目標(biāo)潘飘,完成目標(biāo)肮之,多樣化,存錢(qián)福也,再加4杯耐心局骤,have fun攀圈。最重要的暴凑,把事情搞定。這不難赘来,只是不簡(jiǎn)單现喳。
這需要時(shí)間、耐心犬辰,和努力工作嗦篱。
好了,輪到你了 - 去做一個(gè)更棒的小玩意吧幌缝。