这是一篇我的翻译,来自 Derek Sivers 的 How to hire a programmer to make your ideas happen,很久前在趣译翻译的,今天无意看到了,拿出来分享一下。当然,翻译的蹩脚就请大家海涵了~ 你是否曾经遇到过这样的情况:你已经有了一个好主意,比如开发一个在线商店,制作一个应用等等,但是却只缺一个程序员,能够让想法变为现实? 很多我的朋友都曾遇到过这样的情况,我会在下面写出我认为不错的一些建议。 1. 把你的宏伟蓝图简化到「1.0 版本」 憧憬一下未来无可厚非,你可以把它们统统写下来。 但是也请想想,你最低的期望是什么,人们会认同的价值是什么,最重要的三个特性是什么,最重要的一个呢? 把这称之为「1.0 版本」吧,其余的以后再考虑。你甚至根本不需要告诉人们你的那副蓝图,他们实在感兴趣的话,那告诉他们吧。 对于一个简化的不复杂的版本,你的程序员可能更能游刃有余。 你的目标就是把 1.0 版本做好。独自完成这件事,也算得上是成功的开始了。其余的所有事情,就是围绕这个 1.0 版本来做的。 2. 描述这件事情 重要的事再说一次,要记住,只需要描述 1.0 版本即可,宏伟蓝图以后再说。 程序员不需要知道的细节,就不用写到需求里面了。 举一个例子:如果你想卖视频,你不需要说清楚视频里面有什么,只需要说「销售可下载的流视频文件」即可。如果你想做一个把古阿拉伯诗歌翻译成西班牙语的网站,你只需要写「把句子从阿拉伯语翻译成西班牙语」 告诉你,程序员爱死这种简单的表达方式了。 注意你的表达方式,让人们对你的故事有切身体会。 举一个例子:「公司创建账户,然后创建一个项目,这个项目有一个名称和一个描述。在这个项目里面,用户可以上传不同的待翻译的文件。每个文件有 三个属性:原语言,目标语言,以及文件名。系统能够统计每个文件中的字数。当公司把文件的属性改为准备翻译的时候,它会自动提醒翻译者,通知内容包括多少 篇文档,多少字数,以及报价。翻译者可以选择接受或拒绝。翻译者登录然后开始翻译文档,每翻译完一个,就把它标注为已翻译,然后系统会把翻译好的文档发送 给公司审核。」 通过这样的情景描述,程序员会自己搜索其中的名词和动词,并进行理解,这会让你和程序员的沟通更加容易。(程序员会注意的词:公司,项目,文档,翻译,翻译者,等等) 3. 把自己当成用户,并好好总结自己的每项行为。 闭上眼睛,想象你正在使用这个网站。 描述你可以在这个页面进行的所有点击操作。 你点击后,发生了什么?准确的说,是系统发生了什么?接下来呢? 用如果-那么这种思考模式来思考。比如「如果有一个新用户,那么跳转到欢迎页。如果是老用户,跳转到个人账户页面。如果在输入电话号码的表单里面输入了一个单词,那么跳转到之前的页面,并带上一条提示信息。 用文字记录下所有 1.0 版本需要做的事情。每次点击,每次交互。这会是一份由小细节点组成的很长的清单。 谨慎用词,保存好,不要打乱清单。 这么做的目的是,保证这份关于用户体验的清单清楚明确,程序员就可以轻易的理解,每一个步骤做起来也容易。对程序员而言,感觉应该是吃薯片,而非一头大象。 4. 分解目标,分步解决 我们习惯性的认为别人的工作更加容易。 所以把 1.0 版本的产品分解成若干个「里程碑」,花一天时间仔细想想(可能是几天时间或不到一天)他们给你的工作总结中的要点,为这些小成功而欢欣鼓舞吧。 这个阶段别期望太高。除非是丑的天怒人怨,否则只要是功能可用,就可以接受了。就像修一所房子,刷漆和装修是最后工作。 举一个例子:我们的翻译网站,第一个目标可能是简陋的原型,公司能够创建账户,创建项目,能够上传文档。这就行了!如果这些功能能够使用,那就是一个很好的开端。 分解目标的思考让你有所作为。你会在每个阶段结束的时候停下来,保证在继续开始前你有着积极的士气。这样以来,错误便不可能一直存在。你会更好的衡量时间和成本。你们会有一个很棒的势头。 5. 第一个版本应该是单机版 找一个你喜欢的程序员,你只需要搞定第一个版本的目标,然后像对待完成版那样对待它。 打开一个空白记事本,把第一个计划的所有细节都写下来。 如果一个功能在第一版没有实现,在你的本子中把它划掉,也把它扔出你的脑袋。 这个记事本里面要有完整的项目计划,并且有每天的工作计划。其它的就别写进去了。 像一个求职广告一样这么写:我们准备雇佣一个开发者来帮助我们开发产品的第一版。如果这个目标完成了,我们会投入更多精力来保证其发展。下面是我们的具体要求….接下来贴上你的第一版计划。 你并不希望人们这么说“我搞定了,这里是源码”,确保你完成时这么说“我完成了这个项目,请把这些文件上传,然后运行服务器,我会对它进行测试,看需求是否完全实现。” 这封招聘启事会让你收到的 offer 挤爆你的邮箱,其中很有一些看起来合情合理,但却似乎是完全没有看你的具体内容的。你需要做的是:在你的招聘广告结尾处写上“非常重要:为了确保你不是机 器人,请在邮件第一行写上,我是真人。我们会删掉所有没有这么做的邮件。鉴于大部分人不会仔细阅读我们的要求,我们对您的仔细阅读表示感谢” 把这做成文字文档,准备发布吧。 6. 把它发布到 upwork ,guru , freelancer 去下面的站点发布你的招聘广告: upwork.com, guru.com, freelancer.com (如果在国内,可以考虑程序员客栈) 把你的小项目发布到所有网站上面。使用他们的签约服务。地理位置无关紧要——他们在哪都能工作。不要付长价,付时新。把时间控制在 7 天之内,大部分应聘者会在 3 天之内来。 你会收到许多 offer 请求,但是如果没有通过你的魔法筛选(第一排的我是真的),删了。这么做并不容易,因为你会为了大家都准备帮你这件事而兴高采烈,大家还会这么说“我们看 了你的项目,并且很高兴我们有能力搞定这件事。相信我,删掉。如果他们连你提到的「非常重要」的内容都不能注意到,,你绝对不会想和他们合作的。 同样重要的一点是:去和已经完成不少成功案例的开发者合作。这表示他们在这个网站站稳了脚跟。拒绝掉没有任何案例的开发者。 不要指望便宜的开发者。找一些能干的,优秀的开发者,哪怕他们的要价是一般开发者的两倍,因为他们可能比一般开发者干的快十倍。 每个网站都有自己的特点,所以很抱歉,我不能给每个人提供针对性的建议 。但是请注意,一旦他们提到了你的「我是真人」,对他们友善一点。一旦你准备合作,请一定要友好积极。 7. 选择不同的人 其中一个让你停下来的原因是:你需要雇佣至少两个不同的人来为你的第一版做开发工作。做好其中一个很糟,另一个一般,只有一个不错的心理准备。 是的,我的意思是,你可能需要几倍的时间来做好第一版。但是它值得有更好的开发者。 我发现,从不同的网站各找到一个人是很容易的,所以你可以把这个不错的项目给任何一人,让他们做好自己的工作。他们并不需要知道还有其他人也在做着这样的工作。 有一些会做的很糟。做好心理准备,不要让这种事情而沮丧。他们会说发生了什么意外,要拖延一个月如,或者这比他们想象的更难,甚至直接消失了。当这样的事情发生之后,把这个人的工作标记为取消或者完成,友好的结束合作。然后继续向前。 最后,让每个人给你发送一个压缩文件,里面有完成这个版本的源代码。哪怕现在你还不知道该如何做,先存着。解压,看看里面的文件,你会搞定这事儿的。 8. 和你最喜欢的人一直合作 这个阶段的目的是找到你真正信任的合作伙伴。 如果你没有,那么继续发布招聘广告吧,根据你收到的回应改进文案内容。更好的描述,或者更高的价格,可能是最有效的。 如果你找到了,那么你可以让他参与进整个项目中,给他你的整个 1.0 版本饿计划和清单。把他们拉进你的计划中。让他们把你下一阶段的目标完成,然后下一个,下一个。。。 他们可能会要求你加入工作,通过网站来支付报酬,营销自己的名声,或者他们直接想走。这都很好。 王登科微信号:greatdk|微信公众号:superwdk 文章来源:博客园 |