Categories
程式開發

做獨立開發者兩年了,我是這樣賺錢的


這是本文作者辭職成為獨立開發者的第二年,兩年的時間裡,他給自己立下了不少flag,也踩過不少坑,如果你對獨立開發者的身份很感興趣,或者已經是其中一員了,那麼在這篇文章裡你也許能找到一些共鳴,亦或者能得到一些啟發。

兩年以前,我辭去了在 Google 的開發工作,想要開始自己的軟件業務。在那之後的第一年,我發表了一篇博客總結了一下我那一年裡的經濟狀況、幸福感以及我踩過的坑。今天是我成為獨立開發者的第二年裡的最後一天,所以我想再寫一篇成為獨立開發者兩週年的總結博客。

我是如何賺錢和花錢的

image

image

從經濟狀況上來看,我在第二年有了長足的進步。我把淨利潤提高了大約 18500 美金!

總的來看,我還是虧損的,但是不要太在意這些。在第二年裡,我把收入翻了兩番,開支也削減了一倍以上。

如何承受持續的虧損?

我的長期不盈利往往使大家感到困惑。大家常常會假定我把通過自由職業賺到的錢都用在了一些可以賺錢的項目中,只不過還是賠錢了,但事實上是,我 100% 的工作時間都用於了非盈利業務。這可能是源於以下三個因素:

  • 開銷小:我沒有孩子,住在比較便宜的地區,一個月的開銷大約為 2000 美金。

  • 高儲蓄:如果沒有像樣的儲蓄是很難為一家大的軟件公司工作 11 年的。

  • 投資運氣好:縱觀我的職業生涯,我的大部分資金增長都出現在了標準普爾 500 指數的上漲時期。我對加密貨幣的一些小型投資也得到了很好的回報。

項目清單

Zestful

項目地址:https://zestfuldata.com/

image

Zestful 於 2018 年年中發布,是我對於 SaaS 業務的第一次嘗試。它可以幫助食品 App 識別出食譜成分的語義結構。比如,如果你給出一段食譜成分的文字”2 1/2 湯匙切碎的歐芹“,Zestful 就能推斷出 2.5 是數量,湯匙是度量單位,歐芹是主要成分,切碎是準備工作。

在前年的一年裡獲得了零收入之後,Zestful 在 2019 年終於實現了可觀的收入。一家應用 Zestful 的企業在 12 月的銷售額佔其年銷售的 79%。我從中獲取到的這部分銷售額也佔了我所有業務總收入的 53%。

image

image

為保持 Zestful 在搜索結果中的相關性所做的努力

Zestful 的市場響應很奇怪,因為需要對食譜成分做分詞的公司們從來不想把產品換成 Zestful。遷移到新 API 的成本超過了 Zestful 潛在的價格優勢和帶來的性能改進。相反,Zestful 的所有客戶都是創造全新產品的公司。

如果這家公司還沒成立,你該怎樣將產品賣給他們呢?我的策略一直是寄希望於搜索引擎優化,以便 Zestful 在諸如 “成分分詞” 之類的搜索結果中排名很靠前。

Is It Keto

項目地址:https://isitketo.org/

image

Is It Keto 是生酮飲食愛好者們的參考網站

Is It Keto 能夠為讀者們提供有關哪些食物符合生酮飲食標準的清晰的、直觀的答案。它一方面通過在網站上植入 Google AdSense 的廣告產生收入,另一方面通過該網站每次為亞馬遜導流的客戶購買來收取佣金。

image

Is It Keto 給我帶來的收入為 2,300 美元,是我在 2019 年收入第二高的產品。我在 4 月放棄了該網站,但四個月之後我又重拾該網站,直到我意識到了,它在沒有我的情況下也可以獲得增長。

image

Is It Keto 的月流量圖

Is It Keto 網站的訪問者中有 88% 來自搜索引擎,但是我從來沒有將搜索流量的改進與我對該網站所做的任何改動聯繫起來。幾個月以來,我添加了很多新的內容,優化了頁面標題並且獲得了較高的反向鏈接,提高了網站權重,但訪問量卻一直保持穩定。有段時間,我忽略了該網站幾個月,而 Google 統計的訪問量卻在這段時間內的得到了增長。

