几个月前我的一个朋友的朋友在Facebook上联系到我,他在本地有一个推广公司。他得知我开发了Thoughtback这个 iPhone应用程序,想问问我是否有兴趣为他做一些iPhone上的应用。我决定去他的办公室看看他究竟想要些什么东西。

  在第一次会谈中,他告诉我bd’s Mongolian Grill,他的一个客户,想要一个iPhone应用,但不知道如何做。这是叫我来的原因。我们谈了很多关于开发一个应用程序的过程上的事,以及如何能够尽可能的把这些东西应用到iPhone上。我本期望的是一场关于工作内容上的面试,结果吃惊的发现不是这么回事。他说他们会整理一下希望在应用程序里出现的功能特征,然后会告诉我怎么做。

  数天后我又去见他,讨论了一下他们想要的功能,看看他们想要的都是否可行。此时我并不清楚他们是否要对我进行评估,看我是否能够完成他们要求的任务。我猜测他们早已想好了让我做这个东西了,因为在会上以及之后的邮件里,他们问我需要向我支付多少钱来为他们开发这个应用。

  他们应该支付我多少钱?

  应该要多少真是一个很难的问题。一方面,我希望他们让我来做这个东西,担心如果要的太多他们会找另外的人做。另一方面,我是一个合格的,专业的软件工程师,我的时间价格不便宜。我真的希望他们给我报个价,这样我不必自己来琢磨这个数字了。

  我在Google上查了一下,找到的数字让我吃惊。有人说出了1万到5万美元之间的数字。我估算了一下用多少小时能完成这个项目,然后乘上我上班时每小时能得到的工资数。得出来的数让我不敢接受。1万美元不是个小数目。你要明白,这不是我挣钱糊口的工作,我并不是真的需要这笔钱,这全是外快。我终选择了一个能让我舒舒服服旅游好几次的金额数,但仍然担心一个这样的小公司是否接受的起这样的报价。我感觉有点贱卖了自己,因为很显然需要开发很长的时间,超出你的想象。

  你比你想象的要值钱!

  如果让我给处在同种境遇的人提一些建议,我会说,选一个看起来稍微有点高的价位。你要明白,你是不可能得到你说出的价位的。不要因为以前没有遇到过这种事情而担心。对于你来说这是个好机会。我之所以认为我的报价有点低的原因是,我并不确定我能做出他们想要的东西。如今我真正的把它实现了,想起来有点傻,因为我能够做出来他们想要的任何东西(甚至更多)。

  要多长时间能完成它?

  当然,价格估出来了,他们要一个开发时间的估计。这又是一个让人头痛的问题。我以前从没有做过这么大规模的iPhone应用。他们要的很多东西我以前都没有做过,比如Facebook共享,Twitter共享,iPhone相机的调用。于是我历数每个功能点,依次指出它们需要多少的开发时间。然后还增加了多余的时间,因为事情总是会要比你想象的时间要长。感谢上帝,我的客户也理解这点,并给他们定的后期限上又加了些多余的时间。

  你讨厌估计!

  也许你不是,但我确实是这样,而且大部分人也是这样,我想。当你第一次做评估时,总有一大堆的情况你没能想到。在我这事情上,我初估计每天在下班后花2个小时做这个项目。我没想到的事情是我有一个一周长的去佛罗里达的假期,我想好好享受这段时光(和女朋友一起逛街,玩游戏,看电影等等)。所以,到了项目的尾声的时候,2个小时变成了3至4个小时,有时会更长的时间。我还没预料到的是那些客户希望让我做的修改。因为他们想要一些不同的东西,我不得不在中途把一些功能做了彻底的修改。这引出了我的另外一个问题。

  为一个客户工作和为一个卖软件的公司工作是完全的不同!

  我任职的公司里没有这样的客户。我们把软件买给消费者。我们的时间期限是自我管理的,我们必须自己制定软件规格说明书。当你给一个客户工作时,他们给你设后期限,他们告诉你他们希望应用里有什么。他们要他们想要东西,因为他们出了钱的。

  你以后还会做这种事吗?

  嗯,这很难说。这是一次很好的经验。你能得到一笔额外的零花钱,而且我学到了很多的关于iPhone开发的知识。这个客户非常的棒。整个过程中我们一直对此事进行交流,他们给了我很大的自由,在有些模块上允许我不按照原型开发。

  尽管事情做得很棒,但付出了劳动也很多。我其实真的不需要这笔钱,像是我很喜欢做开发一样,能把一件事情搞定是个很高兴的事。

  我建议开发人员们在业余时间至少做一次这样的事情。我真的学到了很多,不仅仅是指开发知识上,同时也包括跟他人交流和合作的经验。