只缺一个程序员 如何让产品实现

简介:

这是一篇我的翻译,来自 Derek Sivers 的 How to hire a programmer to make your ideas happen,很久前在趣译翻译的,今天无意看到了,拿出来分享一下。当然,翻译的蹩脚就请大家海涵了~

你是否曾经遇到过这样的情况:你已经有了一个好主意,比如开发一个在线商店,制作一个应用等等,但是却只缺一个程序员,能够让想法变为现实?

很多我的朋友都曾遇到过这样的情况,我会在下面写出我认为不错的一些建议。

  1. 把你的宏伟蓝图简化到「1.0 版本」

憧憬一下未来无可厚非,你可以把它们统统写下来。

但是也请想想,你最低的期望是什么,人们会认同的价值是什么,最重要的三个特性是什么,最重要的一个呢?

把这称之为「1.0 版本」吧,其余的以后再考虑。你甚至根本不需要告诉人们你的那副蓝图,他们实在感兴趣的话,那告诉他们吧。

对于一个简化的不复杂的版本,你的程序员可能更能游刃有余。

你的目标就是把 1.0 版本做好。独自完成这件事,也算得上是成功的开始了。其余的所有事情,就是围绕这个 1.0 版本来做的。

  1. 描述这件事情

重要的事再说一次,要记住,只需要描述 1.0 版本即可,宏伟蓝图以后再说。

程序员不需要知道的细节,就不用写到需求里面了。

举一个例子:如果你想卖视频,你不需要说清楚视频里面有什么,只需要说「销售可下载的流视频文件」即可。如果你想做一个把古阿拉伯诗歌翻译成西班牙语的网站,你只需要写「把句子从阿拉伯语翻译成西班牙语」

告诉你,程序员爱死这种简单的表达方式了。

注意你的表达方式,让人们对你的故事有切身体会。

举一个例子:「公司创建账户,然后创建一个项目,这个项目有一个名称和一个描述。在这个项目里面,用户可以上传不同的待翻译的文件。每个文件有 三个属性:原语言,目标语言,以及文件名。系统能够统计每个文件中的字数。当公司把文件的属性改为准备翻译的时候,它会自动提醒翻译者,通知内容包括多少 篇文档,多少字数,以及报价。翻译者可以选择接受或拒绝。翻译者登录然后开始翻译文档,每翻译完一个,就把它标注为已翻译,然后系统会把翻译好的文档发送 给公司审核。」

通过这样的情景描述,程序员会自己搜索其中的名词和动词,并进行理解,这会让你和程序员的沟通更加容易。(程序员会注意的词:公司,项目,文档,翻译,翻译者,等等)

  1. 把自己当成用户,并好好总结自己的每项行为。

闭上眼睛,想象你正在使用这个网站。

描述你可以在这个页面进行的所有点击操作。

你点击后,发生了什么?准确的说,是系统发生了什么?接下来呢?

用如果-那么这种思考模式来思考。比如「如果有一个新用户,那么跳转到欢迎页。如果是老用户,跳转到个人账户页面。如果在输入电话号码的表单里面输入了一个单词,那么跳转到之前的页面,并带上一条提示信息。

用文字记录下所有 1.0 版本需要做的事情。每次点击,每次交互。这会是一份由小细节点组成的很长的清单。

谨慎用词,保存好,不要打乱清单。

这么做的目的是,保证这份关于用户体验的清单清楚明确,程序员就可以轻易的理解,每一个步骤做起来也容易。对程序员而言,感觉应该是吃薯片,而非一头大象。

  1. 分解目标,分步解决

我们习惯性的认为别人的工作更加容易。

所以把 1.0 版本的产品分解成若干个「里程碑」,花一天时间仔细想想(可能是几天时间或不到一天)他们给你的工作总结中的要点,为这些小成功而欢欣鼓舞吧。

这个阶段别期望太高。除非是丑的天怒人怨,否则只要是功能可用,就可以接受了。就像修一所房子,刷漆和装修是最后工作。

举一个例子:我们的翻译网站,第一个目标可能是简陋的原型,公司能够创建账户,创建项目,能够上传文档。这就行了!如果这些功能能够使用,那就是一个很好的开端。

分解目标的思考让你有所作为。你会在每个阶段结束的时候停下来,保证在继续开始前你有着积极的士气。这样以来,错误便不可能一直存在。你会更好的衡量时间和成本。你们会有一个很棒的势头。

  1. 第一个版本应该是单机版

找一个你喜欢的程序员,你只需要搞定第一个版本的目标,然后像对待完成版那样对待它。

打开一个空白记事本,把第一个计划的所有细节都写下来。

如果一个功能在第一版没有实现,在你的本子中把它划掉,也把它扔出你的脑袋。

这个记事本里面要有完整的项目计划,并且有每天的工作计划。其它的就别写进去了。

像一个求职广告一样这么写:我们准备雇佣一个开发者来帮助我们开发产品的第一版。如果这个目标完成了,我们会投入更多精力来保证其发展。下面是我们的具体要求….接下来贴上你的第一版计划。

你并不希望人们这么说“我搞定了,这里是源码”,确保你完成时这么说“我完成了这个项目,请把这些文件上传,然后运行服务器,我会对它进行测试,看需求是否完全实现。”

这封招聘启事会让你收到的 offer 挤爆你的邮箱,其中很有一些看起来合情合理,但却似乎是完全没有看你的具体内容的。你需要做的是:在你的招聘广告结尾处写上“非常重要:为了确保你不是机 器人,请在邮件第一行写上,我是真人。我们会删掉所有没有这么做的邮件。鉴于大部分人不会仔细阅读我们的要求,我们对您的仔细阅读表示感谢”

