如何从Java工程师成长为架构师?

其实在国内软件发展并不像美国那样长久地发展,而是在互联网时代集中爆发,架构师已经和初始的含义有所变化,目前,在国内架构师 = 真正含义上的 架构师+首席工程师。

狭义的,真正的架构师是负责处理高层的,所谓架构,高到大部分同学无法理解,比如我司全球有4万多从业人员,涉及12个大的产品门类,横跨从fintech到政府网站的很多领域,在这样的公司负责总架构的CTO office的高级架构师他们,事实上是连特定的某个系统都不太深入去看了,他们只负责宏观的技术走向,这种宏观,既不是什么语言,什么框架,也是不是哪个类库哪个包,而其下,每个产品门类都有自己的主任架构师,这些中级架构师,包括我在内,主要基于高级架构师的指导方针,设计产品门类中所实际出售的产品群,比如我属于fintech里面的B2B的部分,主要服务金融,在我这里一共有不到十个系统作为产品出售,那么每个产品的走向,技术栈,产品间的集成,与新技术的融合就是主要的工作重点。而首席工程师,也有叫做application architect的,主要是负责一个产品当中的技术难点攻关,这是大部分同学所能理解的“技术大牛”,他们是精通某些语言或者框架技术的技术者,而架构师,比如我,并不如首席工程师那么精通各种技术的实际实现。当然,有鉴于目前知乎的认知能力逐渐逼近初中两年级,当我说“架构师的技术能力不及首席工程师”的时候,是在说“张无忌武功不如张三丰”,没尹志平什么事情。

我记得我2007年的时候,以架构师身份,其实那时候是赶鸭子上架的,访问波兰,为一个小项目的最终交付去见客户的时候,给我一个很重大的冲击,也就是架构设计。我们从底层学上来的孩子,都是自下而上的学习的,从来没有考虑过,为什么。而转到架构师,你需要学会如何自顶而下地看问题,为什么我要这样设计restful?为什么我要用ajax?为什么我要用ESB?为什么我要前后端分离,这些问题的开始思考,是打破工程师和架构师壁垒的第一步,在此,我仍然要提一点我的担忧,我看过很多同学,想要“强行”理解这种概念,通过百度搜几个名字,再类比到自己了解的日常生活上来,这是不可取的,如果一个术语他涉及的相关术语你不懂,就要去搞懂,而不是绕过,这样你是不会真的懂的。

我认为我真正的是一个架构师,是在2009年,做完一个原型产品设计和同时管理7个微型项目,这其中逼得我不得不思考,以何种重用性来解决问题。再之后的日子,主要还是重复劳动,增加习惯性,至今而已。下面给大家分享一份成为资深架构师学习路线,如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:288351179  ,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

猜你喜欢

转载自my.oschina.net/u/3771478/blog/1611921