TimYang

黑客马拉松需要什么样的创新项目

Image

一个多月前,数人科技的郝林(也是Go并发编程实战的作者)牵头联合了业内数家Docker及Go语言领域的公司,发起了一场以Go & Docker为主题的Hackathon,旨在让更多的开发人员关注Go及Docker领域,以及促进在Docker领域产生更多有价值的项目。由于对技术创新的兴趣,Tim曾在新浪内部曾组织多次Hackathon,这次也有幸在Go & Docker Hackathon中担当了顾问的角色。

活动在ThoughtWorks北京的办公区进行,参赛的项目有容器管理、容器调度、容器配置、持续集成等Docker生态圈各个层面的项目,以及将Go语言与Docker应用在社交、智能家居、视频编辑及支付等场景。

在黑客马拉松选择项目,大家会首先选择那些业界做得不够完善的高价值领域,比如Docker领域的服务发现,服务调度等,但这些功能需求和实现都较复杂,完成费事费力,在短时间尤其是1天Hackathon期间很难较好的完成;反而找一些技术实现简单的领域,解决一个较小的需求,团队可以快速实现,并且可以将体验做得更好。让项目在一个很小但又经常使用的点上打动用户,可以得到用户的更好的关注及认可。如有一支队伍完成了一个Dockerfile的编辑器,并且进一步可以将用户的操作录制下来自动构造Dockerfile,技术实现很简单,但是对很多Docker用户会带来便利。

很多公司在选择创业项目的时候也会碰到如此的情况,如果选择了一个技术实现复杂的领域,考虑到功能的完整性,早期的开发周期就会变得不可控。创业公司通常希望每个月都有新的产品迭代,但复杂领域的开发,预期1-3个月的项目通常会拖到半年以上,这无疑是增加了公司运营的风险。

Docker的主要思想是将软件打包成一个image并可以到处运行,运行时候被隔离在一个容器的沙箱里,独立于系统其他服务而运行,由于被隔离,安全性及资源使用方面都得到了有效控制,因此Docker这种思想也可以应用在更多领域,比如参赛中应用在硬件控制、可插拔的开放平台等领域的设想,Docker目前在实际环境中主要还是用在管理云平台上的服务。

黑客精神的一个重要点是程序员通过自己的编程打破已有的软件功能使用方式,给程序员自身及其他使用软件的用户带来自由及便利。参赛作品中比较能触动这一点的是挑战Siri的封闭性的一个项目,他设想通过一个个外接的容器能将智能做得更扩展,延伸到生活各方各面。有点类似微信的连接一切的概念,不过连接之后HUB不是微信,而是一个类似Siri这样的入口。

从这个角度,大部分我观察到的程序员思想还都比较禁锢,一方面是从小缺少创新(或者改变)的氛围及引导,在被设计的道路上循规蹈矩的长大,学习成绩好就是一个好孩子。工作后比较正常的做法也是每天接受分配的任务,完成得好就是一个靠谱的成员;打破常规的改变的成本过高,也被视为不那么正常的孩子。程序员即使换工作,也经常落在在薪酬、Title等因素的考量上,较少有动力去首先考虑那些通过技术来改变一个领域的事情上去。

本文是TimYang原创的有关架构、技术、开发等系列文章,长按下方微信号复制及订阅

TimYang_net

Image