架构师是什么?
系统架构师(System Architect,简称SA或SAr),是在信息系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施的人。他们(与系统分析师共同)确立系统的主体架构和实现方向,并负责指导软件工程师等开发人员的编码开发工作。
架构的核心:性能,实际情况和可扩展性!没有绝对好的架构也没有绝对差的架构,适合你的就是好的。企业发展的不同阶段会不断调整自己的架构。
个人认为就是个称号,没什么。不过要成为架构师至少有8年及以上的实际工作经验。少于此的能成为的都是牛人,少于5年的,基本上不可能了。
架构师是不是每个公司就一个或几个?
其实要看怎么定义了,一般来说负责整个公司IT建设的是CTO,一般是老板的人了,和技术关系不太大,不过一般是技术出身,也有例外,由于经历过企业初创到变大的过程,所以对公司的整个IT情况是比较了解的,可以说是公司整个IT的架构负责人。
还有就会有专业的架构师,比如搜索,推荐,监控,安全什么的会有负责该分支或模块建设的,一般也可以成为专业架构师,别人没有他专业。你的叫声师傅。
从上面就可以看出,一个企业真正的架构师其实就是CTO了。其他基本是相对专业领域的架构师。所以可以说,真正的全栈架构师是非常少的,通向此路的除了创业就是你是老板的人了。别的最多就是个专业架构师了。
如何成为架构师?
不断积累不同种工作的经验,不要重复做同一件事,那是肯定不可能成为架构师的。至少要了解B/S程序,C/S程序,系统间通讯,分布式系统,数据库技术,缓存,消息,网络,安全,运维,移动端APP通信等一些列的基础技能。这样才有可能更好的设计和管理系统。
有一些网站和图书也可以学习,比如infoq网站,有《架构师》图书出版,并且每年有多次会议分享,值得学习。
技术不断发展,架构也会不断发展,所以保持技术的更新也至关重要。
如果您想成为真正的全栈架构师,你就必须明白计算机的非常多的基础知识,不然绝对不够用的,这个时候你就明白汇编,组成,编译,网络,安全等内容是多么的重要了。不然你都无法融汇贯通,这样碰到问题估计就比较茫然了。
当然基础学的再好,没有实战也是白搭,所以实战也是非常重要的,或者说是非常非常非常的重要的,重要的事说三遍。
架构师的基本技能:参考架构师最怕程序员知道的十件事(http://developer.51cto.com/developer/top10Architect/)。
艺术气质
管控能力
权衡取舍
内力
沟通能力
多领域知识
问题解决大师
技术前瞻性
抽象思维
卓越的程序员
还是很有参考意义的。
最后,说一句感悟,架构是伴随业务一起发展的,业务不发展,架构估计也发展不起来。
做出架构决策的关键就在于理解利弊和确定优先级。你可以在CAP定理中看到类似的情况。一旦你明白了不能拥有一切,就会更容易做出架构决策了。
问:有没有什么事是架构师永远都不应该做的?
Simon Brown:有,软件架构师永远都不应该停止编程和停止学习!
小添会分享添物网架构的秘密。架构和权衡和取舍,不足和亮点都会一一分享,欢迎讨论。
添物预期分享内容:
-
用户系统(登录等)
-
邮件系统
-
文件系统
-
短信系统
-
内容管理系统
-
搜索系统
-
推荐系统
-
JVM调优
-
系统监控调优
-
Nginx使用
-
Docker
-
微服务
-
......
-
欢迎加入程序员的世界,添物科技为您服务。