扫盲贴,架构师是干什么的
看了很多帖子了,发现很多人都搞不清楚架构师是干什么的。所以给大家扫一下盲,什么设计模式,MVC之类的这都只是程序设计方面的东西,属于高级程序员要掌握的,跟架构一点关系都没有,因为此架构不是彼架构,程序的架构不是架构师要管的。
你的程序跑在什么平台上,用什么网络,连什么数据库,用什么编程语言等等等等,这些所有东西加在一起就叫架构。这样架构师的职责估计大家也就该清楚了,比如消息传递机制,该用TIBCO的产品还是29west的产品,用不用IBM的message queue还是应该自己实现一个?这就是架构师要选择的。数据库用MYSQL, SYBASE, ORACLE还是像google那样自己写一个,这也是架构师要决定的。
这也是为什么一般公司很少会有架构师这种职位,因为上面的工作在一般的公司里是不需要一个人专职来做的,没有那么多的工作量,一般技术总监,或者项目经理,乃至高级程序员什么的就兼任了,只有像比较大的公司或者研究性质比较重的公司架构师的作用才需要专人担当,因为未来技术的方向是人家决定的。所以比尔盖茨曾经任过微软的首席架构师,你以为人家整天研究设计模式啊,人家要考虑的是未来的操作系统应该什么样,这就是架构。
当然,VISTA很失败,这是另话。