5 个程序员,3 个多月时间,30 多万行代码,1000 个 bug,只为打造卓越产品。
开发历程
先简单介绍一下产品。我们的产品叫 “粉笔网”,这是一个新颖的学习社区。我们公司的创始人是前网易高管 李勇。我们团队从 4 月份开始筹备,5 月份开始工作,整个开发历经 3 个多月,其中网站于 8 月 28 号顺利上线,iPhone 客户端 和 Android 客户端 于 9 月 8 日顺利通过审核上线。
对于互联网行业的功能开发,项目延期是很常见的,但是我们的程序员虽然只有 5 个人(后台 2 人,Web 前端 1 人,iPhone 端 1 人,Android 端 1 人),但整个项目(包括 Web 网站,iPhone 端和 Android 端)都顺利地在 3 个多月完成了开发和上线。我觉得这里面主要得益于团队成员之前默契的配合,以及用 scrum 让我们的整个工作安全紧张有序,但是又不慌乱。
在这三个多月里,我们制定了紧张的时间安排。我们一开始就知道任务很重,所以,我们定制了合理的加班计划。简单来说,就是 6 乘 11,即工作 6 天,每天 11 个小时(早上 10 点到晚上 9 点),每个月的最后一个周末,我们可以双休。在工作时间上,我们每周的工作时间是 66 个小时,比正常的每周 40 个小时的工作时间,多了 50%,这基本上达到我们的精力极限了。
但加班并不是我们期望的长期的工作方式,所以在 8 月 28 号产品正式上线后,我们即恢复了早 10 晚 7 的正常每天 8 小时的工作时间。
以下是我们整个项目的进展图,我们每周一个 sprint,每 3 周一个 Milestone,需求在中间经历过一些变动,但都是在对项目进度的影响在可控的范围内。
代码总结
回顾我们团队这 3 个多月的代码贡献,可以用惊人来形容。除去第三方的开源库依赖,后台写了将近 10 万行代码,前端 8 万行代码,iPhone 端 7 万行,android 端 7 万行。一共 30 多万行代码。
以下是用 gitstat 软件 统计出来的代码增长图,首先是 web 前端和后台,它们在一个项目里面:
然后是 iPhone 端:
创业感受
我在经历了 2 年大公司实习,2 年半大公司工作后,现在在这样一个创业期的小公司工作。我感觉到最明显的差别是工作效率上的。我们的团队很小,所以我们的交流沟通很多时候都只需要扭头喊一嗓子就行了,对于一些架构设计的讨论,很多时候都是在饭桌上以及午饭后晒太阳时进行的。我们没有各种设计评审会议,接受合理的需求变动和改进,最大限度地保证产品按期完成而不是延期。
在 8 月 28 号 Web 版 (http://fenbi.com) 上线后,我们保持了每周一个迭代更新的速度。每周一个 scrum 相当刺激,除去开 scrum meeting 和上线的时间,留给我们的开发和测试改 bug 的时间只有 4 天左右。大家每天都非常有活力地工作,但是,我们却保证了严格的 code review 制度,所有提交都会汇集到 gerrit 上进行 code review,通过之后再由 gerrit 自动 merge 到工作分支上。
很多人说,创业公司每个人都是多面手,但我们的团队更强调每个人都能精通一方面,成为某一方面的专家。所以,我们会抽时间去一起阅读 redis 代码,读 amazon 关于 dynamo 的论文。我们希望我们的技术成长能够跟上公司的成长速度,在各方面都积累。只有这样,当有一天,由于用户大量增长带来服务器访问压力时,我们能够从容地提出解决方案,不至于象京东那样搞个活动就把系统搞挂了。
我们也把大公司的好习惯带进了创业公司,比如我们强调 wiki 的撰写。wiki 相比文档来说要敏捷很多,我们只写别人需要看的和重要的信息。比如我们对于系统的所有接口设计,代码规范,美术设计流程,上线流程,部署方案,每次 scrum 的总结等。这样一个新人进来之后,他很容易从 wiki 上找到他需要的信息而不是靠我们口口相传。又比如我们会做 code review 和持续集成测试,客户端会做 daily build,这些都是非常规范的。
总结
回想这几个月的经历,感觉最大的收获是能够和一帮志趣相投的人一起快乐的工作。我想,创业的风险是相当大的,如果我们最后成功了,我们将摆脱基本的财务压力,追求更高的理想,但即使这个创业项目最终失败了,我相信我们的团队也能够凝聚起来,迎接下一份挑战。
题外话–招聘
嗯,是的,这部分就是一个广告。我们希望有更多的产品、技术同事加入我们。
我们能提供的
由于有风险投资,我们的创业一点也不苦逼。我们的工作地点远离码农离散地中关村和五道口,座落在高富帅云集的 CBD 朝外 SOHO,我最大的体会是即使是上下班高峰期,这里的 10 号线也常常也很宽松,不会象五道口那样使劲挤还挤不上去。我们的技术配 27 寸的 iMac(也可选择 21.5 的 iMac 加双显),我们有食品间提供免费的可乐、加多宝,茶叶,水果。我们也有每周一次的羽毛球俱乐部。中午吃完饭觉得困,我们有 4 个沙发加一个躺椅可供休息。
我们的公司才刚刚成立不到半年,产品上线后反馈很好,我们也不缺资金。这个时候加入我们,你可以得到不输于一线互联网公司的待遇,加上一个在回报上无限可能的期权。我们的初始技术团队都有过多年大公司的工作经验,所以在这里你可以学到大公司的好的一面(包括规范的 scrum 开发,code review,wiki, 代码规范和追求代码质量),又可以享受创业公司的灵活(几乎没有会议,高效地沟通)。
我们的要求
由于我们整个团队有极强的代码洁癖和编码热情,我们也希望找到符合团队气质的人。我们不希望招那种把编程仅仅当做一份工作的人,因为我们认为,兴趣是最好的老师,对编程没有兴趣的人,是不可能把工作做到卓越的。
所以,如果你和我们一样,对编程这件事情上抱有热情的话,希望你能邮件联系我们的 Tech Leader 郭常圳: gcz(at)fenbi.com 。如果你能附上一段你放在 github 上的开源代码,会让我们更加充分了解你,当然如果没有也没关系。我们相信,社区代码是价值,商业代码也是价值。
我个人主要负责粉笔网 iPhone 端的开发,我非常希望能够找到一个 iOS 开发的同事能够相互交流和学习。我不期望你是一个 iOS 大牛,甚至你现在完全不会 iOS 开发也没关系,但是希望我们能够一起成长为 iOS 开发的专家。
另外,我们对于 Linux 系统管理都不太懂,特别希望能找到一个系统管理高手加入我们团队,我们乐意向你学习。同时,如果你对学习开发有兴趣,那就太好不过了,我们的目标是 DevOps。
我们也欢迎实习生申请加入,但要求每周至少全职实习 4 天。