什么是架构师?
我们先看2个BOSS直聘的JD:
里面都提到了:
-
架构设计
-
安全
-
稳定性
-
团队管理
-
技术创新
-
跨部门协作
-
技术规划
总结下,架构师有以下特点:
什么是架构?
在回答什么是架构师之前,我们先聊聊什么是架构。
在不同的领域中,“架构” 有着不同的含义,但总体来说,架构是指对一个系统、组织或结构的整体设计和规划。
比如:改革开放总架构师就是邓爷爷
当然,我们主要聊什么是软件架构?
软件架构是指软件系统的高层次结构和组织方式,描述了软件系统的各个组件、模块以及它们之间的关系,包括如何交互、如何协同工作以实现系统的功能。
核心是2点:
-
你需要在一个复杂的系统中抽象出一个个的结构(或者叫模块、组件、子系统等等)
-
你需要说明这些结构(或者叫模块、组件、子系统等等)之间的关系是什么,如何协作、调用,最终实现系统功能
举2个例子:
① 业务架构
② 技术架构
什么是软件架构师?
软件架构师负责软件系统的整体架构设计、技术决策,领导技术团队并与不同部门协作,需具备深厚技术能力、问题解决能力、沟通协作能力和学习创新能力,对项目成功至关重要且推动软件行业发展。
好抽象啊,提取下重点:
-
架构设计:你得输出一个最终的解决方案,解决某个领域的问题,可以是业务诉求、技术优化等等。最终的方案可以是一个架构图、技术方案、研发规范等。
-
技术决策:这个往往被大家忽视,要知道,形成最终的解决方案之前,是需要一系列的决策,比如使用哪种语言、哪种RPC、几个团队协作等等
-
协作:小项目往往不需要架构师,涉及架构师的项目往往需要多个团队协作,你需要向他们说明白各自干什么,如何配合对方,这就需要很强的沟通协作能力。
要不要转软件架构师?
我的建议是,以下情况可以考虑转架构师:
-
不抵触务虚:架构师需要经常写文档、找老板汇报、画图等,是比较务虚的一个职位,所以需要有抽象能力、写材料的能力、汇报的能力。如果有抵触心理,就不要尝试了,很难发展好。
-
发展遇到瓶颈:如果作为开发,已经工作多年,发展也很缓慢,可以尝试转一下架构师,可以获得更多和老板接触的机会,自己的业务视野和技术视野也会更大,发展机会更多。
-
年龄 > 30:懂的都懂,架构师的年轻危机相对比普通开发会晚一些
如何成为软件架构师?
1. 技术维度
技术视野一定要广,什么都得会一点、了解一点,比如各种语言、各种数据库、各种中间件、AI、区块链、云化等,不一定需要了解的很深,我们也没有那么多的时间,但需要在技术方案选型阶段都能想到,然后再根据需要深入了解和决策。
2. 业务经验
架构师需要对自己负责的业务有足够的了解,算半个业务专家,好的架构师是能通过业务和技术的结合思考,反向修改和优化产品方案的,这样的架构师往往会被老板认可,而不是简单的做需求的技术方案实现。
这就需要你平时多学习和思考业务的商业模式,并能从技术角度思考业务的优化方向和最佳实现方案。
3. 个人影响力
大部分的架构师是不带人,但往往要承担一些需要拉通多个团队的工作。那么其他团队愿不愿意配合你?有多大的支持力度?这就需要你在平时多积累良好的人际协作关系。
一句话:广结缘,结善缘。
以下是我梳理的架构师的技术知识体系,供参考:
总结
① 什么是软件架构:软件系统的高层次结构和组织方式,描述了软件系统的各个组件、模块以及它们之间的关系,包括如何交互、如何协同工作以实现系统的功能
② 什么是软件架构师:负责软件系统的整体架构设计、技术决策,领导技术团队并与不同部门协作,需具备深厚技术能力、问题解决能力、沟通协作能力和学习创新能力,对项目成功至关重要且推动软件行业发展。
③ 要不要成为软件架构师:不抵触务虚(文档、汇报、画图等);发展遇到瓶颈;年龄 > 30
④ 如何成为软件架构师:拓展技术视野、积累业务经验、持续扩大个人影响力、提升沟通协作能力
欢迎交流,敬请点赞,谢谢~