架构师应该编码吗?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caowenbin/article/details/44022027
      架构师应该编码吗?这是个经常出现的问题。

     从题目出发,我们先明确一下题中所指的架构师的范围。由于工作内容的不同,架构师可以细分为很多种,比如系统架构师,应用架构师,产品架构师,企业架构师等等。通常这也意味着各自的技术领域或范畴不尽相同,比如系统架构师会看到软件、硬件等更大范围的内容并决策,应用架构师或软件架构师更偏向于一个应用领域软件的技术决策,产品架构师往往注意力集中在多个产品系列的组合发展问题,企业架构师则更倾向于战略规划和布局而非代码。因此,题目中所指的架构师范围应该是软件架构师或应用架构师,由于二者无明显区别,故在下文中表示相同语义。

     一个软件架构师,有两件事离开不开代码。一是角色本身的经验积累来源于代码,二是所负责软件的开发过程离不开代码。下面分别从这两个角度来分析一下编码之于架构师的重要性。

     众所周知,软件架构师是从开发人员成长起来的,不是一参加工作就任职软件架构师的。正是由于多年在代码上的浸淫,才积累了丰富的设计经验和全面的编码技能。这些经验促成了结构分解的恰到好处,促成了解决方案的知识形成,促成了抽象能力的养成和提高,而分治、知识、抽象这三点恰恰是架构师的法宝。所以,架构师的成长是离不开编码的。
     再看软件开发过程,好的团队,架构师一定是团队中的一员,一定了解核心代码的实现。倘若只是输出几张设计图纸就撒手不管,不再关注工程过程,不再关注代码实现方法,那就会埋下很多风险的种子。对于软件实现过程中的核心框架、核心引擎还是要借助于经验丰富的架构师来把关的,对于新技术的调研与选择,也是架构师要通过测试来降低技术风险的,对于架构的原型验证,也是需要以代码来展现的。因此,架构师不可能代码无关。

     通过这两个环节可以看到,架构师从编码中来,通过构建原型、框架和基础,实验新技术,代码评审等必不可少的编码活动最终完成产品的交付。

     当然,架构师毕竟要对软件结构负责,不能也不应该把所有的时间都用于编码,也犯不着非要给编码与非编码安排个时间比例,谁又能确定一定要百分之几的编码时间才是对的呢?

——欢迎转载,请注明原文出处 http://blog.csdn.net/caowenbin ——
——欢迎关注微信号“曹文斌的软件思考”,共同探讨软件人生——

展开阅读全文

没有更多推荐了,返回首页