Software engineering is done by the software engineer, an engineer who
applies the principles of software engineering to the design,
development, testing, and evaluation of software and systems that make
computers or anything containing software work. There has been some
controversy over the term engineer,
since it implies a certain level of academic training, professional
discipline, adherence to formal processes, and especially legal
liability that often are not applied in cases of software development.
In 2004, the U. S. Bureau of Labor Statistics counted 760,840 software
engineers holding jobs in the U.S.; in the same period there were some
1.4 million practitioners employed in the U.S. in all other engineering
disciplines combined