软件工程师（）一般指从事软件开发职业的人。软件工程师跟一般程序员的分别，在于一个程序员的工作是按照指定的规格进行编码，而软件工程师的工作则需要设计和规划。不过，由于现时社会的分工愈来愈模煳，软件工程师跟程序员的分工也愈不明显。但对于严格执行CMM的机构来说，各人的工作分也比较清晰，这有助于了解软件工程师跟一般程序员的分别。