成为架构师,需要这些能力

网友投稿 566 2022-11-15

成为架构师,需要这些能力

成为架构师,需要这些能力

在成为百万架构师前,先问两个问题:

你觉得架构师的厉害之处是什么?你和架构师的差距到底在哪里?

想明白了这两个问题,也就知道了该如何努力。如何找到这两个问题的答案呢?

方法很简单,去招聘网站看看,看看关于架构师的招聘需求是什么样的。

我之前讲过在互联网开发领域,架构师可以分为业务架构师、中间件架构师、系统架构师。 根据不同的方向,让我们在招聘网站上看几个真实的例子:

JAVA架构师 40-70K·15薪职位描述1、参与相关产品需求讨论,评审和软件设计;2、按照项目计划,按时提交高质量代码,完成开发任务;3、规范文档的编写、维护,以及其他与项目相关工作;4、参与个人征信、企业征信以及数据类核心业务系统架构设计及优化。任职资格:1、本科以上学历,计算机或相关专业;3年以上java实际项目开发以及架构设计经验;2、有扎实的Java基础,Java多线程、并发;熟悉主流开源应用框架,如Spring、iBatis、XML、JSON、Maven等开发技术;3、熟悉设计模式、OOA/OOD;熟悉关系型数据库MySQL Oracle等,SQL优化;熟悉Memcached、MongoDB、Redis等;4、熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息、负载均衡等机制和实现;5、有风控产品类/数据采集类系统架构设计以及开发经验者优先。

中间件架构师 30-60K·16薪职位描述负责云中间件(API网关,服务框架、MQ等)的设计,核心代码开发,系统稳定性开发,性能优化等工作;根据云计算平台的业务需求,完成云中间件产品的架构设计和优化工作;帮助业务方解决技术难题,用技术推动业务发展。熟练掌握c++或者java/go并发编程 ,熟悉高并发,分布式通信,存储等相关技术;任职资格:本科以上学历,3年以上相关工作经验;熟悉Linux操作系统、熟悉开源的中间件软件;熟悉消息中间件,RPC框架,API网关,数据层,性能优化等相关技术经验者优先;具有高并发相关工作经验优先;熟悉Spring Cloud,有spring cloud相关开发及优化经验者优先;熟悉service mesh,有istio和envoy开发经验者优先;熟悉gRPC/thrift框架,有gRPC/thrift框架相关开发及优化经验者优先;熟悉开源消息队列RabbitMQ/RocketMQ框架,有相关开发经验者优先。备注:有容器k8s背景的优先,但是要求还是熟悉微服务,service mesh,spring cloud,消息队列这些中间件方向的

直播PaaS 系统架构师 20-40K·15薪职位描述1、负责直播CDN PaaS集成的开发,包括需求分析、架构设计、部署设计等工作;2、负责头部客户业务架构梳理工作,针对客户整体的平台建设提供咨询、规划;3、需在工作中具备咨询架构师能力,掌握但不限于网络、计算、存储、IaaS、PaaS等领域咨询能力;4、跨团队整合资源,联同前台业务、职能部门和中后台产品/研发团队,高质量推进项目管理工作,共同达到项目目标。职位要求1、熟悉直播CDN基本原理及部署架构;2、有扎实的编程能力,有优秀的设计和代码品位;3、有很好的系统分析设计能力,能够根据客户需以及系统架构,设计合理的技术方案并落地执行;4、有较强的客户服务意识,良好的沟通和协调能力能力,具备较强的大项目管理能力;5、具备较强的学习能力和自驱力,具备创新性思维和深度思考能力;6、了解容器/VM虚拟化技术、Kubernetes、Mesos、Yarn、Docker等项目。

以上是三种不同架构师的能力要求,虽然类型不同,技术要求侧重不同,但是我告诉你,成为架构师都要具备以下能力

技术掌控力 架构师思维 解决问题的能力 团队协调力、管理能力 扩展人脉的能力

我们展开来说:

1、技术掌控力:

成为架构师要掌握全面的技术栈,一切技术皆工具,包括开发语言、框架、各种中间件都是工具,要达到熟练使用,了解其原理和长短板,具备合适场景合理选型和灵活运用的能力。

比如要成为业务架构师,那么必须掌握Java生态圈方方面面的技术。如何做到呢?首先需要把所有技术列出来,然后将自己现在所拥有的技术跟这个图表做一个匹配,标出里面哪些熟悉,哪些还有待提升,最后把有待提升的技术学会。

2、架构师思维

我们常说道与术的问题,架构思维就是架构师的“道”。

随着工作时间的增长,会悟出一些道理,感受到一些规律性的东西,这些东西可能现在大家觉得有点虚,但是慢慢地大家会认可。

(1)知行合一,做之前,先考虑意义 在做某件事之前,一定要知道自己的目的是什么。目的和做的事情两者要合一,这是第一个层面。 第二个层面是清楚地知道你手里的资源允许你干什么事。比如说Spring Cloud,我很想去用,但是我的团队hold不住,你强行把这个东西推下去之后,事情做的并不成功。结果还是需要你承担责任。

(2)原生优于定制,约定大于配置 如果你没有特殊需求的话,官方的东西最好,保持原样,除非它不满足你的要求,你再去定制它。因为你改了之后,一旦发生问题,你很难摸清楚错误发生在什么地方。而如果官方的出现问题,整个社区都在给你撑着,你就能够及时地把这东西补上去。

(3)什么都是,最后会沦落到什么都不是 这是我早期搞架构的时候犯的一个错误。当时我老想着做一套完整的系统,无论你想做什么样的业务,拿来之后稍微一修改什么都能支撑,后来发现根本不是我想的那样,它几乎什么都不能支持。就像造汽车,偏舒适还是运动,两者兼顾的没有。

(4)控制技术欲,不要瞎折腾 看到新技术就想用到自己的系统中的,这不是一个好架构师的行为。做架构的前提是稳,这是底线,试错一定在生产环境中。

(5)留下扩展,但不要想到100年后 当代人做当代人的事情,不要考虑那么久远。当代留下的坑,只能留给后代补。

(6)没有最好的,只有最合适的 跟第3条比较像,但第3条是广度上,这一条是深度上,垂直领域不要总想做到最完美。

(7)够用就好,玩的越花,风险越大 比如有人玩 ++i++;finally(return);if(赋值) ,这都太花了,风险很大。

(8)大巧不工,简约最美 要把代码写的很简约,很优雅。

3. 解决问题的能力

具备日常场景下的解决方案积累,举几个例子:

单点登录分布式事务及数据一致性秒杀并发场景复杂工作流超高并发、吞吐量

4. 团队协调力、管理能力(加分项)

你的思维和设计要落地,必须具备团队层面推进事情进展的能力(尤其架构团队的leader)

5. 最后,扩展自己的人脉。

人脉很重要,随着职位的提升,段位的提升,需要一定的背书。

以上就是架构师要具备的能力,其中技术掌控力可以很快通过学习来提升。方法就是罗列全面的技术栈,然后对号入座,找到自己的短板,最后恶补。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:全网最全的新型数据库、多维表格平台盘点 Notion、FlowUs、Airtable、SeaTable、维格表 Vika、飞书多维表格、黑帕云、织信 Infor
下一篇:使用Runtime 调用Process.waitfor导致的阻塞问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~