工程师应具备哪些能力和技能