培训/知识管理/技术沉淀
我觉得一个团队的知识管理是非常重要的。你要问一个刚入行的新手加入团队希望得到什么?很多人的回答是'学习', 希望自己的技术可以更加精进, 钱倒还是其次。
然而现实是目前很多公司的氛围并不是这样的,一天到晚写业务代码、工作量大、每天做重复的事情,而且还加班,工作多年技术也没感觉有多少进步, 确实会让人非常沮丧。包括笔者也是这样的。
新人培训
如果团队有规范的新成员培训手册,可以节省很多培训的时间,避免每次重复口述一样的内容。培训手册包含以下内容:
- 产品架构与组织架构. 介绍公司背景和产品,一般组织的团队结构和产品的架构是相关联的。 例如下图:
- 产品研发流程: 介绍产品开发和迭代会涉及到的流程、以及团队之间的协作衔接,例如:
- 工作范围: 团队成员的职责范围
- 建立资源索引: 开发需要设计到的资源,比如各种文档地址、研发系统入口(例如gitlab、bug跟踪系统、文件共享、发布平台、开发/测试环境、监控系统)、协作规范等等。将这些资源整理好可以减少不必要的沟通成本
- 规范: 即本文的主体'前端协作规范'。有规范可循,可以让成员以较快的速度入手开发、同时也减少培训成本投入。
培训手册将可以文档具象化的内容整理为文档,和上文说到的Code Review一样,一些东西无法通过文档来说明,所以我们一般会搭配一个‘培训导师’,在试用期间,一对一辅导。
营造技术氛围
鼓励成员写技术博客,或者建立自己的团队专栏.。写一篇好的文章不容易。
鼓励参与开源项目
建立面试题库 组织一起解一些面试题或算法题,加深对知识点的理解。
定期的专题分享. 鼓励团队成员定期进行专题学习和研究,编写技术博客,并将学习的成果分享给其他成员。这是一种抱团取暖的学习方式,旨在帮助团队成员一起学习和成长。
比如开发老手可以分享自己的经验,研究更深层次的技术;新手则可以研究某些开发技巧、新技术,例如CSS Grid,svg动画等等。推荐团队成员有个明确的研究领域,这样分工合作可以学习到更多东西。
专题怎么来?
- 专题请求. 可以请求其他成员完成专题,比如比较深的知识,可以要求团队比较有经验的进行学习分享。
- 学习总结。
- 项目回顾。
- 难点攻克。
- 项目规范。
- 工具使用。
落实和完善开发规范. 规范本身就是团队知识沉淀的一种直接输出。
图书分享. 和离散的文章或教程相比,图书的知识会比较系统,另外很多经典的图书是要静下来好好欣赏的。
鼓励重构和持续优化代码
抽象一套基础库或框架,减少重复工作, 提高工作效率。不加班先从提高工作效率开始。