修改软件以修复错误,使其适应新的硬件,提高性能或升级界面。指导系统测试和验证程序。指导软件编程和文档开发。与部门或客户就项目状态和提案进行咨询。与客户或部门合作解决包括软件系统设计和维护在内的技术问题。分析信息以推荐和计划安装新系统或对现有系统进行修改。与工程人员协商评估软件硬件接口,并制定规格和性能要求。使用科学分析和数学模型设计和开发软件系统,以预测和衡量结果和设计后果。准备关于编程项目规格、活动或状态的报告。与项目经理交流,获取关于限制或能力的信息。