小白问:大佬,请教个问题。怎样才能成为一个架构师?想听听你的建议。
大佬回答:额,你这个问题太大了,没法回答。。。可以先尝试建立一套理论体系,脱离CRUD思维。
于是,我就开始了各种行动:看书,总结,反思,实践。
我感觉比较有用的书就是《架构整洁之道》。推荐大家买一本看看,参悟架构之道。
我想说的是,作为软件研发人员,人人都是一个架构师。
1.架构师只是一个角色
每个程序员从接到需求到方案设计,乃至编码中的考究,其实都伴随着架构师的角色。
只不过,由于软件架构在IT行业的重要地位,行内人员就有些人把它作为一个专业的岗位了,或者一个职级。
关于架构师的定义,推荐大家看一看spring领域的大佬:扶墙老师的公众号。里面有很生动的解释。
曾经,我比较执拗于成为一名有title的架构师。后来从业10多年,发现其实我们从工作一开始都在做架构师的工作。人人都是架构师,人人也必须成为架构师。
2.架构师不是一个title
或者说这些称号都是虚的,只要你成为技术一号位,你就是架构师。所谓的“高级”、架构专家,无非是你看问题更加透彻、全面、更具备一眼就看清问题本质、并快速形成解决方案等能力。也就是架构师要具备梳理问题域,并给出最优解的能力。
另外一个比较重要的能力就是决策力。特别是在各种因素下,对技术设计方案的判断和决策。比如如下的场景下:(可以通过swot等分析法,给出最优解)
1.当产品的想法和自己的方案不一致时;
2.当自己的方案和老板的不一致时
3.架构能力不代表管理能力
架构能力和带队伍的能力,是两回事。不过,如果能因为自己的架构能力,提高或者影响整体团队的架构能力,那他可以成为一名好的leader;反之,如果只是自己一个人把控架构方案,然后分配任务,其他开发者只是参与开发,整个团队的架构能力没有得到提升,那这个人就一定不是一个称职的leader。
分享8个字:融会贯通,大道至简!你我共勉。