我的作為自由職業者的那些日子
本文是從 My life as a freelancer 這篇文章翻譯而來。
2006年夏天,一個朋友告訴我,我可以在一個叫做Rent A Coder(現在叫做vWorker)的網站做編程,掙些外快。我當天就注冊了。由于在一個項目上耽誤的時間,沒有來得及做,我就對“編程掙錢”的想法失去了興趣。我幾乎忘記了這個事兒。
很快兩年后,我在北美洲的一個大學攻讀博士學位,身上只有一種學生的visa卡,口袋里空空。很多月里,我都是靠學校的獎學金維持生活,直到有2個月,他們忘記了給我打款。哦,一個半月只吃大米的日子真是享受… 很糟糕,也很刺激。
這段“黑暗”的日子讓我意識到,我應該干點什么來防止這種日子再次發生。我一直很喜歡編程;我的博士攻讀的是計算流體動力學 (Computational Fluid Dynamics)的編碼方法。我的不足?我只會Fortran這種一種語言,對C語言只有初級水平。當然,我非常擅長寫小的Bash和awk腳本,能用 來處理我的數據文件,我知道的也就這些了。
我重新激活了Rent A Coder上的帳號,開始尋找一些小的項目。我的第一個“項目”是一個區區5美元的C程序,為了這5美元,我給這個挑剔的客戶干了1個星期(對于新手,這 是個好事,一個挑剔的客戶會督促你實現更強健的程序,提高你的水平)。一周后,我提交了代碼(用來統計任務的,通常的輸入數據的文件會有 10-100MB),還要完成“C語言(第二版)”這本書里的所有習題:-)。
我以一個只知道寫簡單的“Hello World”的初學者開始了我的這個C語言項目,到了一周的結尾,我已經學會了使用C語言,能用它來處理大型數據流。當然,我的C程序都是以Fortan 為樣板,依葫蘆畫瓢出來的,在我的博士項目里也是這么干的。我對Fortan非常的熟悉,1999年我就參加了Fortran學習的課程。
從這第一個C語言項目后,客戶開始每周都給我一個C語言任務,我要的報酬越來越多,因為任務開始變的復雜(使用Liunx上的系統程序包做并行程序編程)。此時,我也開始研究C++了。
我學東西很快,這是我跟其他競爭者比較時最大的優勢,因為我的數學很好,運用這些知識我可以在幾天內學會一門新的語言。我非常積極的尋找新的項目,第一年我干的非常努力和辛苦。
頭一年末尾,在Rent A Coder上,我已經能從一個新項目上掙到100美元了。我從來不拒絕新客戶:要做一個Flash和ActionScript的交互式凸顯程序?沒問題, 我幾天就能學會…Processing?這是什么?哦,OpenGL方面的,沒問題,我可以做。 Python,Ruby,JavaScript,C#,Matlab。那是一段很刺激的時期。
另一方面,作為一個新手,你需要跟那些具有各種經濟水平的程序員競爭,這會使價格拉的很低,一個人不可能靠做這些項目為生。競爭在初級水平層面上尤為殘酷,特別是挑剔的客戶只愿意出10美元,還要不停的往項目里加新的需求。
做自由職業的第二年,我不再任何項目都接了,我開始挑選客戶,接每個項目愿意出至少要500美元的客戶。這樣的交易不錯,一個月4到5個項目,在加拿大,我的收入也算中等水平了。后來我也開始挑選項目了。很爛的項目不再接受。這感覺很好!
2年多來,我已經從每個項目5美元,到了一年3到4萬美元了,我對編程的知識突飛猛進,我還參加了數據結構的課程。我在那個網站上已經躋身前500名了(總共有20萬會員)。這來之不易,有時候我需要每天工作8到12小時來完成一個項目,或學習一種框架。
現在,我有了一些私人客戶,可以直接給他們干活,我有充裕的時間來做自己的一些事情,例如開一個編程博客,寫一個Scheme語言的解釋器,或寫蘋 果應用商店里的程序。我偶爾的還到那個網站上干活(現在叫做vWorker里),只做一些有興趣的項目(通常是并行程序編程和圖形計算)。我不需要再四處 找項目,現在我可以競標參與我感興趣的項目。一旦你能躋身前100名,你基本上就能自己定價,只干自己想干的項目了。
但這最重要的你要知道的是,做自由職業只是你事業的第一步,你的最終目標應該是掙一些具有主動性的錢,例如開發蘋果應用商店程序或直接面對你的客戶,而不是一輩子干的活都是去實現別人的夢。
本文轉載自: 外刊IT評論 http://www.aqee.net/