2018年已经悄然到来,回望过去一年,收获很多,感恩很多。未来一年,内心充满了期待,无论是工作还是生活,将会发生很大变化。大年初一的晚上,将自己的所思所想记录下来,与大家分享,激励自己18年更努力。
我目前就职于小米,在『小米网智能客服项目』从事开发工作,项目主要包含在线客服、智能机器人、智能数据分析三大块,另外还包括热线、邮件、工单等模块。
16年3月份,我加入这个团队,当时就4个人,每个人负责多个子项目。经过了解,项目初期想做的功能很多,设计的比较大,很多人投入进来,形成了很多个子服务。所以17年上半年之前,我一直在维护项目,解决线上的一些问题,实现业务的一些小需求。另外,当时小米的管理比较扁平化,项目管理和团队管理也不是很规范,自己也比较松散,技术和团队协作能力提升的都比较少。
17年下半年,小米发展增速明显,国内和国外的业绩都有了很大提升。管理上也开始重视起来,招了很多项目经理,『小米网智能客服项目』有了产品功能规划,开发团队也慢慢扩大,慢慢变得好起来。
还有一点对我影响很大,我们团队的开发负责人,17年中旬加入进来,有10多年的开发、管理经验,从他身上,在任务规划、执行力、团队协作上学到了很多。
下面从主要工作、线上问题处理、规划执行能力、家庭几个方面总结自己过去的一年。
我主要负责在线客服,使用到的主要技术点:
使用到的主要框架和组件:
在线客服最重要的一点是保证用户和客服能够在线沟通,类似于IM。现有系统缺少消息确认、重发机制,多终端消息同步也不支持,17年在技术负责人的指导下,重构了『在线实时聊天』模块,进行了抽象,变为通用的『消息平台』:
有点遗憾的是,17年下半年规划需求比较多且比较紧急,人也比较少,没能够正式上线,18年一定要推进上线。
前面说到,项目有很多子服务,每个服务maven的配置都很相似,更新维护都要修改所有的服务,不是很方便。经过调研和思考,决定将公共的依赖、版本声明、构建过程、maven插件统一管理,抽象出一个parent pom。
maven本身就支持parent pom,每个子项目只需声明下继承父pom,就可以直接声明需要的依赖,不需要再声明版本,构建过程。
另外,将公司其他组的一些工具类,也声明在父pom中。客服项目特有的一些工具类移到父pom所在项目,并在父pom中声明。
因历史原因,国内和海外代码分支是不同的分支,海外的功能较国内相对较少,而且海外有近1年未更新了。一次,业务提出一个海外需求,该需求在国内分支已经实现。经过确认,海外有的功能,国内都有,而且交互和操作都相同,只是一些基础存储组件不同。最终决定,合并国内和海外分支,方便以后功能扩展,节约开发时间和维护成本。
升级过程熬了2个通宵(不是连续的),过程在此就不详细描述了,简单总结下:
相信大部分团队都在使用git进行代码版本控制,但真正用好git,多人协作开发一个项目,需要规定一套工作流规范。
我借鉴网上比较流行的git flow规范,形成了相关规范,对各种场景的使用进行了说明,并做了一次分享,现在已经在项目中试运行,明年会加强推进。
扩展阅读:
问题处理也是很重要的能力,更能提现一个人的能力,遇到问题时,首先不要排斥,它是提升自己能力的一个机会,问题解决后,要进行总结回顾,下次遇到相似问题时可以快速定位和处理。
17年遇到了不少问题,下面列举2个问题总结(当时总结的)。
从团队负责人身上,获益最大的就是规划执行能力,让我做事有条不紊,有始有终,更充实、更有效。
下面分享下我们团队和我的规划执行过程
我严格执行了上面的过程,获益良多。
篇幅原因,就不多说了,总结两点:
我会深入学习以下相关技术:
18年,我将带个小组,多花精力在管理上,阅读相关数据,向身边优秀的人多学习,加强小组、部门间的协作沟通。
3月份,我的宝宝就要出生了,我会多花点时间学习如何与她沟通。 老婆会更辛苦,我会多包容她,陪着她。
欢迎扫描下方二维码,关注我的个人微信公众号,查看更多文章 ~