软件架构师职责与作用

重构是好程序员走向架构师的必经之路..非常认同.
重构是代码不断抽象的过程,编程本来就是把具体事物抽象化的过程,不断重构可以让程序更健壮,可读性更高,更重要的是能够拓展自己的抽象思维能力,做架构设计难道不是抽象设计吗,所以重构是必经之路.

话说回来,代码写的少的人通常都还没有养成重构的习惯,所以重构也需要代码量的积累.



其实在一家“请得起架构师”,真正需要架构师的公司里,架构师的职责是:

1. 培养和建立一支核心队伍--基本的skill

2. 对任何解决方案有独立的思考与制作能力,即documentation skill和presentation skill(PPT,VISO)

3. 能够利用UML建模工具对整个工程进行UML建模,然后逆向成框架性代码

4. High Level PoC(Proof Of Concept的缩写),就是预研,不需要开发队伍在开发时碰到什么技术再去攻坚
  了,你已经帮他们完成了

5. 对销前即sales队伍可以进行直接的技术support

6. 精通一个领域就是我上面说的,EAI,SOA,ASP,SECURITY,虚拟,云啦之类的

7. 不要去试图重复造轮子,上面我给你提的几条线有一条完成就够你一辈子用了

8. 架构师要对自己这块领域中涉及到的任何软件,框架了如指掌,比如说:为什么我用spring3+struts1而不
  能用spring3+struts2呢?因为我的客户用的是was6,was6不支持struts2,兼容性不好
  为什么我要用moss而不用ibm filenet? 为什么我要用jax-ws来写webservice而不是axis2?

9. 对客户的解决方案有前瞻性,不是说你用了多少技术多少时间多少新的你认为是新的技术做出一个东西来就
  是好东西。 架构师做出来的东西因该是:
  我设计的这个东西到底能给你公司在这方面省多少人力,比原来提高多少效率,怎么做到的?
  说到这边就有了下面的第10点:

10. 业务领域的精通,保险?银行?CRM?(ERP就滚了吧)
  你能和我说一个银行的核心系统主要是由哪几个业务模块构成的?因为有了业务模块才会有业务应用,因
  为有了业务应用因此才会有应用的解决方案,于是,相关的企业级产品诞生了。



转载于:https://www.cnblogs.com/wala-wo/archive/2011/12/31/5119531.html

你可能感兴趣的:(软件架构师职责与作用)