要想成为Java架构师,你要这样做!还不来看看!

大部分程序员肯定都听过架构师这个职位,只知道架构师很牛,也许在你们公司也有架构师的存在,但是表面上架构师好像不用做什么事,针对这个问题我们首先来看看架构设计的重要性,请看以下几点:

1、软件架构能够满足系统的品质

2、架构设计使受益人达成一致的目标

3、架构设计能够支持计划编制过程

4、架构设计对系统开发的指导性

5、架构设计能够有效地管理复杂性

要想成为Java架构师,你要这样做!还不来看看!

意识到了架构的重要性了,还得知道如何去设计架构,那么什么是好的软件架构,什么又是糟糕的软件架构呢?

知识面的宽广对于一名出色的架构师来说是必不可少的技能,也许很多人对架构的理解还停留在设计模式,重构,SOA等等的软件层面,然而这仅仅是非常基本的东西,架构师的脑子里不光需要知道让软件如何高效的运行,还需要知道如何去结合网络,存储,甚至一些文件系统的特性,比如GFS,NFS,XFS,NTFS等等,而且架构师还需要知道一些编程语言的特性,C,C++,Java,PHP,Python,Lisp,JS等等,现在是一个混合编程的时代,只了解一种语言,即使再精通也会使你在架构系统的时候受到很大的局限性。

要想成为Java架构师,你要这样做!还不来看看!

架构师的工作并不是简简单单设计一个能工作的架构就可以了的,他需要考虑的因素有很多,他需要懂得写程序,才知道怎么设计的架构最简单高效,而程序员到了一定阶段之后就和搬砖差不多意思了,代码都熟悉了,在他们眼里写程序就和打字没有区别。说了这么多,下面我们来说点架构师的事,它的职责是什么?

架构师的第一职责就是关注:non-functional requirements,即非功能性需求,下面才是重点,那么怎么样才能成为架构师呢?

要想成为Java架构师,你要这样做!还不来看看!

一、广度

广度指的是架构师应该对所在领域的主流技术体系有一个全面清晰的认识,每一种技术不需要很深入的了解,但必须知道每种技术的3W:1,Why:每种技术的由来,为什么会出现这种技术,这个技术是用来解决什么问题的?2,What:每种技术是什么?技术的基本组成部分是什么?3,Which:解决同一问题的相同技术各自的优缺点是什么,更适合哪种场景?比如,ORM框架(Hibernate与IBatis),MVC框架(Struts与SpringMVC),大数据技术(Hadoop与Spark)它们各自的优缺点是什么,只有清晰认识同一类型技术的优缺点,才能在技术选型时能够使用更加合理的技术。广度的学习方法:对各主流技术一一通过搜索引擎了解其3W的内容。

要想成为Java架构师,你要这样做!还不来看看!

二、宽度

宽度指的是架构师能够熟知当前的技术前沿和热点,能够使用新的技术解决问题。比如,微服务、大数据、云计算、人工智能等。

宽度的学习方法:可以使用手机订阅相关的技术资讯了解,定期了解即可,对于跟所负责工作相关的技术进行进一步的了解。

要想成为Java架构师,你要这样做!还不来看看!

最后,不断的需要自我激励

学会平静的对待生活中的不完美之处,适应自己的情绪,了解如何让它们自然宣泄出去。

要想成为Java架构师,你要这样做!还不来看看!

学习如何把不完美的地方转换成我们的优势,激发我们的创造力。

从一个程序员到架构师是一个很大的变化,架构师需要从大的方面考虑,而不只是考虑这个模块该用哪种设计模式去开发。


分享到:


相關文章: