zoukankan      html  css  js  c++  java
  • 谈谈感受

    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 天。

  • 相关阅读:
    Median Value
    237. Delete Node in a Linked List
    206. Reverse Linked List
    160. Intersection of Two Linked Lists
    83. Remove Duplicates from Sorted List
    21. Merge Two Sorted Lists
    477. Total Hamming Distance
    421. Maximum XOR of Two Numbers in an Array
    397. Integer Replacement
    318. Maximum Product of Word Lengths
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5943851.html
Copyright © 2011-2022 走看看