在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
大家好,欢迎来到博学谷《狂野架构师》,很高兴你来听我的课。今天我们来聊聊架构师与普通开发的区别。
大家肯定都想成为百万架构师,先问两个问题
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程序员面试考什么内容?2019年Java面试题整理
Java程序员面试考什么内容?Java程序员面试考点包括Java基础语法、集合、设计模式、多线程、JDK源码、框架、数据库、数据结构和算法分析等等。本文针对这些考试重点知识,整理汇总了2019年最新的28道Java面试题。
4721
2019-09-09 15:00:09
Java架构师经典能力提升笔试题汇总
众所周知,想要从普通的Java开发程序员成长为Java架构师,并不是一件轻松的事。首先Java架构师需要了解框架源码分析、性能优化、池技术等等知识技能。本文为大家整理了Java架构师经典能力提升笔试题汇总,感兴趣的同学赶紧来做一做吧!
6369
2019-10-15 17:31:07
Java程序员常见并发编程问题集锦
Java语言从第一个版本就内置了对多线程的支持,但是从事Java开发工作的人都知道,编写优质的并发代码难度非常大。相信通过大量的时间之后,会对并发编程有更多的认识,甚至可以获取更多编发编程的方案与选择。这里与大家一起探讨一下Java程序员培训中经常遇到的并发编程的问题。
4603
2019-11-25 18:53:47
普通的Java架构师要掌握哪些专业技术知识点?
普通的Java架构师要掌握专业技术知识点,一般来说普通的Java架构师要掌握Java架构基础、Java架构核心技术、主流技术框架、系统架构、分布式系统、项目实战能力、个人能力与专业素养等相关的知识点。
4778
2020-02-14 17:37:42
狂野架构师学习效果好不好?互联网Java架构师前景怎么样?
博学谷狂野架构师学习效果好不好?课程怎么样?狂野架构师课程共分为16个模块,分布式篇、微服务篇、源码篇、消息篇、数据篇、性能篇、云服务篇、⼯具篇、设计篇、算法篇、⿊⻢顺⻛⻋实战项⽬、⾯试突击篇、企业级通⽤解决⽅案、企业级实战项⽬库、⼈⼯智能、数据挖掘 。从技术应⽤、原理讲解、源码剖析、项⽬实战,并且整合了⽬前多⾏业通⽤的技术解决⽅案,拿来即⽤。
4287
2022-09-29 16:42:05