The Technical and Social History of Software Engineering