工程师需要什么能力