工程师需要具备些什么