架构师的36项修炼-开篇词

发布时间:2024年01月21日

有些同学会问,我又不是架构师学架构有什么用?其实,架构可以说是无处不在,每个技术人甚至每个人都应该懂一些架构,为什么呢?所谓的架构其实是一种思维方式,是整体与部分之间的关系,以及关键细节的设计与规划。习惯了架构的思维,你可以从更高的层次去思考,对所做的事做出更正确的决定。

大家有想过吗,为什么起点差不多,有的人走着走着就走到前面了,有的人走着走着就落到后面了?原因当然有很多,但是其中一个重要原因就是,那些走到前面的人会更清楚自己要成为什么样的人并对自己的生活和工作有意无意地进行过架构设计,比如大学是关注社团活动还是关注学业成绩;实习重心是放在夯实理论上还是实践经验上;毕业之后是去外包公司还是去互联网公司,工作后是走技术路线还是管理路线,工作中主动寻找一些有挑战性的任务,还是被动接受上级的安排等等。这些关键的细节都会影响你的职业生涯甚至决定如何度过自己的一生。而如何把这些关键的细节规划与设计好,如何把各个环节和它们之间的关系梳理好了,就需要用到“架构思维”。

在这里插入图片描述
我从事软件开发工作近20年,见过太多从普通程序员做到架构师的例子,也见过更多十几年如一日默默无闻写着千篇一律重复代码的人,你是属于哪一种呢?

如果你觉得架构是架构师们该考虑的问题,你只需要听话把功能实现好就可以了,既不考虑更好的解决方案,也不研究用到的技术的背后原理。那你难免沦为后一种,时间久了,就成为老板眼中需要淘汰的“三类人”。反之,如果你有架构思维,主动了解自己的工作在整体中的位置和作用,比如说参加一个大系统开发的时候,你熟知自己所做的模块在大系统中的位置,知道该模块和其他重要组成部分之间的关系,进而研究使用更合适的技术和解决方案,并影响团队和项目向更好的方向发展,那你会脱颖而出成为前一种人,获得更好的职业机会,并收获更美好的人生。

在这里插入图片描述
既然架构思维这么重要?作为技术人如何学架构呢?在这门课中,我将结合20多年的编程与架构经验,通过大型分布式系统核心架构技术讲解,让你懂架构,教你做架构,帮你提升架构思维,助你更轻松地应对工作,通过晋升评审,拿到高薪offer,有更好的职业发展。

本课程共10课时,每课时15-20分钟,我会从互联网架构的前世今生、分布式架构的关键技术、互联网架构的核心要素、架构设计案例、架构师成长攻略五个方面,对架构知识体系进行全盘梳理

在这里插入图片描述
正式进入课时1之前,我先帮大家明确两个问题。第一,优秀的架构师都具备哪些特点?第二,想学好架构要从哪几方面入手?

我的职业生涯做过很长时间的架构师,也认识很多优秀的架构师,在我眼里这些优秀的架构师有这样一些特点。
在这里插入图片描述
第一是有强烈的好奇心。除了对软件技术本身,他们对世界上很多事情都保持着强烈的好奇心,不管是宇宙太空,还是生活中一些有趣的事情。强烈的好奇心,能够让他们敏锐地发现有潜力的重要的新技术。

第二个是要有敏锐的业务嗅觉。我们做工程技术和做科学研究是不同的,做工程技术最终一定是要服务于实际业务的,是要产生实际价值的,是要赚钱的。那么,业务需要什么样的技术点,业务需要什么样的功能,业务需要什么样的好技术来实现,这些都需要有敏锐的业务嗅觉。

第三个是要有扎实的技术基础。基本功一定要扎实,比如说,操作系统、数据结构,数据库原理,编程语言和算法原理,设计模式和设计原则等等。只有这些软件技术的基础知识都学扎实了,你才能够构建起敏锐的技术嗅觉,才能够构建起自己坚实的技术体系。

第四点是出色的编程能力。很多人认为软件架构师不需要编程,虽然架构本身也许不需要编程,但是架构师一定要有出色的编程能力,一定要能够写优秀的代码,这样才能够对架构中那些最敏感的技术点保持敏锐的技术嗅觉,能够抓住软件的关键点,不会在纷繁复杂的问题中迷失方向。

最后一点是对主流技术产品和模式的深刻领悟。架构师不是凭空进行架构设计的,是站在巨人的肩膀上的,是在现有的其他优秀架构基础之上进一步设计出符合自己业务特点的架构系统来。那么,这要求你要对主流的技术产品和模式是如何设计的,相关的业务系统的模式有哪些,使用的技术方案有哪些,有深刻地领悟。只有在领悟的基础之上,去思考自己的业务特点,取其精华去其糟粕,做最好的匹配和改进,才能够设计出属于自己的优秀的系统。

在这里插入图片描述
最后讲一下软件架构的知识体系,给你提供一个学习路径。大体上来说包含这三部分的内容。第一部分就是基础,我前面说过架构师一定要有扎实的技术基础和编程能力,这里面包括数据结构、操作系统、算法应用、设计模式等一切拥有优秀编程能力所应该熟知的软件基础知识。第二部分是技术,如何使用优秀的技术产品去构建你的系统,这些技术产品各自的优缺点、原理、特点是什么,都要深刻的掌握和领悟。对于大型互联网系统而言,主要包括缓存、异步、分布式存储、微服务等。第三部分是架构设计,架构设计需要考虑的点主要包括高可用、高性能、安全性三部分。

虽然基础是一个需要长期积累和积淀的过程,可能需要几年甚至十几年时间去慢慢提升,但是“技术能力”和“架构思维”却是可以短时间内进行提升的,这与本课程的设置初衷不谋而合。希望这几百分钟的课程,可以让你快速提升,获得更好的职业发展,加油,我们课时1 再见,聊一聊大型互联网系统架构演进过程中的那些瓶颈和解决方案!

在这里插入图片描述

文章来源:https://blog.csdn.net/u013699308/article/details/135721171
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。