学习和复习系统内部:策略和心理学 ——杰克·范利特

主要观点:分享学习和审查分布式系统内部及协议的技巧和心态,包括背景学习、学习者/审查者心态、心理模型与抽象、写下来、避免自负、明确理解层次、测试理解与立场、制作模型、亲身体验以及克服分享恐惧等方面。
关键信息:

  • 学习和审查不同,前者较易,后者需结合意见等更主观;两者相互交织,分享能促进理解。
  • 背景学习要广泛阅读,从书到论文博客,先了解全貌再深入。
  • 工程师应具备开放且批判的心态,审查系统时既要学习新方法,也要关注弱点。
  • 利用抽象构建心理模型来理解复杂系统,通过写下来强化理解。
  • 要保持谦逊,认识到自己可能存在错误,多与他人交流弥补不足。
  • 测试理解可通过与他人分享、与系统设计者交流、制作模型等方式。
  • 克服分享恐惧,以开放心态接受他人批评,展示成熟。
  • 开始学习可从背景阅读和与工作相关的系统学习入手。
    重要细节:
  • 阅读时遇到没经验的领域先看书,有经验的领域侧重工程论文和高质量博客。
  • 早期接触 Jepsen 测试培养了健康的怀疑和批判思维。
  • 构建心理模型时从高层开始,结合代码和与人交流。
  • 写下来能帮助理解复杂系统,正式或非正式的评论方式皆可。
  • 与系统设计者交流能测试理解,找出自己的错误。
  • 制作模型能将被动理解转化为主动实现,发现理解的差距。
  • 亲身体验系统能加深理解,如运行系统、查看日志等。
    推荐阅读:可通过 Google 搜索找到分布式系统阅读列表,如[https://github.com/asatarin/t...],开始时可阅读[Database Internals],Martin Kleppmann 的[YouTube playlist]、[Data Intensive Applications]及博客,还有[Marc Brooker]、[Mahesh Balakrishnan]、[Phil Eaton]以及[Jepsen analyses]等。
阅读 14
0 条评论