Is It Keto 還是我的項目中花費最高的項目,因為我將大部分文章寫作都外包了。這使我付出了更多的成本,因為我對招聘和管理作家一無所知,但是這段經歷教會了我很多,並敦促我完成了一個被廣泛忽視的內容作家招聘指南

mtlynch.io(我的博客網站)

image

頁面瀏覽量大幅下降,這不足為奇。那是因為有關我從 Google 辭職的博客在 2018 年一下子就獲得了 50 萬次瀏覽量,因此我也不希望還有這樣”熱門“的事件發生。

儘管如此,去年一年我仍在努力尋求更多的讀者。在過去的兩年中,我的許多篇博客都廣受歡迎,而我卻沒有努力去推廣它們。在寫完這篇文章之後,我會找一個有影響力的社區與之分享。

在 2019 年,我從技術寫作中脫身出來,更加專注於經營入門教程業務。儘管有很多在線教學社區,它們吸引了許多自我推廣者,這些群體不歡迎使用博客文章。我還注意到,除非故事涉及數千美元,否則讀者對商業課程的興趣就降低了,涉足此類業務賺一大筆錢或損失一大筆錢似乎都是可能的。

我的博客收入也下降了,但我覺得這是個好現象,因為我就不會想要竭盡全力從博客中賺錢。博客的開發成本急劇下降,因為我僱傭的一個自由職業者不再兼職開發我的博客了,他找了一個全職工作。由於我的 Web 開發編程技能在最近幾年中得到了提高,因此我自己接手了開發工作,不再僱用其他人了。

What Got Done

image

What Got Done 是一個任務清單應用

What Got Done 是記錄和共享每週工作成就的工具。這是我在 Google 工作期間學到的一項技能,並且我一直在使用它來記錄過去 10 個月中每週的進度

image

我從來沒覺得 What Got Done 是一個絕妙的商業創意,但是過了好幾個月我都沒能從 Is It Keto 上獲利,這讓我倍感沮喪。 What Got Done 更像是一個使我振奮的娛樂項目,並且同時它還是一個自學 Vue.js(一個流行的 Web 框架)的機會。

而且結果是大獲成功!我愛 Vue。我終於找到了一個順手的工具,可以使我快速構建網站,而不會在各種抽象的迷宮中掙扎。

在我正在開發 What Got Done 的時候,我認為值得去探索下該網站是否可以賺錢。在走訪了幾家公司之後,管理者們似乎覺得他們可以通過特定的 Slack 頻道實現相同的效果,因此我放棄了 What Got Done,繼續向前。

其他雜項

支出 目的 數額
會議 人脈積累以及專業訓練 -$2,182
Xero 記賬 -$151
從 Bench 到 Xero 的遷移 記賬 -$232
Circle CI 持續集成 -$350
Coveralls 測試覆蓋率跟踪 -$270

會議是一筆不菲的開支,因為旅行和住宿費用很貴,接受我的演講的會議是一般是區域性活動,他們提供的旅行補貼很少。

從 Travis 切換到 Circle 進行持續集成使我的每月開支減少了 68 美元,這非常有效,因為事實證明我很喜歡 Circle。他們對產品的改進更及時,並能夠更好地與 Docker 集成。不幸的是,Coveralls 在我不經意間就進行了自動續費。自從我覺得代碼覆蓋率指標對早期產品的價值並不大的時候,我就取消掉了轉年對 Coveralls 服務的訂閱。

我的記賬工具也從 Bench 的託管服務轉換成了使用 Xero 的自助服務。但其實,我很喜歡 Bench,對 Xero 無感。由於我的財務狀況既簡單又重複,我覺得每年多花 1,500 美元用於記賬明顯是不值得的。

我踩過的坑

漲價,即便都沒有人開始付費

我今年收到的最好的建議之一是來自 Cory Zue 的。他表示,我為 Zestful 定的價格太低了,當時 Zestful 的定價是每個請求 0.003 美元。那時候,Zestful 的付費用戶數幾乎為零。如果這個服務都沒人買,怎麼可以說它的定價過低呢?

儘管 Zestful 的實際客戶很少,但存在很多潛在客戶。每隔幾週,就會有一家新公司與我聯繫,說他們對 Zestful 感興趣,但它卻缺少了他們必須需要的一個小功能。為了獲得我的第一個大客戶,我努力實現了他們想要的功能。一周後,我很自豪地將產品交付給了他們。

