年初的时候做了计划2016新年计划,现在回头来看除了英语还是老样子之外,其他倒是完成的不错,颇有收获的一年。
这一年更多的精力转向技术管理,开发工作也更多的放在系统架构和业务架构上。
今年实施了两次大的重构,很多次小的重构,其中最大的重构就是预订系统的重构了,这个在业务系统重构总结中有详细的阐述。刚开始做重构总是心惊胆颤,怕做不好,怕做了上线会出现很多问题;但想清楚重构能解决的问题,也就不再畏惧了。没经历一次重构,系统就简单一次,到目前核心系统已经精简到近乎极致,在面对复杂业务时有了足够的抽象和扩展性,渐渐消除了年初那种问题漫天飞的情况。
另外也不断的把重构的理念传递给其他人,让其他人渐渐重视及时重构,不断简化系统。大家的工作效率都在不断提升,不再依赖加班解决问题。
今年很多时间放在了系统设计review和code review上。
因为很多原因(如工期短、发code review时间较短)导致发现问题的时候,相关的改动已经比较难做了。之前自己也会想这次先这样吧,后面找时间解决掉。但每次担忧的问题都会发生,甚至想节省的时间一点都没有节省。
每放掉一个问题都是给后面买下或大或小的坑,经历了这些教训再也不愿意放掉每个问题,严格把控系统设计和code 的每个细节,如果有问题就修正,不要等到以后。
年初发生了一些故障,年中又发生了一次严重的故障,另外有个团队发生了不可下单的故障之后,竟然是几天后发现的,几次惨痛的教训让我们下定决定要把系统监控起来,而不再单纯依赖QA测试和用户报bug。
公司有 CAT 的监控中心,为我们的业务监控提供了便利。增加监控主要针对我们自己业务的数据和系统进行日志打点,并使用CAT配置相关规则。有了监控之后,再也不用像以前那样担心系统出问题之后我们还不知道了。不过随着我们业务复杂度提高,系统也在不断增多,需要监控的因素也越来越多了。
以前做优化就像做重构一样,会堆积,会等待,可堆积到最后就成了一次重构。
这一年不断在优化性能和代码,在做优化的时候也不贪多,每次都拆分成小的task来做,小步迭代上线。这些优化task有些是和相关的产品需求一起开发上线,没有相关产品需求的时候就自己优化开发并自测上线。通过不断的优化,开发的效率越来越快,团队处于良性循环之中。
开发效率高了,技术空余的时间就开始多了一些。下半年之后,开始启动一些技术探索,通过技术手段来推动产品的发展。这半年我们陆续启动了商家订单量预测、精细化运营和商家接单助手的项目,都是技术完全主导,有的已经上线,有的还在探索中。
这期间接触了很多陌生的领域,比如数据挖掘,node js等,更重要的是提升技术视野,在考虑问题时有了很多产品的思维,站在业务的角度。
与技术与产品的沟通,与同事和与上级沟通做的都不好;当自己不能说服对方的时候,就觉得自己仿佛对牛弹琴,有时候会很着急,会有不好的情绪。越是这种时候,越不能把信息传递出去,还把不良情绪传递给对方甚至是周围人。