【架构师的年薪有多少】架构师的工作和程序员的工作有何不同?
简单的说,程序员分为初级程序员,中级程序员,高级程序员,而架构师必定是优秀的高级程序员,优秀的高级程序员未必是架构师。下面我们来看看程序员和架构师的主要工作
初级程序员:这种程序员通常都是刚毕业不久或者刚从培训机构出来工作不久,对编程语言基础有一定的理解,对常用数据结构和数据库技术能够熟练的应用,但是没有功能模块的概念,通常都是参考系统中相关功能来实现自己的逻辑单元,很多时候都是去百度然后COPY-UPDATE来完成任务。
中级程序员:已经有个三五年的工作经验,对技术和业务都已经相对熟悉,能够独立设计和完成一些系统的功能模块,并能对初级程序员进行指导。
高级程序员:已经拥有五年以上的工作工作经验,对技术和业务已经非常熟悉,系统中的几乎所有功能都能够带领初、中级程序员来完成,并能够指导初中级程序员的工作。
架构师:已经工作8年以上,对业务和技术都有自己的理解,在某个行业内做过很多新项目,并在项目中参与软件架构的设计,完成某些核心功能模块的编写,并带领和指导初中高级程序员完成软件项目的研发工作。
优秀的架构师必定是优秀的高级程序员,只有在足够的项目中经历多种疑难杂症,才能在最初的软件架构设计上采取合适的架构。比如软件项目打算采用主流的分布式架构,但是到底用dubbo还是springcloud呢?其实2种架构都是可以的,但是都有很多的坑需要踩,分布式事务问题,分表分库问题,微服务的细化问题,发布部署问题,运维问题等等,很多问题是高级程序员都考虑不到的。
高级程序员只要掌握技术和业务,完成功能模块即可,而架构师必须掌握二外的很多内容,不仅仅专注于代码的编写上,还要专注于项目的可维护性、易扩展性、易使用性等。
高级程序员经过多个新项目的实现,注意积累,也是很容易成为架构师的。现实中往往很多高级程序员没有这样的机会,而仅专注于代码的编写上,所以很多高级程序员都停留在了程序员的水平。