程序员:仅仅会写代码,不会写文档;

软件工程师:会写代码,也会写一些项目的文档,如需求,详细设计,(系统整体方案设计)架构设计,用户手册,开发计划等;

架构师:一般需要从资深软件工程师里面提升为架构师:主要负责大系统项目(如一个1000万用户并发访问的网站服务器系统设计)的架构设计。 如果是小型项目,一般不需要架构师。 程序员和软件工程师的区别是:软件工程师不但要有编写程序代码的能力而且更重要的是要懂得如何去开发一个软件,怎样去学习实际的UI的观念。 就是工厂里面技术员和工程师的区别。技术员是熟练工人,工程师是设计者。