Java程序员要如何才能完成从新手码农到架构师的转变?
我在第一家单位工作的时候,工作到第三年,单位给我印了名片,上面的职位是【项目经理】,当时一方面有些窃喜,“我都是项目经理了,好像很厉害的样子”,另外一方面有些惊讶,“我都干啥了,怎么就成项目经理了,不是还是干开发的那些事儿么”。后来我逐渐发现,有些公司的头衔都很唬人的,所以在一些公司不要太在意架构师这个头衔。
在我眼里,架构师也可以分成两种:一种是从程序员一步一步成长后“进化”成为的架构师,一种是PPT架构师,当然,我们的奋斗目标肯定是要成为前者。
架构师的工作职责把控需求:架构师需要从需求阶段就介入的,架构需要和需求人员(产品经理)沟通需求,保证自己可以完整的理解和把握客户需求。
架构设计和技术选型:如果是一个新的项目,架构师需要对项目进行分解,形成项目架构,在此基础之上再完成技术选型(要结合公司的实际情况)。如果是一个老项目,架构师同样需要这次的需求做在什么地方,是在现有技术上就能实现,还是需要引入新的技术。
制定规范、把握方向、踩坑填坑:架构师是要跟随项目的整个流程,架构师就是项目的技术权威,他应该时刻与开发人员进行沟通,让开发人员理解架构意图,实现业务功能。架构师不是一个指挥者,把系统设计好了就让程序员来干,有一些技术难点,都需要架构师冲在前面解决。而不是当项目遇到一个“坑”时,架构师是要“真刀真枪”的写代码的。
需要在哪些方面努力,才能成长为架构师技术深度和广度:这一点不用多说了吧,架构师的技术储备一定要丰富,也就是见多识广。想象一下如果一个架构师连memcached、redis都没听说过(哈哈,我说的就是六七年前自己)。
抽象思维:这是进行系统分析和需求分解的基本素质,具备抽象思维的能力,才能把一个大的需求,分解成一个一个小的功能,但是分解后依然可以掌控全局。
沟通能力:和需求人员沟通,和业务人员沟通,和项目成员沟通...
领导能力:推动整个项目的发展,需要架构师的领导能力,这里说的领导力和项目经理所需的领导力还不太一样,想象一下如果有一个只会写PPT的架构师,做出来的架构设计不切实际,那么怎么可能让开发人员信服。这里的领导能力,更多的是指技术能力的影响,甚至是个人魅力,也就是【可以服众】,让开发人员心里想:“这个架构这牛,跟着他我学到了很多东西”。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有