接触过2个架构师,都是很牛。也许可以给你点建议。
1.架构师不需要精通细节,因为我见过的两个架构师都有能力架构java路线的东西,但是他们其实都不了解细节;
2.架构师需要有很深的基础功底,这种功底不要误会为jdk源码什么的,而是内存管理,操作系统原理,各种通讯和协议,设计模式。
3.这个也许是最重要的,就是他们的抽象思维,整个系统,乃至整个解决方案的抽象思维。
我看他们架构大体是这样的:
先了解系统的功能需求,然后分析好每个功能点的的需求特征,需要支撑什么样的业务场景;
把所有的大模块量化,比如支持的并发数量级,运算的数量级,热点事件(哪个模块被使用的最频繁)等等等非常多的东西都需要量化
根据团队成员的技术特点选技术组合,当然这个过程基本上是会跟整个团队的人开会沟通好;
接下来就是用他们非常牛逼的抽象思维,把整个系统噼里啪啦划分层次,和模块,以及每个层次和模块之间的接口。
然后架构师前期的工作就算是完成了,剩下的就是码农搬砖还有偶尔的调整。。。
我见过的两个架构师,在成为架构师以前都没有做过java开发,语言方面,一个是精通js,一个是精通c++,但是当团队的人遇到难题,他们都可以以一种令你感到恐惧的速度学习,然后解决你的问题。我印象最深的是之前做一个项目,有个同事遇到了spring上面的问题,时间比较紧那个同事搞了一天都没搞定,后面架构师直接看了spring源码,然后1个小时不到找到问题所在。后面我问了她,为什么能够看代码那么快,是不是研究过spring源码,他说他其实没有怎么接触过java,他只是明白spring是干嘛的,然后当他在看代码的时候,他觉得如果是他自己,他也会这样设计框架,他也会这样写代码,所以看起来当然快。
其实真是这样,基础牛,抽象思维牛,这些东西在他们眼里都是很简单的。。。
两个架构师给我的感觉都是一样的:都是不拘泥与什么语言,也不会拘泥于用了什么框架。