The basic difference between HCI engineering and software engineering is that they have disconnected problem domains. HCI engineering depends on the tasks of people using the system or product and interactions that the users need to perform their tasks on the environment in which they work.