游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服电话

    020-85534346

    电子邮件

    81058337@qq.com
  • 码云社APP

    随时掌握码云社动态

  • 扫描二维码

    关注砺锋微信公众号

一位Java程序员花7年时间成为阿里架构师(附学习路线图) ...

发布时期:2019-5-24 16:31
阅读:1488 回复:20

如何更高效的学习?1.架构师应不应该写代码合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下“架构”这个词意味着架构师并不会涉及太多细节,架构图和代码实现之间总还是有些距离,你无法保证所有人都 ...

如何更高效的学习?

1.架构师应不应该写代码

合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下“架构”这个词意味着架构师并不会涉及太多细节,架构图和代码实现之间总还是有些距离,你无法保证所有人都会正确的理解你的设计,或者是程序员写代码时遇到障碍时会立刻想出足够优雅的解决方案。

在我看来,写代码的架构师更像是在做后勤保障的工作:在代码中第一时间发现可能存在的问题,向其他人提出警告,或是给予其他人改进的意见,必要的时候或是给其他人演示一下正确的姿势。

大部分情况下我作为架构师并不需要揽下“核心模块”开发这种工作,毕竟我能调配的时间太零散了,效率难以保证,很多人在专注的情况下比我做的好很多,我只需要保持大局观需要适度参与就可以了。

总的来说,架构师和程序员在某些方面上有点像产品经理和用户的关系,大部分程序员并不会主动告诉你他们想要什么、哪里需要优化,甚至自己也不知道这些。想要做出好的产品,捷径之一就是跟用户做同样的事情。

2.为什么别人的系统总是那么烂

很多程序员解决问题的能力很强,说要解决一个什么问题,下午就能写出几百行代码把功能实现了。但是做出来的东西有种少考虑了什么东西的感觉。大部分程序都能实现功能,但是如果把“时间”这个也作为一个考虑的维度的话,就会意识到一个合格的项目需要考虑更多的东西:更通用的使用方式、易于理解的文档、简单而易于扩展的设计,等等。

很多公司应该都会有一些遗留系统,它们庞大、笨重、难用、几乎无法维护,所有人都在抱怨这些系统,并且每天都在想方设法换掉那些遗留系统。但是一段时间过去之后,又会发现身边的新人又开始吐槽当时替代遗留系统的那个系统了。

“大多数系统当初都很好使,功能当时够用,扩展性看起来也可以,但是这些系统都是开发的人离职之后变坏的。”

3.成为架构师最困难的门槛是什么?

很多人自称架构师的人跟你讲一个架构时简直滔滔不绝,各种技术名词像是说相声一样从他嘴里说出来,三句话不离高并发大数据,但是稍微追问一下,就会发现很多基本概念的缺失,例如自称精通高并发的人说不清楚他所谓的高并发系统的瓶颈在哪里,自称精通架构设计的人说不明白他的系统怎么保证高可用,自称超大数据量的系统实际上只有不到100万条数据,等等。

架构师虽然听起来很高大上,但本质上仍然是工程师,不是科学家,也不是忽悠人的江湖骗子。学习再多,也需要实践落地。设计架构方案更多的是在做一些抽象和权衡:把复杂的需求抽象成简单的模型,从功能、性能、可用性、研发成本等等方面规划如何构建一个系统,这些内容需要更多的实践练习。

4.如何更高效的学习?

大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。

说说自己提升学习效率的心得,其实非常简单:体系化的学习。

在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。

跟很多人一样,刚毕业时我觉得作为程序员,只要努力,加上少许天赋便可以获得一些成绩。

工作一段时间后,对自己和其他人的认识也越来越清晰,逐渐的发现程序员之间的差距或许比人和猴子之间的差距还大,接受这个事实这让我郁闷了很久。

再过一段时间,发现自己已经能够客观的评价自己的能力,也意识到了距离并不是那么重要,只要想办法跑的更快,就足够了。

快速成为架构师的学习路线

一:常见模式与工具

学习Java技术体系,设计模式,流行的框架与组件是必不可少的:

  • 常见的设计模式,编码必备
  • Spring5,做应用必不可少的最新框架
  • MyBatis,玩数据库必不可少的组件


