软件技术支持工程师需要哪些知识