For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
【你该如何去做呢?我觉得可以从以下几个步骤开始:】
1: 扎实的JAVA 基础,Think in java上介绍的内容都能理解,做到这一步恭喜成为了程序员。
2:熟练使用主流框架,如:mybatis,spring 等。
3:研究过至少一种以web框架的源码,如spring mvc ,struts 等。
4:架构过或者参与过高并发系统设计,知道如何应对突发情况。
5:对自己所处的业务能够根据自己的知识维度,提出优化建议或者预测其风险点。
其实能否成为架构师跟机遇有很大关系,比如一个程序员,以上都做到了,但是公司并没有给他这个机会去做,一个真正架构的机会。因为之前的架构师不离职他就没有机会,这就是现实!
【么是架构,什么是架构师?】从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么。因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同;从不同的技术角度看,架构师又是个变色龙——一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。
那么,该如何回答“什么是架构,什么是架构师”这个问题呢?这或许需要先搞清楚另外一个问题——一名程序员是如何走上架构师之路的?我从许多朋友那里了解到了很多实际案例,程序员走上架构师之路,总结起来最多的原因是因为他早前代码写的好。
【架构师的定义?】
个人觉得架构师需要具有以下几特点:
知识广度:需要知道主流技术为什么诞生,能解决什么问题?如果同一种业务用不用的技术来实现,会有什么哪些优缺点?比如:流行的ORM框架Mybatis 和 hibernate ,他们之间的优缺点是什么?要有清晰的认识会能在技术造型时做出正确的决定。
抽象能力:对业务和技术进行抽象。业务抽象就是对需求进行分析后,能够建立完美的实体类以及他们之间的联系。技术抽象是对整体架构进行一个分层,各层之间的交互。这至关重要,如果技术抽象能力不足,这会导致整个系统的架构不灵活,难以维护和扩展。
知识的深度:至少是某个领域的专家,比如消息队列,activeMQ熟悉其源码,知道其实现。
优秀的学习能力:对新的技术和前沿性的技术进行学习,使用它来解决工作中的业务问题。