阅读笔记5
程序员的迷茫因为长期埋没于软件世界的浩大的分工体系中,无法看清从业务到软件架构的价值链条,无法清楚定位自己在分工体系的位置,处理不好自身与技术、业务的关系所致,所以在这里我想谈谈分工。架构师为了使软件系统更好的服务业务,必然将软件系统生命周期进行拆分,比如分出开发生命周期、测试生命周期、用户访问生命周期、软件运维生命周期。并根据不同的生命周期划分出不同的职责与角色,比如开发人员负责开发周期负责完成软件研发,测试人员负责对开发人员交付的成果进行测试等,于是就形成了分工。一旦分工形成,每一个分工组织都会有自己的价值追求,架构师关注的顶层的价值即软件系统能否支撑业务增长被分工的形式打碎到各个组织中。分工是有其价值的,他使得复杂昂贵的任务可以被简单、并行、可替换的流水线方式解决。但久而久之,价值碎片化的问题就出现了,比如测试人员只关注找出更多问题,开发人员只关注快速开发更多的系统,运维人员只关注保障系统稳定。三者之间常常都只站在自己的立场去要求对方怎么做,没有人再关注整体价值,产生诸多矛盾增加软件实施成本。而身处流水线中的一员,又因为困扰于重复性工作,迷茫于工作的意义,甚至感觉自己做为了人的创意与灵感都被扼杀了。所以我的朋友吐槽我说你写了那么多代码然后并没有怎么样是非常有道理的,那是因为我只关注着做为流水工人的价值要求,看不到生态链最顶端的价值。