请教如何走好通往架构师的路

从业5年,对自己未来的道路同样有着困惑,真诚的求教道友和banq老师,如何走好通往架构设计师的道路?
需要的技能,素质,请给予指教。

理论结合实践,如果是从代码走上来的,要时刻提醒自己拔高,个人体会两个基本哲学观点:
1.划清 做什么(战略)和怎么做(战术)界限,要时刻注意,在进行战略规划时,不要过多陷入战术牛角尖。
2.从事物外部和内部认识它,人认识事物,无外乎从外部和内部认识它,外部是把事物当成黑盒子,搞清楚事物周围环境和关系,属于战略规划部分;内部就是进入事物内部,详细定义,是战术部分。

如果你不自觉多少有这样思维,或理解我的意思,那么应该离架构师不远了。

架构师与专门写PPT方案规划人士区别在于,架构师能够规划,也能够落地,这是做好架构师的难点所在,也是考察一个真正架构师的准则所在。

现在两种人太多,懂理论,懂模式,懂架构,但是实施不能落地,如宇航员;还有一类人,一谈到架构名词,就讨论它怎么实现,陷入无休止的细节,这应该就地球依赖症吧。

架构 vs. 编程

具体来说:架构师要从技术架构和领域建模两个方面入手,掌握面向对象的分析设计全流程,因为OO在不断发展,所以,不断学习能力更是相当重要。

Hi banq老师,
可以给一些具体些的建议么?我也在这条路上奋斗,时而迷茫、时而清晰,恳求指点迷津,可以让我等看到前方的路,谢谢

2010年02月25日 17:30 "dj861212"的内容
可以给一些具体些的建议么

再具体就有很多了,不便展开,重要是视野开阔,知识面广,比如你是C程序员出身,你就要时刻从语言平台高度关注技术发展,Java有什么特点,为什么会有Scala ERLang新要求,等等,这些发展中有必然,了解必然,就能不会陷入C语言这个事物内部,导致不识庐山真面貌。

做了很多系统,写了很多代码是必须的,但是不是成为架构师的必然,需要总结,写博客,经常在Jdon讨论,看看外文资料,了解思想动态,然后反过来对自己过去做的系统进行重构(可以用文章设计形式),这样才能将过去琐碎积累提高,拔高,否则代码经验就是一地鸡毛,都是战术,没有对战略形成支持。

这个过程是一直进行,需要有乐趣,我个人不提倡吃苦,吃苦勤奋做某样事情虽然也有收获,当那表示你已经无潜力可挖,而架构师应该是潜力力量的源泉,你都被苦得快榨干了,别人怎么能从你这里得到甘甜的思想和设计呢?

将架构师作为一种爱好乐趣,抱有可有可无的无为心态,架构师有几个层次,老外语::
当一个伟大的架构师领导开发团队时,开发团队的每个成员都感觉不到他的存在。次一点的架构师是开发团队的每个成员都热爱他,再次一点的是害怕他,最次的是鄙视他。见:软件架构师之道

很有道德经的味道,意思架构师要在技术上要包容,处江河之下,要更多安静聆听周围,而不是自以为很了不起,经常鼓噪训示,要让自己象房子一样内面腾空,这样,才可以装入新家具,如果你自己学得很多,很实在,但是没有腾空,天外有天,好的思想就进不来,你也就是无法进行进步,这就是谦虚、低调的意思。


很有意思,就像在学一门高深的武功,招式很重要,但没有内功的支撑,只是一个花架子。

banq说的很深刻,值得深思,时时刻刻提醒自己。

我感觉架构师的职位很稀少,我们单位就只有项目经理和程序员组成的团队。

2010年03月03日 08:32 "jackhatedance"的内容
我们单位就只有项目经理和程序员组成的团队

一般是这样,项目经理充当管理和架构师两个职责,实际上从管理上也不符合类似OO中细分原则,项目一大一长,容易造成决策监控失控。

其实只有管理功能的项目经理就是一个服务协调角色,是一个管理职位,类似Facade模式;而架构师则有在技术上决策,相当于过去的总工,是一个技术职位。这两个职位合在一起,体现很多公司对软件本质没有认识清楚。也和传统软件教育引导有关。

是啊banq讲的非常好。。人要学会总结,学会计划,掌握大的战略方向。

呵呵,架构师就是不断的取舍,不断的折中,最终选择最优化的组合方案来应对系统的当前以及扩展性需求。仅仅是人人理解,仅供参考。