软件架构师需要什么能力?

架构师有哪些分类

软件架构师需要什么能力?_第1张图片

 

随着行业和社会的发展,架构师的定义和分类越来越广泛和细分。目前来说,集合业界的大致认知,总结如下:

解决方案架构师

与客户探讨业务需求,将业务、市场,与技术、产品结合起来,为客户提供解决他们需求的方案

 

系统架构师

也称应用架构师。最终确认和评估系统需求,并将业务转换为技术,为研发人员制订核心框架与技术规范 为研发工作澄清技术细节并扫清技术障碍 。

 

平台架构师

这里的平台其实包括两个平台,一个是系统平台,也就是负责搭建多个系统整合的系统应用平台;另外一个其实是基础平台,是专门负责搭建基础技术平台;两者其 实区别蛮大,也经常容易被从业人员混乱。举个简单例子,金蝶有平台架构师一职,但是金蝶BOSS应用和金蝶中间件两者招聘的对象和技术要求是截然不同的。

 

业务架构师

业务架构其实已经开始脱离技术层面了,但是它要求架构师有跨越多系统的大局观,去整合和组织不同系统的技术平台与交互模式。其实这个职位的未来也就是CIO了。

 

网络架构师

过去,我们可能听的最多的是网络工程师。不错,一个优秀的网络架构师必须有足够的网络技术基底,并且它的关注点也是系统的基础架构。比如说如果搭建并优化集群环境,如果构建基于云计算的系统应用与部署等等。它对于像淘宝、腾讯这样的互联网公司是极其重要的。

 

移动架构师

移动互联网的迅猛发展横向和纵向都细分出了很多新的职责和岗位,移动架构师的职责和作用日益重要,既要整体和全局考虑整个前后端的软件系统架构,又要重点深入移动客户端的架构设计的方方面面,既要有跨平台思维,又要拿捏好原生和混合开发的尺度,另外移动应用的特点,导致移动架构师必须要比传统系统架构师更加注重非功能性的质量属性。

前端架构师

这也是移动互联网的迅猛发展而细分出来的新的职责和岗位,这里的前端特指网站开发中的前端,主要考虑前端呈现层的设计(HTML/CSS/JS/AJAX/RIA/…),跨浏览器设计等等。

 

架构师需要什么能力?

软件架构师的需要理解最重要的架构驱动力是什么,他提供的设计需要考虑这些因素。架构师还要控制技术风险,在需要的时候积极演化架构,并且负责技术质量保证。从根本上讲,架构师是一个技术领导者的角色,这就是和开发者最大的区别。

 

 

如上图所示,架构师除了要技术能力过硬外,还需要掌握很多影响项目落地的其他能力。如下总结:

全局思维

从业务、市场,到技术实现;

从软件的过去、现在,到将来;

从外部客户,到内部研发;

从软件研发,到硬件部署;

从功能实现,到运行效率

 

战略思维  

在所在行业的发展战略;

在业务领域的发展战略;

在技术方向的发展战略;

在潜在市场的发展战略。

 

前瞻思维 

市场趋势的发展动向;

前沿技术的发展动向;

竞争对手的发展动向;

合作伙伴的发展动向。

 

抽象思维  

各项业务需求:抽象成功能模块;

各项功能的实现:抽象成软件架构。

 

逆向思维

假如不实现会怎样?

假如没搞定会怎样?

假如没有它会怎样?

假如被延期会怎样?

PS:关注360linker公众号,进入官方社区获取免费视频教程、知名单位招聘信息。交流分享IT圈学习经验。

你可能感兴趣的:(架构设计)