一位Java程序员花7年时间成为阿里架构师(附学习路线图)

二:工程化与工具

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:

  • Maven,项目管理
  • Jenkins,持续集成
  • Sonar,代码质量管理
  • Git,版本管理


一位Java程序员花7年时间成为阿里架构师(附学习路线图)

三:分布式架构

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

  • 分布式架构原理
  • 分布式架构策略
  • 分布式中间件
  • 分布式架构实战


一位Java程序员花7年时间成为阿里架构师(附学习路线图)

四:微服务架构

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?

  • 微服务框架
  • Spring Cloud
  • Docker与虚拟化
  • 微服务架构


一位Java程序员花7年时间成为阿里架构师(附学习路线图)

五:性能优化

任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

  • 性能指标体系
  • JVM调优
  • Web调优
  • DB调优


一位Java程序员花7年时间成为阿里架构师(附学习路线图)

六:底层知识

从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:

  • 内存模型
  • 并发模式
  • 线程模型
  • 锁细节


一位Java程序员花7年时间成为阿里架构师(附学习路线图)


以上七大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。如果对Java分布式、工程化、高并发、微服务,JVM等技术感兴趣的可以关注我,私信回复“架构资料”我已将知识体系整理好,欢迎私信获取。

转发后私信我“架构资料”即可获取了。

一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)


一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)

一位Java程序员花7年时间成为阿里架构师(附学习路线图)


罗兹旋风(未知职业)-本文作者
这个人很懒,什么也没有留下。
1488 20 2019-5-24 16:31
该文章已有20人参与评论

请发表评论

全部评论

  • dghsdjv 2019-5-24 16:29
    架构资料
  • 戴孟刀炎 2019-5-24 16:26
    怎么获取资料呢
  • AAZZS 2019-5-24 16:23
    转发
  • 考拉拉拉拉拉 2019-5-24 16:20
    探究一下
  • 戴孟刀炎 2019-5-24 16:16
    感觉挺不错的,来看看
  • qvxk9738 2019-5-24 16:13
    转发关注了
  • 183464965 2019-5-24 16:11
    转发,必须转发
  • 甜蜜蜜0615 2019-5-24 16:08
    转发了,也关注了,怎么获取资料?
  • dghsdjv 2019-5-24 16:04
    架构资料
  • liusiyuan308 2019-5-24 16:01
    努力学习天天向上
  • 日月光辉 2019-5-24 15:58
    转发并关注了
  • v5876 2019-5-24 15:56
    架构资料
  • 蛛丝马迹 2019-5-24 15:53
    小白怎么才能跟你一样呢。有资料没有啊[捂脸][捂脸]
  • gebq4635 2019-5-24 15:50
    真正的程序员从来不注释自己的代码? 顶级java程序员不会? 在逗我吗? 自己写的程序没注释过几天再看就像别人写的。你确定编java虚拟机的人不会?
  • 弘苑95 2019-5-24 15:47
    @Java高级互联网架构 转发也关注了,麻烦分享一下资料,多谢
  • 甜蜜蜜0615 2019-5-24 15:44
    任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题
  • zenglizhu 2019-5-24 15:41
    只是进了个群发的东西并不是图上的资料,套路而已……
  • 583233610 2019-5-24 15:38
    @Java高级互联网架构:一位Java程序员花7年时间成为阿里架构师(附学习路线图)
  • 考拉拉拉拉拉 2019-5-24 15:35
    转发了,也关注了,怎么获取资料
  • qbfr9668 2019-5-24 15:32
    _@Java高级互联网架构

查看全部评论>>

扫一扫关注官方微信号

最前沿的技术信息一手掌握

滚动新闻
CODESEEDING(码云社)一家致力于程序员成长、以内容为核心、以提问为引导的多元化成长社区。我们在线上为技术爱好者提供了一个优质的交流氛围环境,在线下同样和众多高校联合开办了技术沙龙品牌。
020-85534346
关注我们
  • 访问移动H5版
  • 官方微信公众号

码云社 - CODESEEDING 2.0© 2018-2019 码云社. TOOBUG ( 粤ICP备16114193号-3 )