之前我写过几篇架构师、架构设计相关的文章。说实话,想通过几篇文章就把架构师的方方面面说明白,挺难的。

这可能需要一系列的文章,今天就给大家安排了这篇文章。

很多程序员都有和下面类似的困惑:

为什么很多程序员成不了架构师?

高级程序员和架构师之间有什么区别?

我认为,架构师和高级程序员最主要的区别在于,两者之间的思想维度上。

我举个例子,假如现在有个需求:公司想要做一套直播卖货的系统。

产品需求给出来了,在我成为架构师之前,作为程序员的我会怎么想?

我的想法可能是最简单直接的:

  • 需求中的礼物打赏如何实现
  • 是不是得有房间
  • 房间的逻辑是如何实现的
  • 滚屏弹幕该怎么落地
  • ……

也就是说,作为程序员,我的第一反应是:业务如何转化为技术,各种业务功能是如何用技术实现的。

那么,在我做过架构师之后,我会怎么想呢?

如果是我牵头负责这个,除了这些业务转成技术的问题,我还需要思考如下问题:

  • 架构用单体还是微服务
  • 通信方式都有哪些
  • 中间件选哪些比较好
  • 普通存储和多媒体存储该如何规划
  • 应该选什么样的架构风格
  • 可靠性,弹性,可用性该怎么保障
  • 开发成本、部署成本、维护成本
  • 成本与系统性能的折中
  • ……

以上,只是架构师典型思考的几个宏观问题。

其实,在一套系统中,架构师不仅仅只是思考这些宏观问题而已。更会深入细节,去解决各种层次的技术难题。

回到直播问题上,架构师还必须去解决一系列技术难题,比如:

  • 直播的卡顿问题
  • 通信协议的优化问题
  • 各种中间件的优化问题
  • 存储的一致性问题

总的来说,一名程序员,他的思维往往是自下而上的,就是先思考功能实现,再根据功能实现去理解整个系统的运行机制。

而一名架构师,他的思维往往是自上而下、自下而上相结合的。

他本能的就会先去想系统的架构,根据系统的架构,再去根据架构的雏形,去根据各个业务定出业务模块之间的通信方法,再根据通信方法去理解各个业务模块的耦合,去想着一些代码实现难题,最后去完整的理顺整个系统的技术实现。

所以,一名程序员想要成长为一名合格的架构师,必须经过思维的转变。

而这种转变,需要多读一些好书,让这些书中的知识,来对个人的思维进行一次大清洗,从而使得这种转变更加容易和更加准确。

我在这里想推荐 3 本书,这 3 本书能让程序员们对架构师的工作先有个初步的了解,从而让他们能对架构的思维略窥门径。

1.《架构师修炼之道》

要转成架构师思维,首先得知道架构师是如何思考问题的,当业务人员给出具体的需求之后,架构师们是如何根据需求去做对应的设计和分析的。

因此,我推荐先可以看看《架构师修炼之道》这本书。

这本书的英文版我其实也读过,自认为里面的所思所想,确实是我做架构时都考虑过的事情,甚至里面提及的一些思路,我自身都没考虑过。

这本书,我认为可以作为程序员转架构师的第一本书:

它起码会提醒程序员,从上到下思考系统架构,到底是怎样的一个思路。

了解了架构师是如何从上而下的思考和设计系统架构的,初步对架构师的思维有了些许印象后,就需要找个师傅能全面带你一把,能通过走一遍架构师的工作流程,去开始尝试架构师工作入门,去通过实践,一点点的让这些思维形成习惯。

2.《从零开始学架构》

而这个师傅我认为是《从零开始学架构》这本书。

这本书读起来非常快,读得也很过瘾,是我看到的最贴近中国架构师日常实践的书。

书里面对架构师从设计到经常用的模式,以及对应的理论都做了介绍。

尤其是架构设计中的一些重要的大坑,和架构师重要的取舍思想都做了清晰的介绍,非常适合帮助实践入门,对程序员的技能提升有肉眼可见的帮助。

书的作者李运华还在极客时间出了对应于这本书的课。前几天有读者在群里问这门课,我当时还没反应过来,只是觉得名字耳熟,写这篇文章的时候才想起来。

不过,我本人没订过他的课,听同事讲,说得不错,和他写的书形成了有效的互补。

3.《Thinking Architecturally》

我前面说的两本中文书,缺少了很重要的一部分,就是

架构师是对新技术是如何调研和学习的。

架构师引入新技术,也是架构师工作很重要的部分。

这方面的书,我读过的极其出色的一本就是《Thinking Architecturally》。

只是可惜这本书是英文书。不过,我始终认为,作为 IT 行业的程序员,英语还是重要的,国内引进的优秀技术书籍毕竟有限,很多优秀的书籍因为语言问题,从而错失品鉴的机会,非常可惜。

这本书介绍了怎么评估新工具、新技术,包括新技术引入后的一些注意事项,介绍得都非常详细。

可以说,从我读过这本书以后,看新技术、学新技术、引入新技术都有了坚实的理论基础。不仅如此,读了这本书以后,我甚至引入新技术后,风险的预估能力都提升了非常多。