把这做成文字文档,准备发布吧。

  1. 把它发布到 upwork ,guru , freelancer

去下面的站点发布你的招聘广告:

upwork.com, guru.com, freelancer.com (如果在国内,可以考虑程序员客栈)

把你的小项目发布到所有网站上面。使用他们的签约服务。地理位置无关紧要——他们在哪都能工作。不要付长价,付时新。把时间控制在 7 天之内,大部分应聘者会在 3 天之内来。

你会收到许多 offer 请求,但是如果没有通过你的魔法筛选(第一排的我是真的),删了。这么做并不容易,因为你会为了大家都准备帮你这件事而兴高采烈,大家还会这么说“我们看 了你的项目,并且很高兴我们有能力搞定这件事。相信我,删掉。如果他们连你提到的「非常重要」的内容都不能注意到,,你绝对不会想和他们合作的。

同样重要的一点是:去和已经完成不少成功案例的开发者合作。这表示他们在这个网站站稳了脚跟。拒绝掉没有任何案例的开发者。

不要指望便宜的开发者。找一些能干的,优秀的开发者,哪怕他们的要价是一般开发者的两倍,因为他们可能比一般开发者干的快十倍。

每个网站都有自己的特点,所以很抱歉,我不能给每个人提供针对性的建议 。但是请注意,一旦他们提到了你的「我是真人」,对他们友善一点。一旦你准备合作,请一定要友好积极。

  1. 选择不同的人

其中一个让你停下来的原因是:你需要雇佣至少两个不同的人来为你的第一版做开发工作。做好其中一个很糟,另一个一般,只有一个不错的心理准备。

是的,我的意思是,你可能需要几倍的时间来做好第一版。但是它值得有更好的开发者。

我发现,从不同的网站各找到一个人是很容易的,所以你可以把这个不错的项目给任何一人,让他们做好自己的工作。他们并不需要知道还有其他人也在做着这样的工作。

有一些会做的很糟。做好心理准备,不要让这种事情而沮丧。他们会说发生了什么意外,要拖延一个月如,或者这比他们想象的更难,甚至直接消失了。当这样的事情发生之后,把这个人的工作标记为取消或者完成,友好的结束合作。然后继续向前。

最后,让每个人给你发送一个压缩文件,里面有完成这个版本的源代码。哪怕现在你还不知道该如何做,先存着。解压,看看里面的文件,你会搞定这事儿的。

  1. 和你最喜欢的人一直合作

这个阶段的目的是找到你真正信任的合作伙伴。

如果你没有,那么继续发布招聘广告吧,根据你收到的回应改进文案内容。更好的描述,或者更高的价格,可能是最有效的。

如果你找到了,那么你可以让他参与进整个项目中,给他你的整个 1.0 版本饿计划和清单。把他们拉进你的计划中。让他们把你下一阶段的目标完成,然后下一个,下一个。。。

他们可能会要求你加入工作,通过网站来支付报酬,营销自己的名声,或者他们直接想走。这都很好。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

目录
相关文章
|
算法 程序员 芯片
程序猿的产品思考:2C与2B产品思维的区别
程序猿的产品思考:2C与2B产品思维的区别
127 0
|
11月前
|
弹性计算 数据可视化 程序员
码住!程序员高效工作的10个方法
作为一名程序员,高效工作是我们必须要具备的能力。以下是一些程序员高效工作的10个方法,希望对大家有所帮助。
|
SQL 安全 Java
硬核,腾讯内部整理的面向开发人员代码安全指南,适合所有程序员
硬核,腾讯内部整理的面向开发人员代码安全指南,适合所有程序员
114 0
|
架构师 Java 中间件
阿里内部从初级程序员到架构师学习路线+配套学习资源
阿里巴巴终于公开了从初级程序员到架构师的学习路线图,这里相对应的基本上就是从P5到P8的晋升体系!今天老师将会带着大家从初级程序员开始一点点分享整个晋升体系!
|
数据可视化 搜索推荐 程序员
给你们讲个笑话——低代码会取代程序员
给你们讲个笑话——低代码会取代程序员
|
前端开发 开发者
开发者眼中的优秀产品经理是哪样?
本人作为一名开发人员,可以说打交道最多的就是产品和测试,尤其是新需求出来的时候,开需求讨论会,产品和一线开发人员在会讨论的交锋,很值得思考。那么接下来就来聊聊为什么会出现这种情况。
167 1
开发者眼中的优秀产品经理是哪样?
|
程序员
程序员成长第六篇:如何选择公司?
程序员成长第六篇:如何选择公司?
79 0
|
JavaScript Java 程序员
程序员外包避坑指南?
外包公司一般有两类,一类是驻场外包,一类是非驻场外包。二者的区别为是否需要被外派到甲方公司上班。如果需要,那么就属于驻场外包,否则就是非驻场外包。
400 0
|
架构师 程序员 测试技术
程序员加入新团队,必须知道的 20 道问题!
不同的软件开发团队做事的风格也完全不同。即使在同一家公司内,许多可变因素也会导致团队之间出现分歧。作为一名软件工程师,每当与新同事合作或开发新软件时,通常都会觉得非常兴奋。但在加入新的开发团队时,我们需要思考一系列的问题。
|
人工智能 Cloud Native IDE
人生苦短,开发用云-如何优雅完成程序员的侠客梦
工欲善其事,必先得其器,一款得心应手的编程工具,对于程序员来说无疑是效率神器,可以令开发工作事半功倍,在笔者亲身试用了云原生开发工具之后,可以说目前以云开发平台为代表的最新开发平台,其带来的效率提升加成,令人吧为观止了。
人生苦短,开发用云-如何优雅完成程序员的侠客梦