前言

我用了6年的时间成为阿里架构师,一步一步走到了现在,中途也想过转换行业,也去了解过别人领域比较好的技术。也想过要转其他的语言,但是最后还是坚持下来走Java这条路,希望我的经历可以帮助到后来的人,要是觉得对你有是帮助的话,可以点赞关注一下。

导读

  1. 架构师应不应该写代码
  2. 为什么别人的系统总是那么烂
  3. 成为架构师最困难的门槛是什么?
  4. 如何更高效的学习?

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

  • 合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下“架构”这个词意味着架构师并不会涉及太多细节,架构图和代码实现之间总还是有些距离,你无法保证所有人都会正确的理解你的设计,或者是程序员写代码时遇到障碍时会立刻想出足够优雅的解决方案。
  • 在我看来,写代码的架构师更像是在做后勤保障的工作:在代码中第一时间发现可能存在的问题,向其他人提出警告,或是给予其他人改进的意见,必要的时候或是给其他人演示一下正确的姿势。
  • 大部分情况下我作为架构师并不需要揽下“核心模块”开发这种工作,毕竟我能调配的时间太零散了,效率难以保证,很多人在专注的情况下比我做的好很多,我只需要保持大局观需要适度参与就可以了。
  • 总的来说,架构师和程序员在某些方面上有点像产品经理和用户的关系,大部分程序员并不会主动告诉你他们想要什么、哪里需要优化,甚至自己也不知道这些。想要做出好的产品,捷径之一就是跟用户做同样的事情。

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

  • 很多程序员解决问题的能力很强,说要解决一个什么问题,下午就能写出几百行代码把功能实现了。但是做出来的东西有种少考虑了什么东西的感觉。大部分程序都能实现功能,但是如果把“时间”这个也作为一个考虑的维度的话,就会意识到一个合格的项目需要考虑更多的东西:更通用的使用方式、易于理解的文档、简单而易于扩展的设计,等等。
  • 很多公司应该都会有一些遗留系统,它们庞大、笨重、难用、几乎无法维护,所有人都在抱怨这些系统,并且每天都在想方设法换掉那些遗留系统。但是一段时间过去之后,又会发现身边的新人又开始吐槽当时替代遗留系统的那个系统了。
  • “大多数系统当初都很好使,功能当时够用,扩展性看起来也可以,但是这些系统都是开发的人离职之后变坏的。”

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

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

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

4.如何更高效的学习?

  • 大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。
  • 说说自己提升学习效率的心得,其实非常简单:体系化的学习。
  • 在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。
  • 跟很多人一样,刚毕业时我觉得作为程序员,只要努力,加上少许天赋便可以获得一些成绩。
  • 工作一段时间后,对自己和其他人的认识也越来越清晰,逐渐的发现程序员之间的差距或许比人和猴子之间的差距还大,接受这个事实这让我郁闷了很久。
  • 再过一段时间,发现自己已经能够客观的评价自己的能力,也意识到了距离并不是那么重要,只要想办法跑的更快,就足够了。

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

以下五大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。

分布式学习路线

微服务学习路线

性能优化学习路线

框架源码路线

互联网路线

动手实践项目

PS:喜欢的可以支持一下,谢谢!

java进阶之路​zhuanlan.zhihu.com

