投身暖心理,搭建技术团队,已经两年了。一直想写点什么,却懒得动笔,现在既然和团队的小伙伴约定,通过分享共同成长,就得有所行动。
正好投资人需要一个技术理念的描述,趁此机会做个总结:
## 技术路线
# 原则
暖心理本身并不是技术驱动型的产品,但产品意图的实现需要大量的技术能力支持,从这个角度看,产品的技术路线原则为:
1.简单既是美:尽可能采用最简单技术方案实现需求,可以兼顾研发速度、可维护性、团队培养等方面的要求;例如:我们采用的后端语言是java,但摒弃了J2EE的架构,甚至不用SSH,而是基于一个很简单轻量的框架Nutz,在实体类的设计上,也采用了多层统一的思路。
2.适度跟进潮流:始终保持对技术前沿的观察,并适度引入对产品研发长期有利的技术;比如后端采用Redis作为分布式session的存储工具,前端采用Vue.js作为MVVM的框架
3.充分使用第三方服务:目前市面上已经有大量优秀的第三方服务, 对于可信赖的服务,应该优先使用,而不是自主研发, 这样可以大量节省研发成本,提升速度。比如我们现在采用了极光推送,短信平台推送,环信IM服务等等。当然也不能完全依赖第三方,当第三方服务出现问题时,也要有对应的风险应对能力。比如,我们也在预研自建IM服务的方案。
4.适度采用项目管理
总体来说, 产品的技术路线是在功能、研发速度、可维护性、团队能力和风险之间平衡的结果,并且随着产品发展不断调整。
# 技术方案
1. 后端采用基于Nutz(Java语言)的轻量web service服务,并且管理员与用户后端分离
2. 前端采用原生app与H5页面相结合
3. 数据库采用MySql
4. 缓存采用Redis
5. 负载均衡采用Tengin(阿里开源项目,基于Nignx)
6. 分布式session采用shiro+redis (之前用terracotta)
7. 服务器部署采用阿里云虚拟机服务
基本架构图如下:
## 团队组建
实话实说,我们作为一家没什么背景的创业公司,还不能吸引第一流的人才加入,但不等于不能做出一流的产品,热情、努力和团队协作也很重要。所以建设团队的基本思路是:
1.态度高于资历:加入团队的成员应当有对技术的热情和解决问题的执着,相比之下,学历和工作时间就不那么重要
2.保持学习:团队成员需要阅读技术书籍,并定期进行技术分享,每个人都需要不断提高自己,并且和其他人共享信息
3.个人责任:团队每个岗位基本上都只有一个人,还有人身兼多职,这个人要充分负担起自己的责任,包括完成工作和与其他人协作的责任,这需要通过不断的磨合以及充分的信任来实现。
目前技术团队一共8个人,其中技术总监1人,后端及web开发3人,安卓1人,iOS1人,测试1.5人,H5开发0.5人 (有1人兼做测试与H5),是比较完整的组合了。
## 研发过程
公司在开发暖心理之前,还曾经开发过两款产品:巧克力减压和掌上减压,它们的后端基础框架是可以通用的,所以暖心理在开始研发前,已经打好了后端基础。
2015-03 ~ 2015-05:1.0版,主要提供心理杂志功能,由于杂志是采用H5页面实现的(便于分享),这个阶段的技术重点在于H5于原生app的交互
2015-05 ~ 2015-06:1.1版,增加了圈圈,提供了互动能力。这个阶段相对简单,主要是实现论坛的基本前后台功能
2015-06 ~ 2015-07:2.2版,专注在提升用户体验,app端大量交互细节的优化
2015-07 ~ 2015-08:3.0版,提供了释梦服务,技术上支持了购买与支付行为
2015-09 ~ 2015-11:3.5版,提供了减压音频及产品优化,技术上支持了媒体播放能力
2015-11 ~ 2015-12:4.0版,提供了轻咨询服务,技术上支持了IM聊天功能
2016-01 ~ 2016-04:4.2版,提供了咨询师客户端,并且为了应对用户量的大幅增长,进行了大量后端优化工作,包括数据结构、数据库查询、缓存、负载均衡等各个方面,最终在IT资源增长1倍的情况下,处理了增长10倍的用户请求
2016-04 ~ 2016-07 : 4.3版,咨询语音版上线
直播即将上线喽...