架构师之我见
本文讨论的是软件行业的架构师,包括软件架构师、网站架构师、大数据架构师等各个IT领域的架构师。
架构师的定义
关于架构师的定义,争论一直就没有停止过,大多数人认为架构师主要就是技术方面的专家。
架构师的职责
关于架构师的职责可以看下百度百科的解释。
确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。
架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发架构工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。
我觉得上面的百度百科对架构师的定义还是比较到位的,首先架构师是技术人员;其次架构师不从事具体的代码编写,而是从事更高层次的框架开发。因此我们可以说,架构师是在企业一线从事技术开发的技术专家。
那架构师既然作为技术专家,与国内企业的技术总监、技术经理、项目经理、产品经理、CTO等等有什么关系呢?
凡是带有“经理”字样的,其实就不算是纯正的高级技术人员了,而很大程度上充当了管理角色。比如技术经理实质上在很多企业里面就是技术部经理,从事技术部门的日常管理工作。项目经理的日常工作也主要是沟通协调,技术攻关等事情由项目组资深技术负责。产品经理的工作职责也主要是负责产品的规划设计、运营推广,技术问题不是产品经理考虑的主要方面。
那么剩下的技术总监和CTO呢,听名称貌似是技术上面最高的职位了。是的,技术总监和CTO确实是企业在技术方面所提供的最高职位,但他们日常的工作主要是制定公司的技术方向、产品方向,本质上是公司的最高技术管理者。
所以如果你想成长为纯正的技术专家,架构师应该是你的终极目标。
架构师需要什么样的能力
要想成为一名架构师,需要丰厚的理论知识和大量的实践经验。不仅要有技术前瞻性、还要有识别能力。不仅要有全局性,还要有把控细节的能力。拥有敏捷的思维和快速的学习能力的同时,还要有一定的管理和沟通协调能力。
什么样的人能成长为架构师
一般来说,有过5年以上大中型软件项目的设计、开发经验,拥有扎实的计算机理论基础,并且精通所在领域的行业知识。既有全局视角又有细节把控的能力,能够独自解决各种技术难题的人,都能够成长为架构师。
架构师一般来说也分级别,有初级架构师(1-3年)、中级架构师(3-5年)、高级架构师(5年以上)。
如果以高级架构师为标准,则一个人至少需要10年的时间。
如果有一天,公司给你的title是首席架构师,那么恭喜你,这是公司对你的技术的最高认可。