阿里十年的Java架构师用一张图告诉你什么是系统架构师

这张图从架构师的综合能力、岗位认识、岗位职责等方面,清楚的画出了作为一个架构的基本准则。人人都想成为架构师,可作为架构你达到了上面的要求了吗?

系统架构师是个神奇的岗位。为什么这么说,在一个人数不多的小公司,你可能什么都需要做,身体力行,做总监兼架构师或者是主管/高级开发兼架构师;在大公司,你可能只负责某个平台的架构,某些中间件的架构,你就是某一类的架构师。

无论怎么分,作为一个架构师,你必须具备以下几个特性。

技术能力

技术能力,不用置疑肯定是最重要的。技术能力弱的架构不是一个好架构。所以,你需要知道所有主流技术的基本原理、应用场景,及快速解决问题的能力。

所以,架构师必须要有见识,所需知识面肯定是要不断拓展的。你需要清楚在什么样的场景用什么样的技术比较合适,并知道可能存在什么样的风险。来了需求,你脑袋是空的,不知道用什么技术这是最可怕的。

架构能力

这个可以表现为抽象能力、整体规划能力、及设计能力。你需要照在业务的角度进行系统分解、技术选型、架构搭建,以及规范制定。架构出来了至少可以满足近几年的发展,或者可以很方便对现有架构进行扩容。

有人说架构不需要懂业务,我面试过的就有明确表示不做业务架构。当然有方面的架构师,如中间件架构师,运维基础设施架构师等。但一般的后端架构师都是需要了解业务,不理解业务你如果进行系统分解,服务划分,及根据不同业务作出不同的架构?

技术都是为业务服务的,不站在业务的角度设计架构,那架构就是空谈。

沟通能力

这个看起来不是最重要的,其实也非常重要。作为一个优秀的架构师,你需要清楚的知道客户的需求,需要不断和需求人员进行沟通,以达到客户真正的目的。

不论是不是架构师,任何一个职场人,提高自己的沟通表达能力无疑是不可或缺的。有一句话怎么说的,领导就喜欢拍马屁的。做领导的大多不是技术特别牛的,但沟通能力肯定是一流的。

这3点肯定是架构师的核心,但不一定是每个架构师的标准。

国内做程序员,30岁左右就得转型,不然就会被嫌弃。不管是不是如此,大环境就是这样,程序员你能干到35已见天花板。

所以,程序员必须转型,管理职位数量有限,对性格、沟通表达能力有要求。所以转型架构师是首选,大家一起加油吧。

作为架构师应该掌握哪些技术?

一、阅读源码

阅读、分析源码是程序员最基本的码代码能力也是码农的根本所在,学习经典源码中所用到的经典设计思想及常用设计模式,能够帮你了解大牛是如何写代码的,从而吸收大牛的代码功力。在阿里面试中,MyBatis,Spring等框架的底层原理是经常会被问到的。

二、分布式架构

阿里巴巴有很多大团队,这种大团队里有很多小团队,到小团队之后,做的业务都不相同,如果想立足成为一线互联网公司中的万能选手,最主流的分布式架构中有很多知识都是必须要去了解与学习的。并且在阿里面试过程中,面试官会问到实际应用场景的问题:比如微服务化、用户量、并发量、业务复杂度以及可扩展程度等,这里不多赘述。本屌提供一个分布式架构的学习思路也是自己目前还在学习中的体系:

三、微服务架构

微服务是现在互联网架构技术中最火热的话题之一,也是本屌目前正在学习研究的方向。在阿里面试过程中,面试官很少会问到关于微服务相关的问题。但作为一名开发者,一名有技术梦想的程序员微服务架构是现在必须要去了解的主流技术,本屌给自己制定了一个微服务技术的学习计划:

四、并发编程

并发编程几乎是所有互联网公司面试必问问题,并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。目前网上没有系统的全面的并发编程学习大纲,我搜集了很多资料总结出来一个最全面的学习大纲:

五、性能优化

性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,特别是阿里巴巴这样的一线互联网公司最为注重,因此想进入阿里,性能优化一定是要去深入学习与理解的一环,本屌在性能优化这一块虽然不能算专家,也可以自信的说是精通了(注意:自己的简历上一定不要写精通xxxx,要不然面试官会怼死你。好在本屌这一块还算自信)

六、 Java开发工具

一名开发人员必须有适合自己的兵器,也就是工欲善其事必先利其器,不管是小白,还是资深开发,都需要先选择好的工具。下列是我自己常用的开发工具:

七、双十一项目实战

无需赘述,如果没有实战经验,如何成为一名架构师?

面对这么多得技术点同时给大家整理了一这个学习大纲,希望我们一起进步早日成为架构师迎娶白富美;

同时想要获取面试答案的朋友和想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、redis、jvm、多线程、netty、kafka、的加群:697579751

原文链接:https://blog.csdn.net/hang1995/article/details/82869771

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员笔记

团队合作

18340
来自专栏无原型不设计

原型设计的重要性你真的知道吗?

一个好产品的诞生,必定离不开原型设计。原型设计是整个产品开发中最重要的, 并且确定了整个软件的方向,重要性就和建筑师的设计图一样。 “很难想象一个没有原型的产...

28040
来自专栏Java架构师进阶

程序员:如果你月薪过万,还认为能力决定一切吗?

这是一个整天和代码打交道的群体,也被称为“程序猿”,在不少外行人眼里,很多类似工作的职业人都被称为程序员,其实并不准确。WEB前端也是敲代码,但算不算程序员呢?...

12950
来自专栏Java架构

阿里十年架构师用一张图告诉你什么是系统架构师作为架构师应该掌握哪些技术?

这张图从架构师的综合能力、岗位认识、岗位职责等方面,清楚的画出了作为一个架构的基本准则。人人都想成为架构师,可作为架构你达到了上面的要求了吗?

33110
来自专栏Albert陈凯

2018-10-31 一个思维习惯,让你成为架构师

https://juejin.im/post/5b864509e51d4538815f0125

11430
来自专栏JAVA高级架构开发

倾听程序员的心声真的很重要

说到开发产品,没有人比程序员更了解产品。程序员知道产品的优点、缺陷、用途和潜在用途。说起这些,程序员了如指掌,如数家珍。

8900
来自专栏EAWorld

数字经济时代的智能化大数据治理

当今,数字化转型正在各行业快速发展,以数据、流量、知识为主的的数字经济时代到来,数据在其中的重要性不言而喻。 在企业内部,数据团队正逐渐变成一个专业、独立的部门...

47740
来自专栏杨建荣的学习笔记

运维开发的痛点和思考

31650
来自专栏高性能服务器开发

如何运用 DDD 解决团队协作与沟通问题?

领域驱动设计的核心是“领域”,因此要运用领域驱动设计,从一开始就要让团队走到正确的点上。当我们组建好了团队之后,应该从哪里开始?

12420
来自专栏互联网数据官iCDO

驱动用户增长? 来,客户调查类型了解一下

顾客调查可以帮助企业在短时间内用最低成本收集大量顾客反馈。这些调查结果可以帮助企业快速简便地满足顾客的反馈和要求,并且可以识别潜在用户以及进行案例研究。

12130

扫码关注云+社区

领取腾讯云代金券