谈谈我对Hackathon的理解
Hackathon 是什么
我们先要理解Hackathon这个词的起源。它起源于1999年,词语本身来自于Hack和Marathon的组合,意思就是一群程序员或者软件工程师相聚在一起,像马拉松一样不停的从起点跑到终点进行比赛。由于大部分Hackathon都是现场命题制,这就意味着所有程序员在一开始都是站在同一起跑线上的,所以Hackathon成为了每一个热爱挑战的程序员能够挑战自身各方面能力的机会。
没错。我说的是,挑战。就如覃超大哥在SegmentFault的Hackathon开始的时候说的那样,hack精神就是Facebook最为推崇的理念,它的很多产品创新和突破都是来自于内部的Hackathon上迸发的灵感。所以应该不难理解,Hackathon的精神在于挑战自我和固有的事物、想法,从而去创造新的事物和新的想法。
我的Hackathon经历
先说说我的Hackathon经历吧。在接触Hackathon之前,我接触过很多创业团队,见过很多新的想法,但大部分都因为时间问题或者进度问题一拖再拖,亦或是这些想法并没有特别的打破人们固有的一些想法和思维模式。而我就已经乐衷于开拓自己的思维模式和范围,去接触更大的互联网世界。
从创业和各种项目一路走来,我对软件工程的热爱逐渐在团队合作中被我自己培养了起来。对我来说,做一件事情,最重要的当然是这件事情是否有趣,是否值得我去热爱,其次就是能够和小伙伴一起去做这件事情,还记得两年前我刚开始走上这条道路的时候,我写到,“携两三靠谱好基友,凭一腔热血,青春年少,有什么做不到的。年轻就该气盛,才不负年华”。
于是,当我第一次和小伙伴一起接触到Hackathon的时候,我就陷入了无比的狂热中。那是Dorahacks在北航举办的一次Hackathon,由于没有经验,我们也没有熬夜,只是晚上在QQ上相约一起写了一部分,第二天早上早早到地方开始调bug。一开始我们也通过头脑风暴想出了很多奇怪的创意,但是都被否定了,最后思宇在散步的时候想出了网页弹幕这个鬼点子。于是那也开启了我们每次Hackathon都一定会有的弹幕模式……其实写一个网页弹幕的Chrome插件花不了多少时间,加上leancloud即时通信和存储的集成,我们总共也没花几个小时,就将一个差不多通过了测试的版本放上台展示了。
展示的时候,我扯了一大堆弹幕的起源和95后新兴人类的社交模式,扯了我从创业以来了解的各种互联网现状,然后啪的一展示,小伙伴们啪啪啪打了一堆弹幕上去,正好浏览的网页又特别想让人吐槽,所以大家都笑了,我们顺理成章拿了第一。
后来我就总结出这么个道理,Hackathon,展示也是相当关键的一环,你要么让观众大笑,要么让观众大惊,如果观众一点反应都没有,那你就基本没有希望了。所以Hackathon,一定意义上并不是完全的在挑战一个人的思维能力,代码能力,团队合作能力之类的东西,更是在挑战和检验一个人的表达能力,简单地说,一个人的气场。对于一般的程序员来说,可能根本没有意识到在平时所谓气场和表达能力有什么重要性,但是,这也就意味着一个程序员将会永远在这种局限性之下成长。
以上总结同样适用于我们接下来参加的一次大众中国的Hackathon。虽然这就是我将要说的商业大赛,但是最后拿了第一的团队,对于展示的把握相当的成熟,让我也学到了很多。我们什么奖也没有获得,但是我们脑洞大开的想让车与车之间通过弹幕的方式在公路上连接在一起。不知道为什么,也许我们和其他MBA或者博士们参加Hackathon的动机不一样吧,所以我们受到了相当的关注,这也让我感觉特别不自在和恼火。这本来就是大人们的一个游戏,他们只是对我们感到好奇罢了。
挂羊头卖狗肉,是我对于很多这样的所谓Hackathon的商业创新大赛和外包大赛的总结。也许是各种企业主和策划方都觉得通过传统的比赛模式没有办法吸引到新时代的人才了,所以总是各种效仿,挂上Hackathon的名号。有一些比赛评委根本不看技术而看商业模式和商业分析,来自企业的一些Marketing的评委关注点是在如何让他们的企业赚更多的钱上,对于技术的创新性和效果并没有那么接受;而有一些比赛的评委对于自己出的题目已经有了相当明确的答案,却只是希望参加比赛的hacker能够按照他的期望把一个东西的原型做出来。
是的,如果你想用广义的Hackathon定义来理解,你也许可以将他们也包含到Hackathon中,但是不可否认的是,这些比赛形式的本质是传统的,是抑制技术创新的。真正的Hackathon,应该是基于技术的创新和理念的创新,去解决一个实际的问题,从而让世界变得更美好。
上周末的TC Hackathon,我想说我们最后退出了。在讨论了很久之后,对于某个企业提出的冰柜的题目,我们虽然觉得有很多能创新的点,但是当评委介绍完整个任务之后,我其实已经觉得没有多大希望了——评委对于项目有着明确的要求,甚至可以说他们应该已经花费了一些人力在这个项目上。整个题目是这个企业之前就已经提出的一个创业点,他们不希望自己投入研发成本去做这件事,而希望创业团队来帮他们实现。当没有什么好的创业团队来做这件事的时候,他们就把这件事情扔到一个Hackathon上,可以说,那些可怜的奖金如果换做外包的形式的话,数额只够一个人的所得。用廉价的奖金换来一个优质的外包方案,我相信对于每个企业都是一种好的选择。我也认识一些传统行业的人,他们告诉我,通过将项目外包给学校或者在学校内组织比赛的形式帮助他们完成一个项目的开发是他们很经常采用的手段。这个道理我想很多人都明白,但是我不希望外包比赛非得套上Hackathon的头套,玷污我心里对于技术创新的向往和渴望。
最好的一次Hackathon是两周前的SegmentFault Hackathon。由于它本身是个开发者社区,而且这个Hackathon已经相当成熟,由他们自己举办,因此来自外界的干扰和污染特别小,评委也是来自于一线的新兴创业团队,并且都是一些注重技术和技术分享的公司。在这个比赛中,除了少量出现的偷偷用成品参加比赛的行为,包括零食,饮料的供应,都比TC的那次丰富和完善许多。而且采用的是现场公布题目的形式,题目的点也相当容易发散,不会提各种需求,这才让我感觉真真正正能出一些好东西。说实话,如果在Hackathon上还提一点两点三点好几点需求,那我就真的觉得和我平时做咨询,帮团队分析产品,做基础技术架构设计没有区别了。
也许只有SegmentFault的Hackathon才配得上年轻开发者的节日1024吧。
Hackathon需要的技能
对于我来说,我最害怕的就是止步不前,更害怕的是自己甘愿和其他90%的人一样陷于固有的事物和思维模式。我相信每一个接受过良好本科教育的大学毕业生在许多所谓的基础方式上都有着良好的基础,我们在校园里已经接受了足够的通识教育和专业基础教育,真正让每个人能够变得不同或者更好的,是在这个基础之上的思维模式。而Hackathon,既是对你的思维模式的磨炼,也是一种考验。
参加Hackathon,你需要首先对这个比赛有足够的判断能力,他到底是个商业大赛,还是外包大赛,还是真的Hackathon?对于不同类型的“Hackathon”,你需要做不同的准备,虽然当你发现是前两者之后你可能已经对它失去兴趣了。下面是你需要的一些技能。
你需要凝聚一个团队。
对于团队的凝聚力更大程度应该是通过事情,而不仅仅是所谓的个人魅力。事情有趣,事情酷炫,事情实实在在的解决问题,我想每一个有激情的人都会很主动的投入进来。所以你需要想清楚要做的事情应该是什么样的,是实际的,还是超出自己想象的,对做的事情需要有一个方向的把控,这才能够凝聚起一个团队。我始终坚信,共同的热爱才是团队一致向前的最好动力。
你需要挑选你的团队。
Hackathon不是刷上机题,你不是一个人在战斗。所以团队是最重要的部分。首先你需要保证你自己的技术栈足够宽,这里我说的不是什么web全栈框架,我说的技术栈是从前端,客户端,后端,数据库,服务器到建模,动画,设计,客户端的游戏开发,甚至还有视频制作这种技术如果最好都需要覆盖到。当然,对于一个人来说做到这些太困难了,所以这也就是你需要团队的原因。如果是偏商业大赛,即有比较明确的商业赞助和商业评委的参与,那么你还需要一到两个Marketing的小伙伴加入;如果是偏外包大赛,甚至纯技术的团队都可以胜任,但是有一个产品/交互会好很多;如果是纯Hackathon,组一个纯产品的小伙伴就没有特别大的意义了,那个时候,人人都可以是产品经理!
团队人数方面,大部分Hackathon都限制在3~5人得范围内,最佳组合应该是能满足上述要求的4人组合。竞争力足够和5人团队匹敌,而5人团队也容易出现分歧,从而拖延本来就赶的进度。每一个决策都要尽量让每个队员都特别接受,并且有激情去做,因为Hackathon是在短时间内对每个人的精力和毅力的极大挑战,如果没有激情,那么你就会因为队员的疲惫而失去原本属于他的那份时间。
你需要学会不一样的头脑风暴。
这里的意思是如果你用正常的头脑风暴方式去思考,那么别人会和你做着同样的事情,到达同一个点,并且开始做同一个想法。这直接就宣告你的努力白费了。所以,你需要学会不一样的头脑风暴方式,不是从题目里的字眼发散,而是尝试着跳出来,从各处散乱的灵感里找到几个和题目接近的主题,再从那些主题中发散。记住,你能想到的东西,90%以上别人都会想到,所以我们要做的是去想别人想不到的那些想法。
热爱。
没有什么好说坚持和毅力什么的。那些都没有办法让你做到最好。只有热爱,像乔布斯说的那样,只有热爱能够让你真正把一件事情做好。所以在Hackathon的时候也一样,记住,一定要找到你热爱的东西,然后去完成它。如果找不到,就继续找,当然如果实在找不到,你可以选择随便找一个刚刚想出来的点子去实现。我相信4个人的思维火花碰撞,如果Hackathon足够纯净,你不可能找不到热爱的东西的。在Hackathon中,最切忌切忌的,就是凑合,为了做项目而去做项目。
展示的时候,谦虚,但是让别人感受。
展示也是相当重要的一部分,如我上文所提。当你在最后的展示的时候,你需要让所有人都能感受到你的热爱,感受到你们的想法和你们所实现的东西的激情,这时候就需要你的表达能力和感染力了。在台上不要害怕,保持谦虚是一种很好的驱赶恐慌感的方式。简单明了的让大家了解你的想法,并且通过demo的演示让大家感受到你的热爱。好的东西,才更需要一种好的途径进入每一个观众的内心。