热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

谈谈感受

5个程序员,3个多月时间,30多万行代码,1000个bug,只为打造卓越产品。开发历程先简单介绍一下产品。我们的产品叫“粉笔

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



推荐阅读
  • 出现_史上最大漏洞出现,你的安卓iPhone电脑都不安全了!
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了史上最大漏洞出现,你的安卓iPhone电脑都不安全了!相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 博客_2018年博客总结
    本文由编程笔记#小编为大家整理,主要介绍了2018年博客总结相关的知识,希望对你有一定的参考价值。前言     ... [详细]
  • Spring MVC 浅谈
    大学时写的的文章,当时文章水平略差,大家见谅。MVC这个词儿,最早的定义应该是作为一种软件架构设计模式出现在软工里面的,即使用model、view、controller来设计及定 ... [详细]
  • 【Java编码规范】《阿里巴巴Java开发手册(正式版)》发布!
    2019独角兽企业重金招聘Python工程师标准2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Ja ... [详细]
  • 计算机专业如何高质量地走完大学四年?毕业轻松拿到 Offer!
    有些同学毕业时,很快能找到工作,人称OFFER收割机,而有些同学经历完秋招\春招,一个OFFER收不到。有些同 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
    前言最近看到很多应届生晒offer,稍有名气点的公司给出的价格都是一年30多W或者月薪20几k,相比之下工作几年的自己薪资确实很寒酸.根据我自己找工作经历,二线城市一般小公司招聘 ... [详细]
  • Unit4博客&课程总结Unit4作业的架构设计本单元作业的设计我分为了三个模块处理:模型构建+预处理+任务函数,前两部分即为整个图的完整构建,第三部分即为实现题目要求的查询方法。 ... [详细]
  • 数据库异常智能分析与诊断
    数据库,异常, ... [详细]
  • 分布式架构_MyBatis整体架构分析:分布式架构演进+相关笔记参考
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了MyBatis整体架构分析:分布式架构演进+相关笔记参考相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
临临临峰_547
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有