我们四个人的研发团队从16年的6/7月份开始做出了一个类似s3的云存储,同时提供文件系统转换使用。目前主要应用是直播和源站存储。

关键词: 无状态 一致性 cas 测试套 lua 协程 性能 燃烧图 hbase/hadoop可靠性 监控告警 lease 远程复制 二阶段提交 双活 go gogdb gotrace 线程池 并发 跨行事务 truetime goofys thrift 负载均衡 mapreduce beam rados rgw jepen raft相关

一段时间的磨合,发现自己并不那么容易的融合到团队中。自我分析了原因:
一自己太过于追求理论和业界的实践学习而其他成员并不那么热衷
所以当提出一个东西的时候很少得到大家的兴趣或者认同。当然现在想来,thrift,测试套,cas类似概念 ,hbase filter的最终引入并广泛使用只是对工作有直接的帮助才容易接受。最后提了个建议,每周做个分享会,把自己要分享或者推荐的思想或方案给大家普及然后讨论细化。
二 团队沟通或者开发流程太过于随意,很不适应。
有了大体的架构设计后,最后到具体功能开发,竟然大多数都是多人就地沟通,而且很多情况下都是一个人在毫无背景的情况下就是沟通,通过不断的试错让正在开发的人来纠正,最后大家才在一起讨论出一个合理的解决方案。提出即使这样的小讨论还是要形成文字,大家有了共同背景然后讨论,才高效
三 个人固执或者无法理解的东西
团队至今采用的是svn,而我采用git-svn适配着,利用git与大家协作。
类似于hbase filter的引入,与leader意思想左,说不紧急,但我顶着压力实现。目前看来大家都在代码中广泛使用。
一些架构设计,一直不赞同。比如基于s3的文件目录加速。
太过于追求完美,其实也不是完美。矛盾。比如goofys异步通知保证文件一致性

1年10个月的开发,目前存储基本可以满足线上使用,但可靠性和性能随着实践越来越走入深水区。
如果可以的话,我希望有一个这样的团队:
1,持续学习的个体,不能固步自封
2,快速开发但设计上追求合理高效美观,simple,but not ugly,反对从不调研按自己最原始的思路去实现。对一个可用的系统,按原始的思路即使是没有经验基于自己的常识,去实现,肯定能成功。但这并不是一个个人应该具有的素质
3,个体互补:快速实现 深入挖掘。但两者不能偏颇
4,需求管理产品经理必须有,即使没有,作为研发我们必须主动去发现。
5,团队必须追求完美,或者不能容忍懈怠,不能容忍错误。 温水煮青蛙的现象比比皆是。

公司层面就不说了。

第一次开始在社区里提交patch,大约总计9个patch吧。
jacobsa/fuse:1/3
gaul/s3proxy:1/1
kahing/goofys:0/3
ceph/ceph: 1/2
感受到了协作的好处。
开始了ceph贡献,但是工作并不能全部专注于这个系统,目前已经利用stap开始研究bluestor代码,计划今年结合社区bug,自己性能优化贡献社区。
说到这儿,倒是发现gluster社区开发好像比ceph更舒服。希望有机会贡献。

8月份报了Andrew NG的dl课程,独立完成了除RNN的所有课程,但是目前还没能融会贯通。在接下里的rnn学习过程20180324-20180408 中,深入实践融会贯通。为AI方面的职业规划做准备。

个人执行力太差,特别涉及个人私下项目和个人生活。
wunderlist 的todo全是过期的。
这个博客的草稿,主要是一些技术的东西,数了下,竟然有146个草稿,如果全部发布,应该是一个不错的博客。
前段日子计划把live-zipline基于master zipline来重构并且迁移中国日历。因为心情或者其他事情,当已搞清代码细节,要开始深入开发的时候,竟然搁置了。而这个任务是与RNN的实践相关。
心情不好就拖延,看电视剧了。
计划很好,但必须有落实的动力和行动力。既然前面已经落后了,希望2018年能在执行力有提高。

强制逼迫自己看了YC的How to Start a Startup,对创业不那么怕了。

2018年的规划

  1. 执行力提升 有标准
    • 锻炼次数 how 统计?
    • 看电视时间
    • todo累计个数wunderlist
    • blog 草稿数
    • side project个数 4
  2. idea-product
  3. AI and tech carrer 4-10
  4. summary last总结整理 :dstore and AI to express
  5. 主动参与社区和沙龙
  6. 技术信息的整理和update
  7. 对想知道的东西多深入一点

v1 revist:

  1. 把知道的present and chanlenge 自己,才有可能说服别人
  2. 重视blog总结,看得学的多没输出基本就忘了
  3. 考虑公司现状团队现状,提出的一些想法都是那么overwhelmeing,当然被否的几率变大。即使看起来很美
  4. 补非科班的短板