而且更难得的是,这本书写得十分通俗易懂,也不需要太多的技术门槛。也强烈推荐入门阅读。

以上 3 本书,我认为对一名打算将来进阶成为架构师的程序员,作为入门的引导,以及寻找后面努力的方向是非常足够了。

要知道,架构师不仅仅是个工作,同时也代表着各种各样的更高阶的技术能力,而要提升能力之前,先拥有一套全局的架构师思维,知道架构师都做什么事情,从而能得到努力前进的方向,是极其重要的第一步。

迈出这一步之后,你就会明白,什么架构模式、架构设计、各种原理,都是以架构师的思维为基础的工具。

希望大家能把 3 本书好好学一遍,把通往架构师的路走得更加坚实。

阿里大牛分享的三本书豆瓣评分8.5分!让你的架构思维略窥门径相关推荐

  1. 阿里技术人分享的三本书豆瓣评分8.5分,让你的架构思维略窥门径

    又逢"金九银十",年轻的毕业生们满怀希望与忐忑,去寻找.竞争一个工作机会.已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇.更大的平台. 然而,面试人群众多,技术 ...

  2. 豆瓣评分9.4分!这部大片你不应该错过,每一秒都是不敢看的残忍!

    全世界只有3.14 % 的人关注了 爆炸吧知识 人类占据了地球上绝大多数宜居的地方,我们面对着温柔的地球母亲,但对野生动物们来说,地球却是一个水深火热的星球. 你觉得你已经一无所有了, 你觉得生活的负 ...

  3. 阿里大牛分享程序员5年的职业生涯指南

    每个程序员.或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来.今天我给大家分享的是一篇来自阿里大牛对五年工作经验程序员的职业建议,希望 ...

  4. 世界读书日:18本豆瓣评分9.0以上的IT书值得收藏

    在这春暖花开,万物生长的季节里,我们迎来了今年的第27个世界读书日.让阅读成为一种习惯,伴随我们成长. 今年的世界读书日小编整理了一份豆瓣评分9.0以上的计算机专业书,与您分享.顺序按照出版时间倒序排 ...

  5. 信科c语言实验程序修改题_豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了.........

    上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...

  6. 豆瓣评分 9.0,超 10 万开发者的入门选择,这本经典好书终于升级啦!

    ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍说到学习爬虫,相信很多人读过<Python 3网络爬虫开发实战>这本书.这本书豆瓣评分 9.0,是数万爬虫学习者的必读 ...

  7. 豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了......

    上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...

  8. 豆瓣评分9.4,跪着推荐这本密码学入门第一书

    "密码"这个词,总是让人难以捉摸,有时候你认为它很简单,其实它却包含着几种看似差不多但本质上却完全不同的含义,还真是不简单. 那么"密码"到底是什么呢?它其实是 ...

  9. python官方推荐的三本书-【数据分析】入门数据分析,你一定要看的三本书

    原标题:[数据分析]入门数据分析,你一定要看的三本书 最近经常被问到怎么入门数据分析,可能很多同学对怎么开始学习还是比较困惑的.我回想自己学习数据分析的经历,总结了一些建议,希望能给到大家帮助. 打好 ...

最新文章

  1. 【Kettle学习笔记】从Hbase导入数据至Mysql
  2. 关于Block的copy和循环引用的问题
  3. 2018年DApp分析 | 链塔区块链产业年鉴精选
  4. linux ps aux 结果解释
  5. 基于PaaS平台的多应用自集成方案之公共数据集成
  6. 计算机基础0018,自学考试计算机用基础 0018复习资料.doc
  7. [sql]匹配标题中出现最多关键字的结果
  8. 开源中国源码学习(八)——枚举类
  9. python多元线性回归_多元线性回归模型精度提升 虚拟变量
  10. 恒生UFX交易接口基本介绍
  11. python tcl quartus_使用TCL脚本语言操作Quartus(一)
  12. 懒懒交流会《前端,架构,框架与库》里面提到的一些问题
  13. 07中华小姐大赛落幕 20岁佳丽曾光夺冠_longware_新浪博客
  14. 车载测试-HIL硬件在环测试
  15. 值得收藏的5个C++网站
  16. 华为设备常见SNMP操作
  17. Iris框架的搭建与部署教程
  18. 学习是为了完善人生,不是为了享受人生!
  19. laravel身份证验证_简单的Laravel登录身份验证
  20. RP Fiber Power 光孤子自频移效应

热门文章

  1. CSS3实例——表格
  2. xv6源码分析(四):内存管理
  3. JDK 各版本汇总表
  4. jquery中添加属性和删除属性
  5. NAN协议与WiFi Aware
  6. 一加3t android6.0,业界最良心!一加3/3T官方确认升级Android O
  7. J2SE 6 在国际化方面的增强
  8. 安徽全国计算机二级报名窗口,2019年3月安徽全国计算机二级考试报名入口
  9. 甜橙金融私有云混合部署综合探索实践
  10. LiguerUi 和EasyUI的区别