编者按:因为 Ruby on Rails 的出现,借用互联网创业的人越来越多,虽然不能说全是 RoR 的功劳,但至少说明技术门槛的降低加速了互联网的发展。从前从一个点子的产生到实现可能要耗费少则几个月,多则几年的时间,而现在,只要你的点子够新,有实践的可能,几天几周就可以看到原型。而后面的维护也比较方便,几乎可以说是实时进行。本文通过采访技能云网站的策划人熊节和主设计师Iceskysl 就是想证明前文所述,据两人介绍,这两个到现在还没有见过面的年轻人通过网络,在不到两周的时间里,将一个创意点子变成了现实。
InfoQ 中文站:这个项目发布后,你被人问到的最多的三个问题是什么?
IceskYsl:你们团队几个人;这个项目的目标用户是谁?用了多少时间?
熊节:
-
这是你做的吗?
不是。最初的主意是我想的,实现的人是 IceskYsl。我自己有很多关于互联网的点子,但是没有时间、没有行动力去实现。是 IceskYsl 的行动力让 iTechTag 这个点子变成现实。我相信很多人有和我一样的困扰,所以 1sters! 这种模式挺有吸引力的。 -
这网站靠什么挣钱?
不知道,不操心。我的近期目标只是让 iTechTag 能跑起来,让它帮助软件开发者们建立自己的声望,让他们的声望为他们自己创造价值。只要对用户有价值,早晚网站也会找到自己的价值,这一点我毫不怀疑。 -
开发用了多长时间?
可以说很快,大概两周就上线了;也可以说一直没有开发完,不断地在提高和改善。这也是 Web 2.0 的特点,永远都在 beta。
InfoQ 中文站:介绍一下你自己和你的团队?
IceskYsl:我是 IceskYsl,目前还是靠 Java 吃饭,ROR 是暂时还是业余活动,很享受这种方式;1sters! 暂时还是个虚拟的、我自己心中理想中的团队模式,也正一步步的走向成熟。我接触 RoR 有一段时间了,期间被它的灵活吸引,有事没事的就会写写代码,时间不多,写了好几个像模像样的系统如:
- byeloo.cn (毕业咯):一个开源的多班级同学录系统,趴在床上用笔画出大概的模块以及基本的数据结构后;利用一个通宵写完了整个框架,而后就上线使用,根据同学们的要求,主键完善。目前功能都很实用;
- 然后是 1stlog,一个针对国内用户的基于 ROR 的 blog 程序,功能强大可定制,方便扩展,已经发布两个版本,马上即将发布第三个版本;
- 1sters.com :一个集新闻,产品展示,官方 blog,已经产品缺陷跟踪管理于一体的 CMS 系统;
- 1stimes:第一次是一个分享你我第一次经历的 Web 2.0 的系统;
- itechtag :技能云。
熊节:我是熊节,网名叫"透明"的。先后干过媒体、程序员、咨询师三种职业,所以有一堆 Web 2.0 的点子。可惜每天忙忙叨叨的,这些点子落地的很少。
InfoQ 中文站:技能云的创意是从何而来?
IceskYsl:项目的创意随着时间逐步演化,起初只是为程序员及其相关的人提供一个展现自我的平台,为国内的程序员赢得更多的他曾被无形剥夺的东西;进而发展为项目展示、交流、经验分享及其人脉的一个平台。
熊节:这个东西的想法很简单:我要有一个widget 挂在我的blog 上,告诉别人我有些什么技能,譬如说我Ruby 很不错、Java 很不错、JavaScript 也有经验,等等。为什么我想给别人show 这些呢?因为我觉得骄傲,为自己骄傲。我在过去的8 年里一直在编程,我掌握了那么多的技能,我觉得很骄傲。说白了就是,我要向别人炫耀自己的技能。
东西很简单,但背后可以有引申。这个炫耀的widget 一展开,就引出了别的东西,那就是从哪里得到这些技能的信息。当然了,只有从项目经验里来。只有真正在项目里做过,用过一种技术,你才能说你掌握了这种技能。而且一般来说,技能掌握的熟练程度还是和使用的时间成正比的。所以iTechTag 是以项目为基础的。你不能说自己"精通"、"熟练掌握"什么技能,你必须证明,证据就是真实的项目经验。
那么有了一个炫耀的widget,有了一堆项目经验,就可以很方便的导出简历了。(这是我们下一步的重点功能。)技能-经验-简历,这个三位一体就构成了一个程序员的声望(reputation)。谁对这些声望感兴趣呢?当然是正在招人的潜在雇主。换句话说iTechTag 的注册用户在炫耀的同时顺手得到了直接面对潜在雇主的机会。这就是我一开始说的,“释放程序员声望的价值”。如果说开源软件是把源代码的价值还给程序员(和用户),那么iTechTag 这个模式就像是人才招聘领域的开源,把程序员的价值还给程序员(和潜在雇主)。
InfoQ 中文站:为什么会采用 RoR 实现,用 RoR 开发你们体味到什么特殊之处?
IceskYsl:采用 ROR 是因为我们享受 ROR 带给我们的快捷和快乐。我们喜欢新的东西,体验者敏捷开发过程中带来的快乐。采用 ROR 使得我们更加敏捷。我是不会使用 Java 去开发的,因为它便捷。你可以想象一下“推绳子”的感觉,就是如果你用 Java 去开发这样的项目,会让你感觉使不上劲,一身力气使不出来或者说憋的慌。我想这也是为什么现在很多 Web 2.0 的网站都是用 RoR 或者 Python 这样的较动态的、轻量的语言做出来的吧。
熊节:我如果自己做肯定会用 RoR,因为我是 RubyWorks 的成员,我对 RoR 最熟悉。所以在寻找合作伙伴的时候我也注重找 RoR 的开发者。
InfoQ 中文站:这个项目的开发过程是怎么样子的,比如时间、人力等?
IceskYsl:这个项目最先是我的一个网站:www.1sters.com, 上面规划了我理想的工作团队的模式,透明无意看到了,就按照上面的联系方式找到我;说自己有个很不错的 Idea;也就是技能云的雏形,和我说了以后,我觉得很棒,于是决定一起做。鉴于他对程序员这个群体把握比较准确,很多方向和他讨论后确定;然后我个人开发。白天用 IM 沟通一些不确定的问题和需要的功能,晚上下班后我基本上就可以实现。就这样用了两周的业余时间完成了前期的功能开发。后期的测试和维护当然少不了 Jeff 同学的辛苦劳动。整个过程都差不多是这样的,在技术上为了更好地提高用户体验,我们采用了 Ajax 技术,为了在不同的平台展示,使用了 Restful 架构等。
InfoQ 中文站:敏捷开发方法在你们的开发过程中有没有得到什么实践?
IceskYsl:目前规模不是很大,使用的不是很多,现在正在 TDD。
熊节:呵呵,只有两个人,一个客户一个开发者,这情况用什么过程都嫌太重。两个人的项目最要紧的是交流。只要双方都明白对方的意思,同时有比较好的编程功底,自己注重代码质量,就不需要什么正式的开发方法。
InfoQ 中文站:类似于用 RoR 开发技能云这样的项目,有什么经验和教训和大家分享?
IceskYsl:Idea 一定要足够的好,且你自己对这个 Idea 有充分的兴趣,自己必须是这个 Idea 的超级拥护者和使用者。必须脱离传统的类似外包项目的模式,否则其中的乐趣你肯定体会不到。
评论