Engineering Reasoning