zoukankan      html  css  js  c++  java
  • 为什么你总成为不了架构师?

    为什么你总成为不了架构师?

     

    背景:

    今天接到一个哥们儿的电话,说,非常郁闷,想和我聊聊。

    我问,有啥郁闷的事情啊,说来听听。

    他说,近期非常郁闷,我本来今年的计划是成为一个架构师,可是,不管怎样努力,都不知道为什么,感觉希望非常渺茫...

    这哥们儿事实上是一个非常努力的家伙,以前是我Team里技术最好的程序猿,对一个技术不钻明确不罢休的那种程序猿。

    我给他电话里说了说我一直想说,但一直都没有时间说的话,那就是:为什么你总是成为不了架构师?

    一、什么是架构师?

    事实上架构师的概念并非从程序开发专业一诞生就有的职位概念,架构师(Software Architect)仅仅是近期几年提出来的一个职位,貌似Software Architect的概念是IBM提出来的。然而,架构是什么样的一个职位,就像云计算一样,看起来非常美,可是,每一个人都有自己的理解。

    非常多人觉得,架构师就是系统分析师,是拿到系统需求进行分析的人,错!假设系统仅仅是系统分析,那么架构设计谁来弄?

    有人觉得架构师就是架构设计的人,画画UML,写一写文档之类的人,错!画UML就是设计吗?绘图的人有了,设计的人是谁?

    还有人觉得架构师是从属于项目经理,仅仅管设计,而没有不论什么权利的人,错!假设设计的决策权交给项目经理,那么这个设计是有分量的吗?

    架构师是什么?

    我们先不回答,我们先来看看在架构师概念出现前的一些职位提法。

    在架构师概念出现前,微软是我们大多数软件企业的研发机构设置的样板,当时比較流行的职位搭配是——技术经理+项目经理。

    ok,当然也有非常多企业实际上,技术经理和项目经理是一个人。

    也就是大多数企业当时是採用的开发主管负责制,即:技术+团队+项目,的负责人。

    当我们把“项目经理”剥离出开发,仅仅对项目进度以及为项目推进而排除各项外部障碍时,事实上负责开发技术和开发团队的人就是“技术经理”了。

    假设,我告诉你,之前所谓的技术经理事实上就如今的架构师,可能我们大家就更easy理解了。

    没错,就是这种,假设“架构师”的设计失去了“发言权”、“技术方向的决策权”、“团队人员的开发资源调配权”,那么我们能够想见,这个设计是多么的无力!!

    因此,什么是架构师?

    架构师是具有技术发言权,方向决策权,和团队人员开发资源调配权的开发团队的TeamLear,也是这个程序的设计者,当然他是这个程序团队的灵魂!!

    因此,不想当Teamleader的程序猿,绝对不可能成为真正意义上的架构师!

    同一时候,不是Teamleader的架构师,也是一个被架空的,苍白无力的架构师!

    二、怎样才干用架构师的思想去思考?

    架构师,假设仅仅是把需求变成程序,那就不是架构师,那是叫“照着葫芦画瓢”。

    架构师,假设仅仅是精通各种框架,比方SSH之类的技术,仅仅是利用SSH之类的技术去描写叙述用户提出的需求,那是叫“用SSH画瓢”。

    ok,不卖关子,那么怎么思考就是架构师应该去思考的方法?

    首先告诉你,进行没有设计的架构设计叫架构师吗?

    这种情况在软件行业内太普遍了!!

    为什么没有设计?

    由于,非常多人都不懂什么叫设计!!

    给大家一个概念,什么是设计?——

    设计因未来而存在!
    ——钟声 2010年6月

    没有面向未来的,仅仅是面向过去的,那绝对不是设计,那绝对仅仅是模仿!!

    设计因未来而存在!!

    即,没有创新,就没有设计!!

    即,没有改变,就没有设计!!

    用进化论去思考你的设计!!

    让你的设计超越一切理论!!

    设计仅仅是记忆的载体而不是记忆的所有!!

    事实上程序猿是艺术家,而不是建筑工人!!

    那么,为什么你总成为不了架构师?

    不要仅仅从技术的角度出发一味的依照自己理所当然的方向去努力,要学会用设计的思想思考,并努力让你自己成为有分量的人!!

    我的微博:http://weibo.com/useway

    钟声,《Java程序猿,上班那点事儿》作者

    2012-2-16 0:02

    谢谢大家!!

  • 相关阅读:
    VMware WorkStation 用 VMTools 官方下载地址 windows-vmtools tools-windows
    LeetCode Golang 9.回文数
    CentOS6.5中配置Rabbitmq3.6.6集群方案
    python之lambda、filter、map、reduce的用法讲解
    跨主机容器之间通信实现方式:etcd+flanned
    mongo3.4安装
    centos 时区的更改 UTC TO CST
    Elasticsearch5安装
    docker1.*.*版本安装
    使用weave来实现多宿主机中的docker容器之间通信
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3816232.html
Copyright © 2011-2022 走看看