• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 架构师的厉害之处竟然是这……

发布时间:2022-11-11 17:52:34 浏览 1809 来源:博学谷 作者:小谷

    大家好,欢迎来到博学谷《狂野架构师》,很高兴你来听我的课。今天我们来聊聊架构师与普通开发的区别。

    大家肯定都想成为百万架构师,先问两个问题

    1. 你觉得架构师的厉害之处是什么?

    2. 你和架构师的差距到底在哪里?

    想明白了这两个问题,也就知道了该如何努力。

    如何找到这两个问题的答案呢?

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

    我之前讲过在互联网开发领域,架构师可以分为业务架构师、中间件架构师、系统架构师。

    根据不同的方向,让我们在招聘网站上看几个真实的例子:

    JAVA架构师 40-70K·15薪

    职位描述
    1、参与相关产品需求讨论,评审和软件设计;
    2、按照项目计划,按时提交高质量代码,完成开发任务;
    3、规范文档的编写、维护,以及其他与项目相关工作;
    4、参与个人征信、企业征信以及数据类核心业务系统架构设计及优化。

    任职资格:
    1、本科以上学历,计算机或相关专业;3年以上java实际项目开发以及架构设计经验;
    2、有扎实的Java基础,Java多线程、并发;熟悉主流开源应用框架,如Spring、iBatis、XML、JSON、Maven等开发技术;
    3、熟悉设计模式、OOA/OOD;熟悉关系型数据库MySQLOracle等,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等项目。

     

    那我们说,虽然方向有所差别,技术略有不同,但实际上,在成长为可以胜任这些岗位的架构师的路上,你都需要具备一下能力:

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

    我们展开来说

    技术掌控力:

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

    在学习方法上,首先需要把所有技术列出来,然后将自己现在所拥有的技术跟这个图表做一个匹配,标出里面哪些熟悉,哪些还有待提升,重点关注那些有待提升的部分。

    架构师思维:

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

    在这里给大家简单列举几条

    第一点:知行合一,做之前,先考虑意义

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

    第二点:原生优于定制,约定大于配置

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

    第三点:什么都是,最后会沦落到什么都不是

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

    控制技术欲,不要瞎折腾 你自己或者你们公司内部有没有技术欲特别强,总喜欢玩新的技术,看到新技术就想用到自己的系统中的。这不是一个好的架构师的行为。做架构的前提是稳,这是底线,试错一定不要在生产环境中。

    第四点:留下扩展,但不要想到100年后

    当代人做当代人的事情,不要考虑那么久远。当代留下的坑,只能留给后代补。

    第五点:没有最好的,只有最合适的

    跟第3条比较像,但第3条是广度上,这一条是深度上,垂直领域不要总想做到最完美。

    第六点:够用就好,玩的越花,风险越大

    比如有人玩这种 ++i++;finally(return);if(赋值) ,面试玩玩也就算了,代码这么写存粹是没事找事。

    第七点:大巧不工,简约最美

    就是要把代码写的很简约,很优雅。

    解决问题的能力:<!--这里需要能够拓展解释一下。-->

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

    单点登录

    分布式事务及数据一致性

    秒杀并发场景

    复杂工作流

    超高并发、吞吐量

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

    作为架构师,你不再像普通开发一样,局限在自己所负责的模块里,

    你的思维和设计要落地,你需要跟软件开发里的各个角色打交道,必须具备团队层面推进事情进展的能力(尤其架构团队的leader)

    最后,扩展自己的人脉。人脉很重要,随着职位的提升,段位的提升,需要一定的背书。在这里顺带分享一下个人经历,我在自己毕业的前两年还未意识到这点,到3-5年的时候就开始打造技术领域里的朋友圈,认识了很多大佬,互相交流互相学习快速提升。

    以上就是架构师要具备的能力,其中技术掌控力是底子,这个可以通过有效的学习手段来得到快速提升。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 架构师书籍推荐 下一篇: 如何成长为Java架构师?Java架构师成长攻略

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码