对于程序员来说,架构师是职业发展的一道坎,如果跨过去了,后面就前途无量了,否则可能一直得做着代码coding的事情。
本文将从“如何升级”和“平时工作内容”两方面,说下我对架构师的认识。
对于程序员来说,架构师是职业发展的一道坎,如果跨过去了,后面就前途无量了,否则可能一直得做着代码coding的事情。
本文将从“如何升级”和“平时工作内容”两方面,说下我对架构师的认识。
高级开发升级到架构师的必要条件
在很多场景里,高级开发只有具备了如下的条件,才有资格升级到架构师,这里我是拿java架构举例。
1、Java Core以及Java web的基本技能,比如集合,多线程,SSM框架就不说了,这个是必须要掌握的。
2、至少能会在linux上看日志,如果可以,最好具备在linux上部署和运行程序的能力。
3、具备一定的调优能力,比如需要能通过看日志,进行JVM内存调优,或者通过看执行计划等方式,进行SQL调优。
4、得了解设计模式,可以不用精通,但至少得知道,在哪种场景里,可以通过哪种模式来优化结构。
5、这个是关键的一条,考虑问题时,得摆脱“单机版”的局限,在知识储备里,得包含负载均衡,消息队列,数据库集群等基于分布式的知识点。
6、和人打交道时,至少没障碍,至少得能清晰地表达出自己的意思。
高级开发不会自动升级到架构,除非认真准备过
在大多数公司里,会有高级开发升级到架构师的案例,我也见过不少高级开发通过跳槽,成为架构师的案例。但机会只给有准备的人。
如果高级开发一直关注手头上的事情,工作之余也不学习,那可能就无法完成升级了,而且这个升级的步骤要比初级开发升高级的要难得多,为什么呢?
公司一般都是需要具备有过实践经验的架构,而高级开发一般是通过跳槽来完成升级的,但如果你当前是高级开发,估计很难有实践架构的机会,所以很难通过架构师的面试,没有架构师的实践机会,那么如何升级呢?这似乎是个死循环。
下面说下我见过的完成升级的捷径:
1、如果你所在的公司是互联网公司,那么高级开发多少会接触些分布式高并发架构的知识,那么高级开发在平时可以多观察多积累,等到组内架构师离职了,一般就有机会了。
2、有些公司还是用传统的技术,比如还是用单机版的SSM,甚至用JDBC+java的开发模式,在这类公司里,升级似乎有些难,但不是不可以。在这里公司里干活的高级开发,平时一定得多看相关书籍,看的时候围绕一个主题:如果让我设计一个能满足双十一流量的架构,我该怎么做?再具体下,如果让我设计一个高并发流量的秒杀系统,我又该怎么做?其实很多架构面试题就围绕这两方面。
经过学习,至少高级开发能有架构师的技能了,至于这类高级开发如何在简历中写架构方面的经验,别问我,我不能说,或者是,大家可能都知道,但我不可说。
架构师平时干什么?
1、开会,开需求会,开设计评审会等。大概会占到平时工作的30%到50%。
2、如果不是资深架构或技术总监,那么未必会设计一套全新的架构,往往是在现有基础上改进,比如做扩容,分库分表,上新的日志监控系统。这方面,架构师往往会做个案例,比如在一台linux上搭个日志系统,把步骤写清楚,让开发依样画葫芦。对于资深架构而言,可能得重头开始设计,或者作出调整技术组件等的决定,这一般也先在部分系统或部分机器上做试验。
3、解决技术问题。这些问题未必是架构级别的,但只要是高级开发解决不了的问题,架构一般都得上,谁让架构是大牛呢?如果是架构组件方的问题,比如配置或部署方面的问题,架构师更得上。
4、但最重要的是学习,比如想,当前流量是2000每秒,到了5000时我该怎么办?然后再找些机器搭些组件来实验一下。
架构师更多的是和人打交道
和技术打交道容易,和人打交道难,因为一百个人会有一百个想法。
所以说,除了技术之外,架构师还得具备如下的能力:
1、能通过交流展示自己的想法。
2、在各方利益不一致时得会协调妥协,其实这也得靠各方沟通。
3、管理团队的能力。
4、充分倾听别人想法的能力。
所以说,很多公司的架构师绝不是“两耳不闻窗外事”,当然这类架构师也有,但这类绝对是大神级别的
以上就是长沙达内教育Java培训机构小编介绍的“2020年Java架构师都在做什么”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
Java架构师相关视频教程:
分布式限流实战Java架构师学习视频:http://www.bjpowernode.com/v108/
MyBatis框架Java架构师视频教程:http://www.bjpowernode.com/v107/
相关内容
Java架构师高端培训
Java架构师年薪一般多少?
我离Java架构师还有多远,Java架构师视频课程
Java程序员逆袭高级架构师必备知识体系