你好,我是成敏。技术体系建设是每个 CTO 都需要关注的话题,但技术体系建设很难像技术工程建设那样,得出一个最佳实践。因为每个公司的背景、业务形态、组织结构,甚至 CEO 性格都有所不同,而这些因素都会对技术体系的建设产生影响。

今天就简单的以公司规模大小为划分标准,分析在不同规模下,技术公司的业务特点,以及要做好技术体系建设可能面临的困难。

第一个阶段:十人左右规模

当公司规模比较小的时候,比如还处在初创阶段,这时公司可能只有十几人,机器也只有十几台,规模很小。在这个阶段,公司的需求变化通常会非常快,甚至可能还没有确定业务的主营模式。很有可能公司今天尝试某个方向,结果发现此路不通,第二天就转换方向,试行另一个方向。

其实,不少创业公司就是在这样的快速迭代,不断试错中找到了自己的爆发点。

这样需求变化快且业务模式难以固定的团队,对团队成员技术栈宽度的要求会非常高。比如研发岗位除了做好研发工作外,还需要承担测试、上线等工作,甚至之后的运维也需要他们来负责。再比如,这时的 CTO 不仅要把控技术方向、管理技术团队,还得上手写代码,更有可能还要去机房看机器情况。

因此,在这个阶段,公司会更看重研发人员的单兵作战能力,之前很流行的全栈工程师正是在这样的需求下应运而生。同时,在这个阶段,团队往往有着非常高效的沟通效率和执行速度。可能有个需求提出来,团队几个人周末加个班熬一下,周一就能上线了,非常快。

当然,这个阶段,团队的问题在于,一是团队的技术天花板会受限于单兵的技术水平;二是缺乏人才储备、规范化程度也比较低,一旦有人离开,就会极大的影响研发进度;三是技术成本投入很难实现规模化。

第二个阶段:五十人左右规模

这个阶段,公司稍微有点起色了,团队规模也达到五十人左右,机器也能有一两百台的规模。

这个阶段,公司的业务主体已经比较明确,但需求变化加快,可能比之前初创期来得更快。团队在这个阶段开始有了明确的分工,但未必有分组,比如运维工作会招一两个专职的运维来负责,不再由研发兼任,但还没法形成专门的运维团队。

在流程上,公司开始关注协同及规范,只是整体的流程规范依旧比较简单,自动化程度比较低,协同比较松散。这个时期,内部沟通依旧会比较顺畅,只是需要警惕不要让公司陷入到作坊式作战的陷阱中去。

第三个阶段:百人左右规模

这个阶段,团队规模一般能达到上百人,机器规模也能达到一两千台。一般到了这个阶段,公司的主营业务已经相对稳定,也开始做 1-2 年左右的规划,因为如果没有一个稳定的主营业务,创业公司也很难进入这个梯队。

这个阶段,业务需求仍然大于技术资源,而技术和业务上的分组都已经开始产生,除了基本的分工之外,会有一些明确的分组去负责明确的事情,比如 A 团队就负责 A 这个业务线,B 团队就负责 B 这个业务线。

在这个阶段,公司也会更重视流程规范,会尝试利用开源工具完成最原始的自动化,团队成员的自主性、自我驱动力也会非常强。其实在第一个阶段,初创团队成员的自我驱动力也非常强,但由于单兵作战,这种驱动力产生的成果往往不具备规模效应,一个人又管研发、又管上线、又管运维,即使他基于流程痛点写了个小工具,节省的也只是自己一个人的时间。

但在第三阶段,上百人规模的团队已经初步具备规模化的效应,比如针对流程写出符合团队需求的工具,在技术上做点有意义的事情,产生的影响力很容易就会扩散到整个团队,提高整个团队的效率。

当然,这个阶段也会存在问题,如人员梯队开始明显化、沟通壁垒开始出现等。毕竟整个公司有一两百号人,每个人的能力、认知等各方面都会有比较大的不同,又不像小团队那样可以坐在一起面对面沟通,很容易出现沟通上的问题,导致沟通效率下降。

第四个阶段:五百人左右规模

这是很多中等公司所处的位置。这个阶段,公司业务已经相当稳健,团队规模一般会达到五六百人,机器也能有三五千台,也有能力做 2-3 年左右的中期规划。

这个时候,公司一般已经有了独立的技术服务团队,也就是除了简单的分工、分组之外,公司还会有一些专门的技术团队专门为内部其他团队提供支撑服务,比如内部的工程效率团队等。

在这个阶段,公司需要尤其注重人员培养机制和梯队的建设。一方面,对这个阶段的公司来说,人员流失是一个非常大的问题;另一方面,与大公司相比,这类中型公司的技术影响力与人才吸引力都比较弱。因此,想要公司更上层楼,就一定要打造好人才培养机制和梯队,加大加深公司的人才储备池。

另外,在技术层面,这个阶段的公司还会面临两个问题,第一个是技术债务的归还,在目前业务比较稳健的情况下,要不要调整或重构用了几年的老系统。

第二个是技术路线的争议,团队小的时候,大家可能没想那么多,只要系统能跑就好了,但到了这个阶段,不同的语言、框架、架构各有利弊,团队成员也各有偏好,到底如何做技术选型,就成了这个阶段的一个问题。甚至曾有团队为了确定选择哪个框架,连续开了两次会还没有讨论清楚,耗费了时间与组织技术资源。

当然,还有技术上的重复建设,跨团队的协同沟通等都是这个阶段需要面对的问题。

第五个阶段:两千人左右规模

这个阶段,公司规模一般已经超过两三千人,机器也有几万台。这个阶段的公司,一般已经拥有完备的技术体系和人才体系,也有足够的资源建立前瞻性的技术研究团队,能够应对未来至少三年以上的长期规划。

对于这个阶段的公司,会更注重技术文化的建设和价值观的传递。另外,在这类大型公司里,很容易出现业务分工上的问题,毕竟各个团队之间的职能范围、业务范围有重叠,团队间的竞争在所难免。这种竞争关系,一方面能够调动员工积极性,促进公司业绩,但另一方面,也会带来技术损耗,甚至形成政治壁垒。

最后,对这类大公司来讲,最重要的就是要做好长线规划,否则一旦遇到问题,很难在航行中调转方向。

小结

本文将技术公司按照规模大小简单分成了五个阶段,每个阶段的特点和面临的问题都各不相同,不知道你所在的公司目前处于什么阶段呢?当前面临的最大的问题又是什么呢?欢迎留言与大家分享。

感谢你的收听,我们下期再见!