工程师要具备哪些能力