幾個月前我的一個朋友的朋友在Facebook上聯絡到我,他在本地有一個推廣公司。他得知我開發了Thoughtback這個 iPhone應用程式,想問問我是否有興趣為他做一些iPhone上的應用。我決定去他的辦公室看看他究竟想要些什麼東西。
在第一次會談中,他告訴我bd’s Mongolian Grill,他的一個客戶,想要一個iPhone應用,但不知道如何做。這就是叫我來的原因。我們談了很多關於開發一個應用程式的過程上的事,以及如何能夠儘可能的把這些東西應用到iPhone上。我本期望的是一場關於工作內容上的面試,結果吃驚的發現不是這麼回事。他說他們會整理一下希望在應用程式裡出現的功能特徵,然後會告訴我怎麼做。
數天後我又去見他,討論了一下他們想要的功能,看看他們想要的都是否可行。此時我並不清楚他們是否要對我進行評估,看我是否能夠完成他們要求的任務。我猜測他們早已想好了讓我做這個東西了,因為在會上以及之後的郵件裡,他們問我需要向我支付多少錢來為他們開發這個應用。
他們應該支付我多少錢?
應該要多少真是一個很難的問題。一方面,我希望他們讓我來做這個東西,擔心如果要的太多他們會找另外的人做。另一方面,我是一個合格的,專業的軟體工程師,我的時間價格不便宜。我真的希望他們給我報個價,這樣我就不必自己來琢磨這個數字了。
我在Google上查了一下,找到的數字讓我吃驚。有人說出了1萬到5萬美元之間的數字。我估算了一下用多少小時能完成這個專案,然後乘上我上班時每小時能得到的工資數。得出來的數讓我不敢接受。1萬美元不是個小數目。你要明白,這不是我掙錢餬口的工作,我並不是真的需要這筆錢,這全是外快。我最終選擇了一個能讓我舒舒服服旅遊好幾次的金額數,但仍然擔心一個這樣的小公司是否接受的起這樣的報價。我感覺有點賤賣了自己,因為很顯然需要開發很長的時間,超出你的想象。
你比你想象的要值錢!
如果讓我給處在同種境遇的人提一些建議,我會說,選一個看起來稍微有點高的價位。你要明白,你是不可能得到你說出的價位的。不要因為以前沒有遇到過這種事情而擔心。對於你來說這是個好機會。我之所以認為我的報價有點低的原因是,我並不確定我能做出他們想要的東西。如今我真正的把它實現了,想起來有點傻,因為我能夠做出來他們想要的任何東西(甚至更多)。
要多長時間能完成它?
當然,價格估出來了,他們要一個開發時間的估計。這又是一個讓人頭痛的問題。我以前從沒有做過這麼大規模的iPhone應用。他們要的很多東西我以前都沒有做過,比如Facebook共享,Twitter共享,iPhone相機的呼叫。於是我歷數每個功能點,依次指出它們需要多少的開發時間。然後還增加了多餘的時間,因為事情總是會要比你想象的時間要長。感謝上帝,我的客戶也理解這點,並給他們定的最後期限上又加了些多餘的時間。
你討厭估計!
也許你不是,但我確實是這樣,而且大部分人也是這樣,我想。當你第一次做評估時,總有一大堆的情況你沒能想到。在我這事情上,我最初估計每天在下班後花2個小時做這個專案。我沒想到的事情是我有一個一週長的去佛羅里達的假期,我想好好享受這段時光(和女朋友一起逛街,玩遊戲,看電影等等)。所以,到了專案的尾聲的時候,一天2個小時變成了3至4個小時,週末有時會更長的時間。我還沒預料到的是那些客戶希望讓我做的修改。因為他們想要一些不同的東西,我不得不在中途把一些功能做了徹底的修改。這引出了我的另外一個問題。
為一個客戶工作和為一個賣軟體的公司工作是完全的不同!
我任職的公司裡沒有這樣的客戶。我們把軟體買給消費者。我們的時間期限是自我管理的,我們必須自己制定軟體規格說明書。當你給一個客戶工作時,他們給你設最後期限,他們告訴你他們希望應用裡有什麼。他們要他們想要東西,因為他們出了錢的。
你以後還會做這種事嗎?
嗯,這很難說。這是一次很好的經驗。你能得到一筆額外的零花錢,而且我學到了很多的關於iPhone開發的知識。這個客戶非常的棒。整個過程中我們一直對此事進行交流,他們給了我很大的自由,在有些模組上允許我不按照原型開發。
儘管事情做得很棒,但付出了勞動也很多。我其實真的不需要這筆錢,就像是我很喜歡做開發一樣,能把一件事情搞定是個很高興的事。
我建議開發人員們在業餘時間至少做一次這樣的事情。我真的學到了很多,不僅僅是指開發知識上,同時也包括跟他人交流和合作的經驗。
推薦閱讀:《為什麼程式設計師新手要考慮接單?》和《開發人員接外包專案的四點技巧》。