架构师有毒
前几天参加中国软件工程大会,会场门口有幸遇见张友生前辈,张前辈有力度的握手给我留下的印象很是深刻;会场还听了温昱老师的充满幽默和睿智的关于架构师九大架构工具的精彩演讲,增加了我对架构师的认识。
我是一个程序员或者说是软件工程师,当然,也偶尔会自诩自己是一名架构师。最近我有一个小小的发现,那就是诸多企业招聘高级技术人员的时候总会给岗位冠上架构师的头衔。是啊,架构师是稀缺资源,尤其是在国内。因为稀缺所以高大上,然后技术人员或企业也都趋之若鹜,最后导致自己不是架构师就意味着自己是一名技术水平低的码农,企业不招架构师就显得单位没有雄厚的技术积累,显得没档次。就这样架构师变得鱼龙混杂了,随处可见做了一个Web组件就说自己是在中间件技术上造诣很深的架构师;写过一个支持在线交易的小站就成了精通大规模复杂电子商务的架构师;一生代码行没超过10万行代码也成了资深架构师……就这样,架构师让这些技术人员或企业中毒了,并且中毒很深,深到自身无法发觉且沉溺其中,只能等到毒性发作才能认识到。
架构师毒性之一:脱离代码,架构难以落地。
架构师越来越脚不着地了。别人问架构师都干些什么?回答必是写写方案,设计下软件体系结构云云,如果你要问他写不写代码他一定会跟你急眼。是啊,架构师是何等高等职位啊,怎么能和初级程序员一样码代码呢?就算有几个架构师还的的确确念着写代码,在这种看脸的社会环境下虚荣心开始作怪了,这些架构师们也被迫抛弃代码。于是,架构师把这个高技术开发人员折腾得只会写写文档画画图,码代码的感觉早已离之甚远。如果一个架构师对代码早已不敏感,那么这些文档和图落地的技术障碍一定会越来越多。
架构师毒性之二:只管需求进,架构出。
这里我也只是借用温昱老师在《一线架构师实践指南》里所说的“需求进、架构出”,但两者表示的意思是不同的。温昱老师所说的“需求进、架构出”包括一系列方法体系,包括PA、CA、RA等等,温老师是讲究对需求重新认识和分析的。我所说的毒性是指这些架构师认为需求都已经清晰、明确地表达在需求规格说明书上。是的,架构师通常认为自己所关注的是根据需求文档给出系统的架构,需求分析的事情是系统分析师或产品经理等他的职责,和自己无关。好吧,就这样不懂得分析需求的架构师或者不屑于分析需求的架构师鼻子、眉毛一把抓,照搬需求规格里的约束走,导致系统关键属性没有得到客户的认可,最终未能在质量、成本、进度上面做出平衡,项目失败。
架构师毒性之三:为了架构而架构。
架构师们忘记了为什么要去做架构设计,貌似只是例行公事,一个新需求到了自己的图表、文档工作也开始了。殊不知系统的核心是业务,架构是围绕业务开展的。也就是说,架构师们已经沉溺在写方案、画图表中,忘记了架构设计的初衷,最后导致的结果是需求是一个企业网站,架构师给弄个大规模分布式系统模型;需求是一个小数据量数据分析处理工具,架构师非要上Hadoop。无论如何,这些脱离业务的架构无疑是失败的。
架构师毒性之……
架构师的毒性还有很多,因为架构师在团队里拥有技术决策作用,这些毒性一旦发作对项目或产品来说影响都是灾难性的。但是这些毒性是架构师的属性,没有办法完全杜绝,只能尽量规避毒性的发作。所以说架构师有毒,你一定要不停地修炼去规避毒性的发作。
作者:忆辛,2014-12-09于羊城。