在二十世纪九十年代互联网泡沫那段时间,为了吸引开发者,很多公司提供了大量的福利:乒乓球桌和台球桌、精致的午餐、游戏机房、酒、签约奖金、欧耶还有股票期权!现在,这些福利中有些已经变成了经典的笑料,但是有些已经变成现代技术公司的标配。
过去的15年变化很大,但是对好的开发者的需求却没有变。大公司仍然在提供所有疯狂的好处来吸引那些***的人才(想想那些故事,比如在谷歌工作),并且他们通过买公司来获取公司里的开发者。
为了说明这个问题,让我们假设你已经建立了一个小公司,并且你在找新的开发者,我的意思是那些关心他们的产出的开发者(例如黑客)。根据开发者的诸多需求,你怎么跟对手竞争?
毫不奇怪,你首先必须要做的是知道开发者们在想什么。我们跟普通职员差别很大,我们不会因为离开办公室而停止工作。我们破解自己的项目,我们为了体验做更多的工作,并且我们参加用户组,为技术社区做贡献。我们生活和呼吸在技术中,那就是我们。理解了这个,你已经在半路上了,学着在我们当中鼓励这个,你一定会大获成功。
吸引开发者的兴趣的确不难,那只需要你默默支持我们感兴趣的事情,这里有一个你能做的例子:
支持本地用户组
尽管开发者被认为非常内向,但我们很喜欢聚在一起分享想法和新技术。其中一个方法就是参加用户组,支持用户组的公司是很吸引开发者的。
支持用户组既便宜又容易,公司做的最简单最容易的事情是提供零食、食品和饮料。不必很奢侈,点心盘、披萨、三明治或者苏打水就足够了。
另一个方法是提供聚会场所,因为一旦讨论小组成长起来,找个开会的地方不容易。把你的办公室开放给讨论小组,这是***的寻找天才的办法。
***,他们经常需要演讲者,因此,鼓励(不是强迫)你的开发者去演讲。
编码竞赛和编程马拉松
开发者不仅聚在一起讨论技术,我们还聚在一起玩技术。大多数语言都有一些竞赛(网站编程比赛,js黑客颂,Django Dash等);主要的开源项目经常有修复bug的新版本发布;让人兴奋的是,新的项目或者版本会在编程马拉松上发布。
支持这些事情类似于支持用户组。提供点心饮料和聚会场所,你的开发者会受到热烈欢迎,你的名字也会被铭记。
技术峰会
不像用户组和编程马拉松,参与技术会议需要较多的经费支出,时间和资源,或者三者结合。但是,增加支出是值得的,曝光率会增加。
组织一个会议费用很高,但是对赞助商来说很划算。博客,赞助者页面,Twitter和Facebook,T恤衫,会议声明等很多方法可以提高赞助者的声望。
用户组也许有十几个开发者,峰会经常会有150或更多(吸引到有名气的开发者)。通过支持峰会,显示对天才的兴趣,通过交谈,你的公司肯定能引起开发者的兴趣。
就像我说的,引起开发者的兴趣并不难,但是拉我们入伙有点不同,因为我们需要知道你们公司展示出来的和你们公司的实际情况是否一致。至少有三件事情能显示你们是开发者友好的公司:回馈社区,鼓励黑客文化,支持你当前的开发者。
回馈社区
机会是你的组织使用了开源软件,但机会包括你的组织没有给那些开源项目回馈。我谈的不仅仅是钱,尽管开源项目很高兴接受捐赠,我谈的是反馈代码给社区。
Michael Bleigh在文章“为什么开源企业文化是重要的”里,阐述了为什么公司和组织尽可能开源是很重要的,下面这段话很能说明问题:
为什么你关心开发者是否开心?每个公司都应该关心员工是否开心,但是软件开发是科学,艺术和手工艺的黑魔法组合。有些工作能通过强迫的方法完成,但软件工作需要灵感和激情,你不会让开发者在感到窒息和被隔离在开发社区之外工作吧?开源能让开发者开心,当你开源你的代码时,你得到了社区,并且让人感觉是对开发者友好的。
鼓励黑客文化
创建公司文化不是小事,很多公司的文化是自然形成的,但在其它一些地方,例如苹果公司,文化是积极发展和培育的。本文没有足够篇幅描述公司文化,我的资历也不够来说这个,我想提供几个小贴士来说明怎么样才能让黑客文化产生和成长。
鼓励失败
我曾经在不允许失败的公司工作,那真是一个令人窒息,士气低落的恐怖的工作环境。如果没有失败的空间,也就没有创造的空间。
计算机编程里失败经常发生,因为程序员也是人,并且我们要尝试新主意,在锻炼中成长,失败是成长的一部分,当你的开发者绊倒时,支持他们,成功时,庆祝一下。
支持尝试
技术日新月异,没什么比编程更清楚了。通过允许你的开发者尝试新技术,他们会感觉到工业化的方向,并且找出组织响应方案。
除了允许你的开发者尝试新技术,也鼓励他们尝试新的开发方法。结对编程,站立办公桌,测试驱动开发,敏捷开发,开放的座位安排都能激发开发者的兴奋。
支持尝试时间
你可能已经知道,谷歌拿出20%的时间支持这个。员工允许拿出20%的工作时间花在他们觉得有趣的项目里。大约有50%谷歌产品来自于这个“百分之二十”的项目,包括Gmail,Orkut,谷歌新闻和AdSense。
20%很多了,也就是只有谷歌才能这么做,因为他们有冗余的员工。但是如果允许你一个月拿出两天(10%),让开发者尝试全新的东西,怎么样?
Red Nova实验室,堪萨斯城的本地公司,最近真的开始了他们叫做发布版的项目。公司拿出一整个星期,让大家组成小组去尝试新的主意。结果,两个全新的产品快要发布了。你的公司一星期能做什么?
支持你当前的开发者
***,支持你公司里已经有的开发者,我们是最有商业头脑的人吗?不是。我们知道技术的演进路线?不清楚。如果你真的想支持你的开发者,就倾听他们的意见。我们是书***和极客,就像John Stewart说的:我相信你所说的词应该是“专家”。
我没有强调的一方面是大多数开发者宁可觉得受到重视,拿较少的工资,也不去拿高工资而不被重视。如果你不重视你的开发者,以下三件事之一必会发生:
1) 他们离开(最有可能);
2) 他们在工作上花的精力变少,在自己兴趣上花的精力变多;
3) 他们变成你认为的齿轮.
对你的组织来说,很不幸的是这是一个卖方市场。我们知道我们想要的,我们用知识去平衡我们想要的内容。然而,对你的组织来说,幸运的是大多数竞争对手不知道如何让开发者开心,台球桌和免费啤酒是不够的。另外,开发者不是一直都知道哪种环境是他们最喜欢的。但是如果你的组织能给社区开发者提供支持,给开发者提供茁壮成长的环境,那么应该不缺好的开发者供你挑选。