工作十余年,从事软件开发,百分之九十的时间工作时间和电脑相处。一直以来我认为程序员是少数不需要社交技巧的工种之一。2017年初,我加入华为,这种想法开始变化。
华为公司对应聘人员的要求相对较高,但进入公司后发现每个人负责的领域都很小,个人能覆盖的广度和深度都很有限,每个人负责的工作难度都不大,但通过组织协作,完成了难度非常大的项目工程,让局内人有些惊讶。
华为公司的组织形态非常像蚁群,个体功能和职责很简单,整体可以完成复杂的工作。
公司的运行规则很简单:交付。销售向市场交付,产品部门向销售交付,平台部门向产品部门交付,研发向测试交付,底层软件向上层软件交付…每一层级又被划分为许多模块,大模块又细分小模块,有指定负责人交付。
最有效的工作方式是沟通。每个人都周边有很多依赖,沟通在推进工作占据极其重要的作用,也占用大量时间。
任务驱动式管理。作为一名开发人员,你接到任务后,会有很多周边领域的开发人员推动着任务进展,因为你这个任务的完成情况直接影响到他们自己事务的交付。每个人都是这个项目巨大网络中的一个节点,连接周边数个节点。这样的管理实质是去中心化的管理,个体自我管理,个体间相互协作管理。
这样的公司组织形态让我想到复杂系统:
米歇尔的«复杂»中定义 复杂系统是由大量组分组成的网络,不存在中央控制,通过简单运作规则产生出复杂的集体行为和复杂的信息处理,并通过学习和进化产生适应性。
复杂性科学理论在公司组织形式上可以有很好的应用。或者说现有的公司组织可以以另外的形态存在,比如说网络社群。