互联网创业公司的一年,产品的从0到1

来源:互联网 发布:eclipse php 编辑:程序博客网 时间:2024/04/30 19:06

很多时候我们接触的是成熟的互联网产品,我们大多数人其实不会太关注产品的设计过程,我觉得从一个产品的从0到1的过程也是蛮有意思的。下面我结合我在一家互联网创业公司的经历,从一个菜鸟程序员的角度,具体谈谈我参与的产品从0到1的过程。

结合业务进行技术选型:博主的公司是做中小企业商旅服务,目前最火的和未来的发展趋势当然是微服务设计了。所以我们的整个创业项目也是基于SaaS和云服务理念。采用的是开源的框架dubbox,具体为:spring+mybatis+redis+zookeeper+dubbox,这个框架还是比较推荐用的,一方面在开源社区比较火,用的人多,很多坑别人已经帮我们踩过了,另一方,官方文档还是比较详细的,容易上手。然而什么是微服务?简单说就是一些协同工作的小而自治的服务,它有利也有弊,而且都很明显。好处是有弹性、易扩展、易组合。坏处也很明显,它未必适合于创业公司,服务模块儿化后,你需要更多的人手来负责这个模块儿开发,而且服务单独部署,需要更多的机器,人力来关注维护。往往一个初创公司来搭建微服务框架是比较吃力的。当然博主的公司一开始也有遇到这个问题,由于博主也是第一次接触微服务框架,所以也会遇到一些困扰。初期的代码量更多了,类更多了。哈哈哈,我最初的困扰是实现一个功能怎么需要建这么多类的啊,由于一个服务通常以独立的形式存在与进程中,服务之间通过网络调用,而不是我以前熟悉的通过进程内的调用,所以实现一个功能总是需要注册和依赖不同的服务,由于服务单独部署,所以前期来讲代码量增加很多。当然这个对后期还是有好处的,服务重用性大大增强。这个先简单说到这里,如果你也在技术选型或对微服务有兴趣,推荐你看一看图灵出版的《微服务设计》。这里我只是简单扯扯。选用了微服务设计后,就需要对业务进行模块儿划分了,不同的模块儿建立不同的服务,注意考虑清楚服务的依赖关系。例如我们的业务就划分了10几个模块儿。具体的我就不说了。

无规矩不成方圆,开发规范的制定,由于我是早期的程序员,所以能感受到开发规范的重要性,大家有没有一种这样的感觉,不同工作经验,不同能力的人,写出来的的代码千差万别,有的代码优美容易阅读,有的则是脏乱差。制定适合你的开发规范并有效执行能提高代码的整体质量。

各司其职,每个模块儿的负责人,为每个模块儿找到合适的人选负责具体业务,什么样的员工,能力怎么样,负责什么东西,相信这个是非常需要考虑清楚的,领导的职责就是想清楚这些,然我的职责就是负责这一块儿能高效正确的完成。我相信每个人如果都能做到各司其职,这个事情还是有搞头的。

产品的设计,因为这个产品是从0开始的,一开始谁也不知道这个产品以后会长什么样子,具体会提供什么样的服务,所以会有一些撕逼,当然我觉得这些还是蛮有兴趣的。回想这块儿,真的能感受到创业的不易,因为我发现很多具体的业务,其实很多是团队中没人明白的,要摸着石头过河,而且产品经理从某个具体的业务到制定具体的开发任务,也是需要严密的思考的。我觉得我们程序员还是多多体谅产品经理吧,别人写的需求文档也不容易,因为我参与过产品的谈论,真的从某个具体的业务到需求文档的落地再到开发任务,不是一件简单的事情,很多坑,很多点,产品经理已经帮我们开发想过了。

制定迭代,定个小目标,每次实现一个小目标,我觉得这个不仅仅是对项目的开发,也对个人的学习规划也是适用的。敏捷开发这个东西,其实我不太懂,但是制定迭代任务,并且在固定的时间内,能提交可用的代码,实现部分可用的功能是一个项目稳定成长的关键所在。这个就需要领导制定和抓了。