这个问题还是比较有趣的……
从大的方向来说,都是写代码的,都可以统称为程序员。但是细化分开来看,区别还是有的。
软件工程师,一般指的是能够开发设计文档,设计数据库,提供项目编码文档,软件系统结构设计等等方面,并且能够独立完成相应开发的一个在程序员群体中比较高级的一个职位称呼。
工程师的话,那方向可就大了,前端工程师,安卓开发工程师,后台开发工程师,全栈工程师…..只要涉及到项目的开发的编码人员,基本都可以统称为工程师。
从普遍以及凡人的视角来看,软件程序员和工程师没有太大区别。但是从专业来看的话,两者区别还是很大的。