”好吧,“他們回复的輕描淡寫,”這個項目我們已經放棄了。“

這些公司都不用花錢就可以向我索要功能,但是,我與他們溝通並且實現他們需求的過程卻非常耗時。我意識到了發生了什麼,但想不出辦法阻止它。我也可以忽略這些需求,但是如果他們真的準備每月花費數千美元呢?

當我接受了 Cory 的建議並提高了服務價格時,使我出乎意料的是,它徹底改變了我與客戶之間的溝通。每次請求服務的價格為 0.003 美元時,沒有人議價。當我的價格漲了 6.5 倍,每次請求 0.02 美元時,每個客戶都開始諮詢我有沒有批量折扣。緊接著,當他們聲稱要在 Zestful 加入他們所需要的功能才會購買時,這是我的回應:

太棒了!您可以先預付三個月的服務費,直到該功能可用,您的帳單週期才會開始計費。

從那以後,我再也沒有因為客戶索要新功能而受到損失。

產品的定格足夠高,大多數客戶每個月必須花費幾百美元才能使用 Zestful,這就導致了客戶們不會提出那些僅僅提價 5 美金就要要求我實現的這些全部重要功能的需求。有趣的是,最終購買企業計劃的客戶往往沒有新功能需求,和他們之間的交易在幾天之內就完成了。

追求正確的想法意味著拒絕錯誤的想法

作為創始人的第一年,我就像是一條小狗,追逐恰巧碰到的任何一個球。如果我的一個項目未能取得成功,那麼我將在腦海中處理下一個想法。在項目開始時,構建“快速”原型成本很低並且也很簡單,但是始終要花費數週的代碼編寫以及隨後幾個月的工作來吸引客戶。

我的朋友 David Toth 教會了我篩選想法有多重要。他告訴我,無論我追求哪一個想法,都至少會消耗我生活中的幾個月時間,因此每個想法都值得謹慎選擇。 David 不會在提出第一個好想法之後就深入其中,他會提出更多新的想法,直到他的想法清單有至少 10 項內容。然後,他會仔細評估該清單,篩選出成功可能性最高的想法。

閱讀《Start Small, Stay Small》(閱讀筆記)和《The Mom Test》(閱讀筆記)這兩本書也影響了我開展新業務的方式。這兩本書都鼓勵創始人從研究市場入手,然後再對產品進行開發。它們對我造成的影響是,我對構建任何東西都持保守態度,如果我的市場調查表明了一個想法成功機會不大,我就會放棄它。

設立更高的目標

當我將去年的目標設定為每月 500 美元的收入時,大家鼓勵我可以設定更高的目標。新業務失敗的可能性很高,所以我不妨設置一個更難達到的目標。

回顧過去,我仍然認為每月 500 美金的目標是明智的。 Is It Keto 是一個不錯的“啟動項目”,因為它的機制很簡單。每個網站訪問者通過廣告和推薦購買聯盟平均能給我帶來 0.01 美元的收入。更多的訪問量就意味著更多的收入,因此我必須嘗試不同的增長策略,而不必擔心諸如定價,銷售渠道或客戶支持之類的問題。令人高興的是,我的收入在一開始時只有微不足道的 1 美元/月,然後每月增長 50~150%,到年底時達到了 400 美元/月。

另一方面則是要看到低利潤業務的局限性。如果每位客戶帶來的收入只有幾分錢,那麼大多數擴張途徑都無法實現。如果每個網站訪問者僅產生 0.01 美元的收入,則每次點擊為廣告支付 $0.50~$1.50是沒有道理的。我很樂意僱用一名員工來幫助擴大網站規模,但即使是便宜的每月200 美元的自由職業者,也必須使我的網站訪問量增加一倍,來證明我這筆錢花在了刀刃上。

現如今我已經進入了創業的第三個年頭,我準備下更大的賭注。 Is It Keto 的增長給了我信心,會讓我自己更加努力。這也就意味著我要進行一些成功的項目,幫我支付得起一些外包兼職人員的開銷。

我仍滿懷熱愛

