架构师“三部曲”——阿里云 MVP 沈剑

简介: 沈剑,公众号“架构师之路”的作者,曾任百度高级工程师和58同城高级架构师、技术委员会主席、技术学院优秀讲师,现为到家集团技术委员会主席和技术VP,同时也是快狗打车(原58速运)的CTO。本文是沈剑老师在阿里云的直播中分享的一些自己关于架构师的看法和成为架构师的心路历程的第二部分。

沈剑老师在阿里云的直播中分享的一些自己关于架构师的看法和成为架构师的心路历程,内容经精炼整理成文,分集如下:
上篇:我的架构师之路
本篇:架构师“三部曲”
下篇:网友经典Q&A
沈剑-我的架构师之路.jpg

直接观看视频

一、架构师,什么样的人适合?

好多同学会有类似“我适不适合”的问题,比如:走技术,还是走管理?走深度,还是走全栈?带项目,还是带业务?沈剑老师认为每个人的个人情况不同,这类问题没有标准的答案,但是可以通过问自己一些问题来分析自己。自己不适合,主要需要考虑两个方面:我喜欢什么和我擅长什么。

如果不知道自己擅长什么,不知道自己想要什么,可以问自己几个问题:把它当做职业,还是事业?解决技术问题,还是解决业务问题的时候更有成就感?自己单干,帮助团队成果,哪一个更有成就感?这些问题是要自己想清楚的,别人能你方向和经验,但是没法给你答案。走技术,还是走管理?对于这个问题,可以想一下是在做技术的时候还是带团队成长更加兴奋。走深度,还是走全栈?这个问题,可以想下是深挖一个技术细节更加兴奋还是学习各种新技术更加兴奋。带项目,还是带业务?这个问题考虑下是项目组按时交付更让你兴奋还是带领一个业务完成各种考核指标更让你兴奋。做一件事情的时候,口头禅是“我应该”、“我可以”还是“我想要”。他们的主要差别是在于主动去做和被动去做,“我应该”、“我可以”是相对被动的,而“我想要”是主动的。以上问题至少可以得出“我喜欢什么”这个问题的答案。

找到“我喜欢什么”这个问题的答案后,我们还要考虑“我擅长什么”。所以还要一些问题,这些问题是帮助自己找到自己擅长的:问自己,擅长搞技术,还是带团队?问同事,问领导,对自己的哪些产出更满意?看历史,做项目带业务,结果如何?上面有的问题是问自己的,有的是问其他人的,自我觉察可能没有那么准确,这时候可以问领导和同事,对自己的哪些产出更加满意,过往的成绩是不会骗人的。在找到自己擅长的过程中,心里要有谱,我在做什么的时候是容易的,压力没那么大的。
image.png

图1 架构师,什么样的人适合?

二、有什么坑?

很多人会问走架构师这条路有什么坑。比如,对于架构师来说,写代码还是不写代码?沈剑老师认为架构师是需要写代码的,且架构师要对业务非常了解,且业务中最核心、最关键的代码最好是架构师来写,且这个能力是一个架构师的核心竞争力。如果真的没有时间来写,也要Review这块代码,并且进行把关,否则很有可能不同部门之间会造成对业务逻辑的认知偏差。

另一个问题,写PPT,还是不写PPT?沈剑老师认为这个问题与写不写代码的问题不矛盾,PPT是一定要写的,这本身也是一种能力。抽象、总结、沉淀、传承,本身就是一个架构师的核心职责之一。沈剑老师认为作为一个架构师,架构文档写不好,架构图画不好,不是一个合格的架构师。包括文档也一样,是对自己工作的总结,是对自己负责,也是对其他人的负责。写代码、写材料、写文档都是一样的,是不矛盾的,架构师都需要做,而这也是当前很多架构师需要进步的地方。

还有一个问题:单干,还是带团队一起成长?沈剑老师认为,很多大型公司的代码,是无法一个人写的,一定是团队在作战。在大的公司,架构师是一定要带团队的。而且在很多公司,架构师和带团队也是没法分开的,如果单干的话很多复杂的系统是无法完成的。架构师在带团队一起成长的过程中也获得成就感,对自己的成长也有帮助。
image.png

图2 架构师必须要坚持的几点

三、如何成为一名优秀的架构师?

要想成为一名优秀的架构师,首先会遇到的一个问题:使用最先进的技术,还是使用适合的技术?沈剑老师在文章中经常提到的一句话,架构不只是设计而来的,而是演进而来的。在做架构工作中要避免一个问题:不针对业务进行架构,比如突然接触到一个高深的技术,脑子一热就想要用到业务中。要知道架构是为了解决问题的,不是为了技术来架构,你学到的新的技术,有时候并不与业务相适应。一些架构师倾向于使用最前沿的技术,但是这些技术往往不是很稳定。对于新技术我们要去学习,要去关注,要去研究,但是与将其应用在线上是两回事。新技术对于个人履历来说是加分项目,但是新技术应用到线上要慎重,作为一个架构师要对整个业务负责,而不是单纯的为了给自己的履历加分就置业务于不顾。总的来说,学习新技术与应用到线上是两回事,我们不能将两者定性的联系起来,架构师为了自己的履历而一心的去使用新技术,有可能会给运维、测试等部门带来不必要的麻烦。

