What should every computer scientist or software engineer understand about parallel computing?