之前有网友说想看架构师升级的文章,所以写了本文。先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的标准发工资。
对于程序员来说,架构师是职业发展的一道坎,如果跨过去了,后面就前途无量了,否则可能一直得做着代码coding的事情。本文将从“如何升级”和“平时工作内容”两方面,说下我对架构师的认识。
1. 先说下大家对架构师认识的误区
1 架构师不是不食人间烟火,不是只在一个人的隔间里设计架构,而是需要和产品方,需求方,程序员等各路人马打交道。
2 架构师偏重于技术,这个不假,但绝不能是技术完美主义者,因为任何产品或网站的架构都充满着妥协。
3 高级程序员和架构师的界限并不明显,不是哪天高级程序员学好了什么课程,掌握了一门技术就自动升级到架构了,有些要求不高的项目里,甚至由高级开发来充当架构的角色。
4 架构师并不是门门都精通,而是得知道某个需求要点可以有哪些实现方案,然后会根据当前的预算,人员等情况合适地选择适合当前项目组的。
5 对架构师而言,不是什么都是得自己设计,比如实现负载均衡时,不可能让架构师用java实现一套解决方案,而是至少选用哪种组件,比如nginx,能在项目中把这套组件搭建起来。
6 架构师设计出来的,是产品,未必是艺术品。架构师设计出来的产品可能仅仅能满足流量等的需求,可能只能远观,近看可能就一团糟了。但公司恰恰是要结果的,而且产品开发的周期会很紧,所以最终上线的架构也就只能是应付当前的需求。
2. 高级开发升级到架构师的必要条件
在很多场景里,高级开发只有具备了如下的条件,才有资格升级到架构师,这里我是拿java架构举例。