SOFTWARE ENGINEERING Document and maintain software functionality. Program testable and efficient code. Evaluate programs and user feedback. Integrate software with existing systems.