美文网首页Java程序员JavaWeb开发
献给迷茫的Java程序员,没时间虚度光阴了!

献给迷茫的Java程序员,没时间虚度光阴了!

作者: 美的让人心动 | 来源:发表于2018-06-21 16:04 被阅读2次

    最近好多人私信问我,该怎样才能成为架构师,还有一个就对当前的状态感到迷茫。我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助。

    当前你感到迷茫吗?

    有很多人对现在的工作感到很没意思,因为当前的工作,完全是实现业务,技术上没有任何提高。在这种状态下就会感到迷茫,特别是一想到将来这种迷茫感就更强烈了。

    与其说迷茫还不如说是担忧,随着时间的推移,自己的技术又没有长进,所以感觉忧心忡忡。

    这里分为二种人:

    混日子,过一天算一天

    这一种的我就不过多讨论了,没有意义。我也碰到过很多这样的同事,此类程序员已经废啦。

    想提高自己的技术,往架构师方向努力。

    给我发私信的人,大部分是这一种。首先,可以看出来 ,这些人都是有自己理想的人,也会付诸实践的。想往架构师方向走,但是却苦于没有人带,自己也不知道如何成为框架师。再不改变,此类程序员可能会也废。

    我想借这个文章和大家聊聊架构师这个话题,纯属个人理解,与对错无忧。

    架构师的定义?

    个人觉得架构师需要具有以下几特点:

    知识广度:需要知道主流技术为什么诞生,能解决什么问题?如果同一种业务用不用的技术来实现,会有什么哪些优缺点?比如:流行的ORM框架Mybatis 和 hibernate ,他们之间的优缺点是什么?要有清晰的认识会能在技术造型时做出正确的决定。

    抽象能力:对业务和技术进行抽象。业务抽象就是对需求进行分析后,能够建立完美的实体类以及他们之间的联系。技术抽象是对整体架构进行一个分层,各层之间的交互。这至关重要,如果技术抽象能力不足,这会导致整个系统的架构不灵活,难以维护和扩展。

    知识的深度:至少是某个领域的专家,比如消息队列,activeMQ熟悉其源码,知道其实现。

    优秀的学习能力:对新的技术和前沿性的技术进行学习,使用它来解决工作中的业务问题。

    那么你该如何去做呢?我觉得可以从以下几个步骤开始:

    1: 扎实的JAVA 基础,Think in java上介绍的内容都能理解,做到这一步恭喜成为了程序员。

    2:熟练使用主流框架,如:mybatis,spring 等。

    3:研究过至少一种以web框架的源码,如spring mvc ,struts 等。

    4:架构过或者参与过高并发系统设计,知道如何应对突发情况。

    5:对自己所处的业务能够根据自己的知识维度,提出优化建议或者预测其风险点。

    其实能否成为架构师跟机遇有很大关系,比如一个程序员,以上都做到了,但是公司并没有给他这个机会去做,一个真正架构的机会。因为之前的架构师不离职他就没有机会,这就是现实!

    很多人不知道该怎么去学习架构师所需的知识,在此我分享给你成为架构师的学习路线

    以下五大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。想学习这些技术的朋友可以加群:697579751。群里会分享这些技术知识点供大家学习免费下载

    分布式学习路线

    微服务学习路线

    性能优化学习路线

    经典设计模式与源码分析

    开发必备工具

    动手实践项目

    以上六大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。想学习这些技术的朋友可以关注我,加群:697579751获取以下资料:

    相关文章

      网友评论

        本文标题:献给迷茫的Java程序员,没时间虚度光阴了!

        本文链接:https://www.haomeiwen.com/subject/dxfcyftx.html