java 转化为utc的时间_我6年时间成长为阿里Java架构师,你呢(附学习路线图)...相关推荐

  1. 从普通JAVA程序员到阿里P8架构师,他用了六年

    工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台.高并发系统架构设计.技术团队管理.多款从零到一的产品城市! 六年间,这位职人呆过四大门户中的两家, ...

  2. 一名年薪百万阿里P8架构师写给Java程序员一些建议(架构师必备)

    阿里P8架构师-Peter 毕业于海南大学,曾就职于阿里.苏宁易购等一线互联公司,十余年Java从业经验,系统架构师及微服务之先驱,JEECG急速开发框架的设计与布道者.重点关注微服务设计与编排.高并 ...

  3. 阿里P8架构师谈:java架构师面试技能24全点

    1,JAVA基础扎实,理解io.多线程.集合等基础框架,对JVM原理有一定的了解,熟悉常见类库,常见java api不仅会用更能知其所以然: 2,对Spring,MyBatis/Hibernate,S ...

  4. java到期时间_计算书本到期时间(Java)

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; impo ...

  5. 分享我如何在7年时间里成长为阿里Java架构师(附学习路线图)

    2019独角兽企业重金招聘Python工程师标准>>> 如何更高效的学习? 1.架构师应不应该写代码 总的来说,架构师和程序员在某些方面上有点像产品经理和用户的关系,大部分程序员并不 ...

  6. java web开源项目源码_超赞!推荐一个专注于Java后端源码分析的Github项目!

    大家好,最近有小伙伴们建议我把源码分析文章及源码分析项目(带注释版)放到github上,这样小伙伴们就可以把带中文注释的源码项目下载到自己本地电脑,结合源码分析文章自己本地调试,总之对于学习开源项目源 ...

  7. c++11 多线程 顺序执行_前阿里P8架构师总结的一些关于Java多线程的编程经验丨干货...

    推荐阅读 Java程序员备战"金九银十"必备的面试技巧(附阿里Java岗面试题) 一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS操 ...

  8. java:数字转string 报空指针_超干货详解:kotlin(4) java转kotlin潜规则

    前言 以一个java老鸟的角度,如何去看 kotlin. Java源代码应该如何用Kotlin重构. 如何正确学习kotlin并且应用到实际开发中.本文将会探究. 本文分两大块,重难点和潜规则. 重难 ...

  9. mysql xp系统时间_【MySQL】时间函数

    获取当前日期时间函数 now() 获得当前日期+时间(date + time) mysql> select now(); +---------------------+ | now() | +- ...

最新文章

  1. endnote能自动翻译吗_自动挡和手自一体有啥区别?从外表能看出一辆车是哪种变速箱吗?...
  2. Web 开发中应用 HTML5 技术的10个实例教程
  3. GitHub托管BootStrap资源汇总(持续更新中…)
  4. mysql数据库架构_MySQL数据库之互联网常用架构方案
  5. 网站程序数据库怎么上传到服务器上,网站的数据库怎么上传到服务器
  6. 基础知识—数据类型-第一个C++程序
  7. 助力双十一,促销海报设计模板收好!
  8. 我的oh my zsh主题
  9. 提升数据建模的10种技术措施
  10. mybatis同时查询未知个数的表中数据(表名做为参数传递,联合查询union)
  11. 【原】小软件开发心得(二)——推广、测试
  12. 采用生产者消费者模式爬取毛豆新车网
  13. 计算机特殊的标点符号教案,在电脑上怎么输入比较特殊的标点符号?
  14. 一起来认识数组公式(最基础)
  15. pwn基础之ctfwiki-栈溢出-基本ROP-ret2text
  16. 【江枫 】Oracle 9i和10g在create index和rebuild index的统计信息的区别
  17. 标题:深度分销的方向和尺度 内容:Pnbsp;深度分销的方向和尺度BRnbsp;nbsp; 所谓深度分销,有人也称之为通路精耕细作,是通过减少原有渠道层次,并增强中间商分销能力或通过企
  18. 【千峰】网络安全学习笔记
  19. 详谈什么是接口测试?
  20. TypeError: unbound method a() must be called with A instance as first argument (got nothing instead)

热门文章

  1. xp下编程实现窗体透明特效
  2. 今天我不想发文了,对不起各位!
  3. 12月10日习题答案大剖析!小伙伴们再接再厉
  4. 计算机应用基础综合测试题一,计算机应用基础综合测试题.doc
  5. C\C++不经意间留下的知识空白------const使用
  6. STM32----SysTick实现监控开机时长
  7. MotifStack:多motif序列比较和可视化
  8. 一个震撼的交互型3D可视化R包 - 可直接转ggplot2图为3D
  9. NatureGenetics:所有五个异源四倍体棉花起源被厘清
  10. Python 的post请求 get请求实例