A software engineer is a licensed professional engineer who is schooled and skilled in the application of engineering discipline to the creation of software.
A software engineer is often confused with a programmer, but the two are vastly different disciplines. While a programmer creates the codes that make a program run, a software engineer creates the designs the programmer implements.
By U.S. law no person may use the title "engineer" (of any type) unless the person holds a professional engineering license from a state licensing board and are in good standing. A software engineer is also held accountable to a specific code of ethics.
(Thanks to Jerry G. Nordby, P.E., Technical Director for Defense Programs, for providing this updated definition)
Stay up to date on the latest developments in Internet terminology with a free weekly newsletter from Webopedia. Join to subscribe now.