怎么做一名好的JAVA架构师?
好的架构师不是叫出来的,是做出来的,不是有架构师的title,他就是架构师啦。
那么什么样的架构师,才是好的架构师呢?
1.使用新的技术固然重要,但满足需求更重要
在项目中,但我们遇到一些问题的时候,我们时常会使用新的技术,新的方法论,诸如此类,这些解决问题的根本动机在于,我们其实是想丰富下我们架构师自己的简历,但实际上,这些新的技术可能并不是问题的最佳解决方案。
但是,我想,我们职业生涯中,最好的效果是,有一长串的客户,他们很愿意去推荐你,因为你在和他们做项目的过程中,做了正确的事情,得到了客户的认可和满意。
当然,作为一名架构师,保持最新技术和趋势的学习,是我们的天职。但是,我们也要牢记,使用对的技术是很重要的。是的,很难去拒绝使用那些新的,酷的技术,虽然他们并不是很适合你当前的项目。
使用对的技术和方案,团队会高兴,客户会满意,压力就会很小,这样就会给你更多的时间来钻研目前已有的成熟技术,或者是学习新的技术。
2.简化基本的复杂度,减少额外的复杂度
什么是基本的复杂度呢,基本的复杂度,就是说,在我们解决问题的时候本来就有的一些困难。
比方说,设计一个系统来协调一个国家的所有航线,这是一个本来就很复杂的问题。我们必须实时跟踪每架飞机的位置,速度,方向和目的地,这样才能避免航线的事故。系统必须管理好航班的调度,这样才能避免有的机场拥挤,有的机场却很闲。而且还需要考虑其他的因素,例如,天气很差,航班无法降落等。
那么,相反,额外的复杂度,就是在我们想着解决系统的这些基本复杂度的时候,引入的复杂度。
我们可以看到,目前世界上使用的航空管理系统,大多数是很陈旧的老系统,航班系统本来就很复杂,在设计解决方案的时候,又引入了很多新的复杂情况,导致想要更新这样的系统几乎比登天都难。
好的架构师的职责应该是解决并简化基本的复杂度,并且不会引入新的额外的复杂度。
3.好的架构师一定是从实际编码中来
好的架构师能够胜任团队中的任何角色,网络布线,创建打包过程,编写单元测试。