• 如何从Java工程师成长为架构师?


    努力

    任何成功都伴随着汗水。作为程序员技术道路上的天花板级别,达到这个等级和高度,没有多少年的努力学习,几乎是不可能的。

    要成为架构师技术底子是基本功,如果没有花费大量的时间和精力投在钻研上,连基本的技术都hold不住,说你能做好软件架构鬼才信。

    天分

    见过不少技术不错的同学。领域里和技术相关的各方面都能玩的很溜。然而去面试架构,或者在公司里接到软件架构相关的工作的时候依然手足无措。所以要成为一个架构师,或者说成为一名优秀的架构师,除了上面提到的基本功,你的思维能力,设计能力,异于常人的解决问题的能力。甚至于自身性格所赋予的解决问题的情绪和思路,都是必不可少的条件。而这些,因人而异,在某些方面来看,取决于你的天分。

    机遇

    所谓机遇,也就是属于可遇而不可求的因素。成为架构师只是有一堆的技术堆积肯定是不行的。你需要的是一个平台能够提供足够广阔的空间让你去折腾,让你去实际和锻炼。除了站在前辈经验的肩膀上能带来一点捷径,没有实际锻炼往往会沦落为纸上谈兵。所以如果有这样一个平台和机遇的话,抓住它!

    综合以上因素,努力依然是最重要的点。也就是要想成为一名架构师,努力了不一定成,不努力,想都不要想。

    要成为一个 Java 架构师得学习哪些知识?

    语言基础

    Java架构师,顾名思义,你的主流开发语言是Java。放宽了讲,语言本身也不过是一种工具,只是用你最熟练的来解决问题而已。

    所以作为Java架构师,语言不仅仅是应用层面,Jvm底层的相关原理类,依然是需要去掌握的点。

    开发框架

    这是将架构师的工作落地的直接手段。因为架构的终极目标是业务指标。不能利于业务的进展,架构是没有意义的。

    而体现在业务上最简单粗暴的就是开发框架。如果一个架构师连基本的开发框架都吃不透,那就别谈了。

    中间件

    依然是工具。各种中间件是辅助你完成业务架构设计的桥梁。需要异步和消息那就得用消息队列,需要缓存那就得用Redis。这都是老生常谈的话题。然而,这里我要强调的是,作为架构师对中间件的掌握不能停留在使用层面,要完全的掌控它。因为任何技术的引入你都要确保在它出现问题或者现有功能不满足你的需求时,架构师能够第一时间来找到解决问题的办法。另一方面是选型。设计当前业务系统,同一个功能点,可能有n种同类别的中间件来实现。那么选哪个最合适?这就需要你对主流中间件特性的一种把控。

    解决方案

    如果说上面是一堆的工具,那么你必须具备常见领域里的一些解决方案的积累。单点登录、分布式事务、高并发秒杀、复杂工作流、支付系统设计……太多了。在开发和日常生活中勤积累,遇到合适的场景时积极去实践和试错。

    架构思维

    作为架构师,你必须具备一定的思维。在阅读大师的源码时,你会发现设计这套东西的人,思维真的不简单。如果渐渐的找到这种感觉,说明你的思维在慢慢升华。当遇到同类场景和问题时,你慢慢的就具备了自己解决问题的一些巧妙的思维,来指导你去分析和实战。至于上面提到的一系列技术,那属于执行层面的事情。想明白了问题确定好思路。到实施层面事情其实已经搞定了一大半,选择合适的工具解决它就可以了。

    如何从Java工程师成长为架构师?

    可以说,架构师几乎都是从基本的工程师走过来的。注意我说的是几乎。不排除那些生来在某些方面就具备某种特异功能的人,比如那些开源界的大神,那种人我们不讨论。

    那么还是说说我们凡人。作为一个Java工程师。在软件一线领域里打磨了很多年。工作经验慢慢会得到积累。但是不知道你有没有发现,有工作10年的人,依然是个初中级开发,这种兄弟离架构师还远得很。

    那就是说,不是所有的Java工程师只要年限够了就可以自动升级为架构师。

    首先你得注重自己的积累和工作性质,干了10年天天干的是同一件事,从早到晚写helloworld,写到老也还是那个水平。所以这是第一点。

    第二点,善于归纳总结、善于积累,转化为自己的东西。有的人在岗位上本身可以接触到很多的内容,然而很多时候把它当做一种累赘,恨不得解决完再也不想见到它。可惜就可惜在这种不关有没有价值的用完就丢,并没有勤于思考我做的这件事情,未来有没有可以复用的价值。能不能在下次遇到时,可以协助我以更高的效率来解决问题。

    第三点,主动迈出第一步。从Java工程师到架构师,其实单从职位上说,Title还是欠着一个台阶的。那么这个台阶你要迈出去。从0到1,迈向架构师的岗位,就像当初你初做Java工程师一样。先做了他再说,然后考虑以后发展的事情。

    总之,对一个相对灵透的Java工程师来说,架构师也不是个什么神秘的物种。

  • 相关阅读:
    基于Python文本内容/情感的对微博文本自动二元分类
    字符函数和字符串函数
    在 Spring Security中授予权限与角色
    Redisson—分布式集合详述
    Windows下pm2调用npm和nuxt的办法
    LiteOS-M内核
    【xubuntu】 在xubuntu系统上开启自动登陆,并自动启动一个应用程序。
    网易邮箱大师上使用icloud邮箱
    足疗APP
    java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap报错解决!
  • 原文地址:https://blog.csdn.net/Blue92120/article/details/126038922