Software Engineers are ultimately responsible for the usability, safety, and reliability of their products. For example, the SE must make sure that the system and its documentation are consistent, that the hardware configuration is appropriate to the task, that programs will behave as required, and that the system will meet all real-time deadlines and other performance requirements.