當人們發現,在過去兩年中,我的財務狀況一直處於虧損狀態時,他們擔心我會後悔辭去了 Google 的工作。創業者在一兩年後會經歷倦怠是很常見的現象,但是我很幸運,還從未遇到過這種感覺。在這次冒險的開始,我把這歸功於我的自我質疑,我更希望經歷一段時間的失敗才獲得成功。當不會有財務危機時,也很容易避免財務上的壓力。

每天,我都到樓下和我的女朋友一起享受早餐的悠閒時光。我們住在一條街道的盡頭,所以當她去上班時,房子就會非常安靜。在寫了 60~90 分鐘後,我會計劃下這天剩下的時間。在晚飯後以及週末不工作。如果我在下午 3 點時候感到困倦,我會小睡片刻,我再也不用擔心經理是怎麼想的了。

在我離職之前,我所幻想中的生活方式其中一部分就是它純粹的獨立性。現如今確實如我夢寐以求的那樣令人滿意。我喜歡自己能夠掌控一整天時間的感覺,也喜歡完全改變我的業務方向或在合適時重新開始的自由。

我永遠都願意這樣做。

為我的目標打分

在去年的博客中,我為今年設立了四個目標

實現每月 500 美元的業務收入

評分:B+

我的確達成了這個目標,我的年度收入為每月 604 美元,第四季度的收入為每月 1,657 美元,儘管我總覺得從 12 月分開始的離群”巨額“銷售額有點像是作弊。如果不把這部分數據計算在內,我在 12 月分的總收入為 441 美元,接近 2020 年初的水平。雖然沒有達到 500 美元,但依舊令人滿意。

在三個軟件會議上發表演講

評分:B+

有三個會議接受了我的演講提議,我為我所有的演講內容感到自豪:

會議 會議筆記 演講題目
NERD Summit “Modernize any Codebase through Tooling and Technique”
PyTexas 2019 筆記鏈接 “Why Good Developers Write Bad Tests”
PyGotham 2019 筆記鏈接 “Why Good Developers Write Bad Tests”

我很喜歡參加各種會議並從中汲取有用的信息。但是,老實說,它們並不能從根本上改善我的職業或者個人生活。在動身參加會議、準備演講和參加活動期間,我花了大約六到八週的全職工作時間來準備會議上的演講。

今年,我將繼續申請並參加 2020 年的一些會議,但與去年相比,我會對參加的會議精挑細選。

發表 12 篇博客

評分:B

根據不同的統計方式,我在 2019 年發表了 9 篇或者說 13 篇博客。我的博客有就此分別的更新,但是其中一次更新包括了關於招聘內容作者的內容,其中分為五個系列。總體而言,我對去年的寫作情況感到滿意,儘管我確實希望自己能有更多博客,能更吸引更多的讀者

熟悉一個 JavaScript 框架

評分:A

我並不是一個 Vue 專家,但我將自己描述為“實用性”工程師。我能夠快速搭建出網站,而不會深陷於框架本身。

經過數年與 Angular 的鬥爭,我很高興終於找到了一個適合於獨立開發者的開發框架。

接下來的計劃

我希望在來年的大部分時間裡,投入主要精力的項目是 WanderJest,這是我幾週前創建的網站。

image

WanderJest 是用於查找喜劇表演資源的網站

我們通常很難找到本地的喜劇表演,因為眾多的節目列表分散在 Facebook 的群組、喜劇俱樂部網站以及 TicketMaster 或者 Eventbrite 之類的門票銷售商中。我希望 WanderJest 能夠將不同的來源的節目清單匯總起來,使觀眾更容易找到喜歡的節目。這個想法大體上和 Bandsintown 很類似,但是 WanderJest 專注於喜劇表演。

我正在我家附近的地區馬薩諸塞州的西部進行試點應用,但是很快我會將它擴展到其他地區。

第三年的目標

以下是我作為個人開發人員的第三年希望實現的目標:

  • 通過我的業務賺取 2 萬美元的收入
    • 我在 2019 年的收入增加了兩倍,所以第三年的 2 萬美元目標意味著再增加兩倍
  • 發表 10 篇博客
    • 每月大約一篇博客,時間足夠發布一篇深度長文,並且還可以抽出時間準備會議演講
  • 學習一項新技術
    • 學習一門全新的編程語言或者框架能夠改善我對軟件架構的整體思考,並且我一直在找一個藉口學習 Rust 語言

閱讀更多:

https://mtlynch.io/solo-developer-year-2/