在编程的世界里,码农就像勤劳的**,忙着写代码,搭建软件的各个部分。可奇怪的是,有80%的码农都没办法成为架构师。这是为啥呢?
1.技能太单一
码农平时的工作大多就是写代码。他们能把设计好的功能变成代码,就像手艺好的工人能把材料加工好一样。但是架构师需要的技能更多。架构师得知道好多编程语言和框架的好坏,这样在设计系统架构的时候才能选出最好的。比如说,要开发一个大型电商系统,架构师得清楚是用Java的Spring框架,还是Python的Django框架更合适,得考虑这个框架对系统的性能、能不能扩展、安不安全这些问题。而且,架构师还得熟悉各种数据库,像MySQL、Oracle这样的关系型数据库,还有MongoDB、Redis这样的非关系型数据库都得懂,要知道怎么设计数据库架构来存大量的数据。可码农呢,可能就只熟悉用一种数据库做简单的数据操作,对于设计复杂的数据库架构不太了解。 2.没有全局观
码农工作的时候,一般就盯着一个小的功能模块。就像开发一个社交软件,码农可能就负责用户登录或者消息发送这一块的代码。他们只关心这个小模块功能对不对、代码效率高不高。但是架构师得从整个系统来看问题。架构师要规划系统的整体架构,比如各个模块怎么分、它们之间怎么联系、系统在很多人同时用的时候怎么保持稳定。就像打车软件,架构师得考虑乘客端、司机端、订单系统、支付系统、地图系统这些部分怎么一起工作,在节假日打车人多的时候,怎么处理大量的订单,这可比码农只看自己那一小部分复杂多了。
3.对业务理解不深
很多码农觉得把代码写好就行,就只在技术里打转。但架构师必须很懂业务。在金融软件领域,架构师得明白像贷款审批流程、理财产品收益怎么算这些金融业务规则,这样才能设计出符合业务逻辑的软件架构。要是只从技术角度来设计,软件在实际用的时候可能就不好使或者效率低。码农可能就按业务人员说的表面要求写代码,而架构师得挖出业务背后更深的逻辑和潜在需求,把业务和技术结合好。 4.沟通协调能力不够
码农主要是和代码打交道,工作相对独立。但架构师得和好多团队沟通。架构师要和业务部门聊,知道业务的发展方向和需求变化;要和开发团队沟通,保证每个模块都按整体架构设计来开发;还要和测试、运维这些团队合作,保证软件从开发到上线再到维护都顺利。比如说在一个大的企业级软件项目里,架构师得协调不同地方的开发团队,让大家按一样的标准和架构规范来开发,如果沟通协调不好,项目就会乱套,达不到目标。
虽然大部分码农现在当不了架构师,但也不是没机会。码农要是能意识到这些差距,努力提高自己在技术广度、全局视野、业务理解和沟通协调这些方面的能力,也能朝着架构师的方向努力,在软件架构这个领域发光发热,设计出更好的软件架构。
|