Transcript Topcoder的介绍
Topcoder的介绍 刘冰珣 topcoder的简介 • topcoder是一家管理程序设计竞赛的公司, 每周定期举办相应的线上程序算法竞赛比 如SRM(single round matches),以及设计 和开发比赛等。这个过程中产生的有用的 软件由topcoder进行销售。参与创作的开发 者会根据软件的销售情况获得报酬。一些 在竞赛中产生的软件实际上并不能直接投 入使用,则由赞助公司来给予相应的报 酬。 Topcoder竞赛种类 • 1.算法(长达两个小时):给参加竞赛的人几个算 法问题(通常是3个),在75分钟内正确解出尽可 能多的问题。 • 2.设计(长达一周):给参加者一些用户需求,让 他们将其转化为可用的软件设计说明书。他们的成 果将被真实的标准来检测其正确性和实用性。 • 3.开发(长达一周):给参加者软件设计说明书, 让他们写相应的软件组件部分。评判标准是组件部 分的功能和参加者的编码风格。 • 4.马拉松比赛( 长达一周):给参加者一个特别难 度的算法,评分标准是电脑评判成果是否适用于相 应问题。 竞赛流程 选 题 编 码 攻 击 测 试 评 分 算法竞赛 • 算法竞赛从2001开始举办。每个SRM都包括四个阶段: • 1.coding • 75-85min 参加者用C++,Java,C#,or Visual Basic。每个问题由 简单问题,中等问题,困难问题组成。困难程度由题目分数表 示,通常为250、500、1000。 • 2.challenge • 参加者可以提交一个构建数据使得其他竞争者的输出产生错 误,这就是challenge.挑战者挑战成功可以得到50分,失败则要 扣除25分,被挑战的参赛者结果没有出错不得分不扣分。每个 成功的挑战都会被加入系统测试阶段的一系列测试中。 • 3.system-testing • 每个通过challenge的问题将被测试,如果参加者的解决方案无 法通过测试,则这个问题的得分为0. • 除此之外,rating也是考察参赛者表现的参数之一。 设计和开发竞赛 • 设计和开发竞赛让参加者可以竞争完成具 有使用性的组件和应用,或者是承包第三 方。竞赛时间长达一周,可选Java或者.NET 组件,每周上传新的组件。开发组件是在 之前组件设计比赛中的一般性组件。 马拉松比赛 • 比普通的算法比赛里更复杂规模更大的问 题,这个竞赛的比赛形式更加零活,时间 也比较长。 Topcoder的运作 topcoder 将工程项目 分成小任务 审核,测试 整合,运行 申请任务 选出最优 程序最佳状 态 提交设计 设计被 challenge 测试过关 用 户 客户 成功原因 定位明确 商业价值大 速度快,效率高,采用竞争机制 市场交易费用低 成功原因 • 定位明确 • 目标之一是为大公司提供寻找有技术的程序 员,为程序员提供一个展现自身水平的平台。 其目标对象的大学在校生、业余工作者,他们 还期望根据参与Topcoder获得荣誉、工作经 验、能力提升,甚至于进入知名IT公司的机 会。而有比较多的大公司赞助topcoder,希望能 够吸引相当一部分有技术有天赋的开发者崭露 头角。 • 所以Topcoder受到目标即大公司和程序员的热 捧。 成功原因 • 具有值得挖掘的商业价值 • 由于定位准确,即使只有前两名可以获得 奖金,仍有许多用户参与承接工作。因 此,TopCoder在商品采购价格方面实际上低 于其现金价值。 竞赛中开发出来的组件在 被挖掘其商业价值后,由topcoder销售。 成功原因 • 速度快,效率高,采取“竞争性合作”的 模式 • Topcoder将比较大的工程项目分为了很小的 几个部分,提高了速度和效率。它的运作 更像是外包中心,可以让公司分包合同定 制设计和开发任务给竞争者。 • 同一任务由多人完成,通过相互攻击,竞 争,最后得到最好程序 成功原因 • 降低市场交易费用 • Topcoder将服务与商品标准化,每个开发换 届都设计了标准化文档,可以降低沟通成 本。 • 不仅商品标准化,商品质量评估指标也可 以标准化,可以定价并择优采购。甚至可 以采用全球采购降低成本。