架构师是做什么的(架构师和程序员的区别)
共 1330字,需浏览 3分钟
·
2021-03-30 13:21
每天满满的干货
作者:admin
出处:
http://www.zmfx8.com/39107.html
由于微信公众号近期改变了推送规则如果你第一时间看到我的文章就置顶星标公众号。
之前有网友说想看架构师升级的文章,所以写了本文。先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的标准发工资。
对于程序员来说,架构师是职业发展的一道坎,如果跨过去了,后面就前途无量了,否则可能一直得做着代码coding的事情。
本文将从“如何升级”和“平时工作内容”两方面,说下我对架构师的认识。
一、先说下大家对架构师认识的误区
1、架构师不是不食人间烟火,不是只在一个人的隔间里设计架构,而是需要和产品方,需求方,程序员等各路人马打交道。
2、架构师偏重于技术,这个不假,但绝不能是技术完美主义者,因为任何产品或网站的架构都充满着妥协。
3、高级程序员和架构师的界限并不明显,不是哪天高级程序员学好了什么课程,掌握了一门技术就自动升级到架构了,有些要求不高的项目里,甚至由高级开发来充当架构的角色。
4、架构师并不是门门都精通,而是得知道某个需求要点可以有哪些实现方案,然后会根据当前的预算,人员等情况合适地选择适合当前项目组的。
5、对架构师而言,不是什么都是得自己设计,比如实现负载均衡时,不可能让架构师用java实现一套解决方案,而是至少选用哪种组件,比如nginx,能在项目中把这套组件搭建起来。
6、架构师设计出来的,是产品,未必是艺术品。架构师设计出来的产品可能仅仅能满足流量等的需求,可能只能远观,近看可能就一团糟了。但公司恰恰是要结果的,而且产品开发的周期会很紧,所以最终上线的架构也就只能是应付当前的需求。
二、高级开发升级到架构师的必要条件
在很多场景里,高级开发只有具备了如下的条件,才有资格升级到架构师,这里我是拿java架构举例。
1、Java Core以及Java web的基本技能,比如集合,多线程,SSM框架就不说了,这个是必须要掌握的。
2、至少能会在linux上看日志,如果可以,最好具备在linux上部署和运行程序的能力。
3、具备一定的调优能力,比如需要能通过看日志,进行JVM内存调优,或者通过看执行计划等方式,进行SQL调优。
4、得了解设计模式,可以不用精通,但至少得知道,在哪种场景里,可以通过哪种模式来优化结构。
5、这个是关键的一条,考虑问题时,得摆脱“单机版”的局限,在知识储备里,得包含负载均衡,消息队列,数据库集群等基于分布式的知识点。
6、和人打交道时,至少没障碍,至少得能清晰地表达出自己的意思。