最近做项目碰到了不少问题,感觉很多的问题都是团队配置不合理带来的。所以就思考了一下如果我是leader,在最理想的情况下应该如何配备一个技术团队。
首先,我觉得一个团队中最重要的是一个精通业务并熟悉通盘技术的架构师,这也是我们目前最痛苦的点,没有一个好的架构师导致项目架构混乱和各种不合理需求被堆砌到项目中。他的主要职责应该是:
- 能对整个业务进行合理拆分,保证各个模块之前尽量不耦合,而不是向我现在正在做的项目,大量的时间发费在各个模块的联调之间。
- 能对产品提出的需求的合理性进行评估,具备剔除不合理需求和识别需求中的坑的能力。
其次,主力程序员(非前端)有3到5个最好,可能是受限于个人眼界和能力,感觉人多了效率貌似反而下降了,大家的沟通成本和联调成本都在大幅度提升。对主程的要求: - 最重要的是基础好和具备基础的英文的阅读能力。具备这两项能力基本可以保证快速上手一项技术,对着文档就可以撸业务。
- 具备一两个技术精通点,如服务端网络编程和中间件、数据库、大数据和NoSQL、分布式架构、分布式计算、搜索、人工智能、图形学、安全等领域。
这样三到五个主程基本就可以保证整个业务的大多数技术点都能有主程完全负责,而且当某一个模块需要其他人辅助时其他人(基础好)也可以在该主程的指导下快速上手该技术。