培训/知识管理/技术沉淀

我觉得一个团队的知识管理是非常重要的。你要问一个刚入行的新手加入团队希望得到什么?很多人的回答是'学习', 希望自己的技术可以更加精进, 钱倒还是其次。

然而现实是目前很多公司的氛围并不是这样的,一天到晚写业务代码、工作量大、每天做重复的事情,而且还加班,工作多年技术也没感觉有多少进步, 确实会让人非常沮丧。包括笔者也是这样的。

新人培训

如果团队有规范的新成员培训手册,可以节省很多培训的时间,避免每次重复口述一样的内容。培训手册包含以下内容:

  • 产品架构与组织架构. 介绍公司背景和产品,一般组织的团队结构和产品的架构是相关联的。 例如下图:

chapter11_1

  • 产品研发流程: 介绍产品开发和迭代会涉及到的流程、以及团队之间的协作衔接,例如:

chapter11_2

  • 工作范围: 团队成员的职责范围
  • 建立资源索引: 开发需要设计到的资源,比如各种文档地址、研发系统入口(例如gitlab、bug跟踪系统、文件共享、发布平台、开发/测试环境、监控系统)、协作规范等等。将这些资源整理好可以减少不必要的沟通成本
  • 规范: 即本文的主体'前端协作规范'。有规范可循,可以让成员以较快的速度入手开发、同时也减少培训成本投入。

培训手册将可以文档具象化的内容整理为文档,和上文说到的Code Review一样,一些东西无法通过文档来说明,所以我们一般会搭配一个‘培训导师’,在试用期间,一对一辅导。

营造技术氛围

  • 鼓励成员写技术博客,或者建立自己的团队专栏.。写一篇好的文章不容易。

  • 鼓励参与开源项目

  • 建立面试题库 组织一起解一些面试题或算法题,加深对知识点的理解。

  • 定期的专题分享. 鼓励团队成员定期进行专题学习和研究,编写技术博客,并将学习的成果分享给其他成员。这是一种抱团取暖的学习方式,旨在帮助团队成员一起学习和成长。

​ 比如开发老手可以分享自己的经验,研究更深层次的技术;新手则可以研究某些开发技巧、新技术,例如CSS Grid,svg动画等等。推荐团队成员有个明确的研究领域,这样分工合作可以学习到更多东西。

专题怎么来?

  1. 专题请求. 可以请求其他成员完成专题,比如比较深的知识,可以要求团队比较有经验的进行学习分享。
  2. 学习总结。
  3. 项目回顾。
  4. 难点攻克。
  5. 项目规范。
  6. 工具使用。
  • 落实和完善开发规范. 规范本身就是团队知识沉淀的一种直接输出。

  • 图书分享. 和离散的文章或教程相比,图书的知识会比较系统,另外很多经典的图书是要静下来好好欣赏的。

  • 鼓励重构和持续优化代码

  • 抽象一套基础库或框架,减少重复工作, 提高工作效率。不加班先从提高工作效率开始。