做个架构师吧

2014-04-29 16:40袁岳
大学生 2014年10期
关键词:首席架构软件

袁岳

很多人在看到“架构师”一词的时候会觉得很陌生,

可你一定知道乔布斯,他的头衔就是首席架构师;

同样假如你有幸与丁磊交换名片,

也会看到他的头衔是网易公司首席架构师,

而不是其他你所熟悉的种种抬头。

似乎悄然间,架构师这一职位变得崇高无比,成为职场上最让人羡慕的职位。

这时候你会更加迷茫些了,是不是只有成为乔布斯、丁磊这样的才能称之为架构师,架构师是不是只存在在于软件技术领域?架构师实际上就是软件的总体设计师。打个通俗的比方:邓小平是中国改革开放的总设计师,用时髦的话语来形容就是邓小平是中国改革开放的首席架构师。架构师的形成一定是在实践中积累起来的,而并非上了几次课,读了几本书就可以成功的,架构师是在工程实践中培养出来的!

举个例子,在软件行业中,一般提到的架构师是技术架构师,而忽略了领域架构师或者领域工程师的概念。一个好的领域专家一定是业务领域的架构师,他能够给出某一个业务领域的架构,只有技术架构和业务架构紧密相结合才有可能创造出一个好的系统!架构师是客户需求和开发者之间的桥梁。那么如何成为优秀的软件架构师呢?首先必须具有丰富的软件设计与开发经验,这有助于理解并诠释所进行的设计是如何映射到现实生活中去的。 其次要具有领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。第三是具有很强的沟通能力,软件架构师需要经常与客户、市场人员、开发人员、测试人员、 项目经理、 网络管理员、数据库工程师等等打交道。所以,无论在技术方面、管理方面还是市场方面,一个优秀的架构师都必须面面俱到,只有这样才有助于设计出一个满足客户需求的体系结构。

《大道至简》作者、支付宝(中国)公司业务架构师周爱民在《架构之美》一书中曾写过这么一段话:在大多数人的谈论中,架构是一个目标产物,而作为架构师的责任就是去生产它。所以无论如何,架构是可以“做”出来的,而且也应该有一些“做”的方法、技术、技巧。有人问过我:架构的最主要产出是什么?我的答案是:图。这里面有两层含义:一层含义是如同建筑师描绘的蓝图一样,用于引导实施者;另一层含义是架构师头脑中清晰的目标系统。如果架构师头脑中没有系统清晰的图像,他是没有办法把它画出来的。

现在, 微软的决策者比尔?盖茨即是“首席架构师”。设立这个特殊职位是因为无论在微软还是在其他公司,首席执行官没有时间管技术,而很多所谓的“首席技术官”却都是没有实权的科学家,决定不了技术发展方向。但是,在一个技术主导的行业里,一个企业没有技术方向的最高决策者是不行的。

在国内,很少有软件企业拥有独立的架构师,通常一个软件高手可能既是项目经理,又是软件架构师,还是软件开发者,有时还要客串一个测试人员。其实这对软件的开发周期和产品质量是很不利的,因为一个人的观点立场是很片面的,而且各方面的工作与压力会影响一个人的情绪,情绪会影响决策,决策影响结果,所以这是一个很值得深思的问题。

又有人会疑问了:是不是架构师更多是在软件领域,跟其他行业无关?错!过去或许架构师更多的在软件行业,但未来,每个行业每个企业都该有自己的架构师。虽然我们很多企业都会有架构师一职,但是更多的架構师只懂技术不懂市场。例如,我们在飞马星驹创业企业孵化项目中就发现,可能企业在某一两个方面有比较突出的地方,但是在整体模式上面还有缺乏,因此要帮助企业做一些架构方面的调整。架构的真正意义是战略管理层面方针,所谓战略就是只有想明白一个点才能理清整个事情,这就是我们所说的战略性思维。一个真正的架构师就是要有这样整体观念,去设计整个企业模式,有完全的架构概念。

通俗来讲,一个公司合格的架构师,需要对企业从事的行业情况了解透彻,会根据客户需求分析的结果,准确定位目标群体,设定企业整体架构,做好规划、以最大限度地进行高效资源分配与管理。而且具有极度高的市场敏锐度,能够引导并带动市场趋势。架构师的工作就是制定公司的长久发展路线图,并确认公司每一个部门的工作计划是互补而不是重叠的。因此,架构师需要与公司各部门做好及时的沟通与工作情况汇报或者风暴会议。做这样的风暴会议,既能在会议中得到架构师的反馈,各项目团队也会为了可能在风暴会议中出现的各种问题,在汇报前进行彻底的市场调研,无论市场还是技术以及未来方针管理等各类信息的收集,都可避免闭门造车的风险。

猜你喜欢
首席架构软件
基于FPGA的RNN硬件加速架构
禅宗软件
功能架构在电子电气架构开发中的应用和实践
软件对对碰
首席水管工
首席数据官
首席隐私官
LSN DCI EVPN VxLAN组网架构研究及实现
一种基于FPGA+ARM架构的μPMU实现
谈软件的破解与保护