另外一个问题,做架构师是否需要听产品的“唠叨”?沈剑老师认为要多和产品去沟通,去问清楚为什么要这么做,这么做技术的难度大不大等等,可以从架构的角度给产品一些反向建议,以优化产品的功能来达到优化架构的功能。比如说秒杀的例子,这种业务能否异步呢?比如说下单之后要在一定时间内付款,而不是需要立马支付,这样子把下单和支付分开,大大降低了并发,给架构的压力也小了许多。

很多架构师在架构的过程中会出现较真的现象,试图做完美的系统。沈剑老师认为我们要依据二八原则,解决主要矛盾为优先,因为人无完人,架构也没有面面俱到的架构。如果为了一个出现概率千分之一的问题,使架构复杂了二十倍,那么这个投入是不划算的,拥有太多的what if,系统就没有做了,没有完美的系统。比如拿58同城为例,现在的架构跟十年前的架构肯定是不同的,但是就算现在回头再去设计十年前58同城的架构,仍然会是一样的,架构是结合业务的,脱离了业务的架构设计,都是耍流氓。
image.png

图3 如何成为一名优秀的架构师

更多精彩,点击查看
上篇:我的架构师之路
下篇:网友经典Q&A
直接观看视频

相关文章
|
3月前
|
设计模式 存储 前端开发
MVVM、MVC、MVP三种常见软件架构设计模式的区别
MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率。
86 12
|
2天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
4月前
|
设计模式 前端开发 Android开发
Android应用开发中的MVP架构模式解析
【5月更文挑战第25天】本文深入探讨了在Android应用开发中广泛采用的一种设计模式——Model-View-Presenter (MVP)。文章首先概述了MVP架构的基本概念和组件,接着分析了它与传统MVC模式的区别,并详细阐述了如何在实际开发中实现MVP架构。最后,通过一个具体案例,展示了MVP架构如何提高代码的可维护性和可测试性,以及它给开发者带来的其他潜在好处。
|
1月前
|
运维 数据库 云计算
卓越架构,数据无忧|8月30日,阿里云用户组·上海站沙龙,火热报名中🔥
聚焦数据库 「成本&稳定」方面的技术实现和解決方案,深度互动数据库使用生命周期需求、如何节约数据库成本等
|
2月前
|
人工智能 自然语言处理 Cloud Native
阿里云 AI 原生应用架构开放日上线 CommunityOverCode Asia 2024
诚挚邀请您参加阿帕奇软件基金会亚洲大会——CommunityOverCode Asia 2024。本次活动将汇聚来自世界各地的开发者和科技爱好者,共同探索开源技术的最新进展和未来趋势。我们将在大会期间举办《阿里云 AI 原生应用架构开放日》,欢迎您来现场和我们交流。
280 11
|
1月前
|
关系型数据库 Serverless 分布式数据库
阿里云 Serverless 高可用架构
阿里云的《卓越效能,极简运维,Serverless高可用架构》解决方案提供了全托管服务、自动扩展、高可用性、无缝集成以及内置安全等核心功能。该方案通过免除底层基础设施的管理,允许用户专注于应用程序开发,同时确保应用的稳定运行和资源的有效利用。 **核心功能简介**: - **全托管服务**:用户无需关心底层硬件,由阿里云负责维护和扩展计算资源。 - **自动扩展**:根据业务需求自动调整资源,确保应用在高峰期有足够的计算能力,低谷期则节省成本。 - **高可用性**:多地域和多可用区部署,实现故障自动切换,确保业务连续性。 - **无缝集成**:与阿里云的其他服务(如数据库、消息队列等)深度
|
2月前
|
存储 关系型数据库 数据库
给阿里云的建议和意见 一个云服务器架构是否可行
摘要(Markdown格式): 在修复阿里云服务器IPv4设置错误时遇到困难,导致服务器远程登录失败及外网访问受阻,耗时三天解决。建议阿里云更新文档,确保设置指导与实际情况一致,例如只需在路由表添加条目关联IPv4。此外,建议优化帮助页面,如采用折叠式设计减少干扰。服务器主要任务是数据分析、存储和分发,文中提出简化服务器框架,消除硬件软件复杂配置,利于初学者和独立开发者快速上手,降低时间成本。该设计旨在减少无用组件,节省资源,同时降低云服务商的人力和支持成本。期望云服务商考虑此类架构创新。目前未知是否有类似产品,期待业界反馈。
906 0
给阿里云的建议和意见 一个云服务器架构是否可行
|
21天前
|
Serverless 数据安全/隐私保护 开发者
Serverless 架构问题之阿里云函数计算在事件生态层面如何解决
Serverless 架构问题之阿里云函数计算在事件生态层面如何解决
29 0
|
2月前
|
运维 监控 关系型数据库
阿里云Serverless高可用架构深度评测:构建稳定高效应用的全面指南
随着云计算技术的迅猛发展,Serverless计算作为一种新兴的、以事件驱动的无服务器架构,正在逐渐改变企业构建、部署和管理应用程序的方式。阿里云,作为全球领先的云服务提供商之一,提供了全面的Serverless解决方案,包括PolarDB MySQL Serverless集群和Serverless应用引擎等产品,致力于帮助用户构建高可用、高弹性、低成本的应用系统。本文将深度评测阿里云的Serverless服务,从产品功能、使用体验、部署常见问题、文档与支持的全面性等维度出发,为开发者和企业提供实用的参考。
82 0
|
24天前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何管理企业的组织架构
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

热门文章

最新文章