A software engineer designs, builds, tests, and maintains computer programs, applications, and systems. They use coding, math, and engineering rules to solve problems and make sure software works well. They work with teams to turn user needs into working technology.