A software engineer is a computer scientist who creates, tests and maintains software applications and systems. Software engineers build software solutions that meet the needs of businesses and consumers by applying their knowledge of computer science principles and programming languages.