高级软件工程师,C#/.NET 与 Azure(混合办公)
负责使用 C#/.NET、Azure、SQL Server 及前端技术交付可扩展的全栈解决方案。面向企业软件提供商,涵盖设计、实现、测试、部署、生产支持与持续改进。
描述
- 负责产品变更从最初构想到投入生产的完整工程生命周期
- 将需求转化为经过充分考虑的技术解决方案
- 开发、测试、部署并在生产环境中支持高质量软件
- 运用工程原则、设计模式、关注点分离、清晰接口和结构化数据模型
- 在评审期间展示并论证设计决策和技术权衡
- 合并代码前进行重构,并构建可持续扩展的组件
- 使用 .NET、C#、SQL Server 和 Azure,跨界面、服务和数据实现全栈变更
- 按照既定的平台模式将功能推进到生产环境
- 制定验收标准,并依据明确的规格评估编码代理生成的结果
- 持续维护代码仓库背景信息和开发指南
- 为核心逻辑和边界情况创建快速且可靠的单元测试,并与质量工程师合作开展更广泛的测试
- 围绕性能、可靠性、安全性、租户隔离、可扩展性和运营成本进行设计
- 使用源代码管理、拉取请求和部署流水线交付变更
- 监控发布,参与值班轮换,在事故期间恢复服务并解决根本原因
- 评审同事的工作,协助制定工程标准,并参与知识分享和建设性反馈
任职要求
- 至少五年软件工程或应用开发领域的实质性商业经验
- 具备扎实的 C# 和当前 .NET 技术实践经验
- 具有 JavaScript 前端框架或技术经验,最好熟悉 React
- 具备在 Microsoft Azure 上构建应用程序的实操经验
- 深入了解 SQL Server 和关系型数据库设计
- 扎实理解 SOLID 原则和软件设计模式
- 能够运用关注点分离、清晰接口和可维护的架构实践
- 深入了解单元测试和自动化测试方法
- 熟练使用 Git 和现代源代码管理工作流
- 具有使用 CI/CD 流水线和自动化部署流程的经验
- 具有监控、故障排查、事件管理和支持生产应用程序的经验
- 理解软件性能、可靠性、安全性、可扩展性和运营成本方面的考量
- 具备较强的技术和架构判断力
- 能够说明设计或技术方案的适用性,并清晰阐述其权衡
- 能够检查、质疑并改进现有代码,而不是仅因代码可运行或测试通过就接受它
- 具备较强的分析和解决问题能力
- 能够负责功能或问题从开发到生产的完整过程
- 具备在分布式工程团队中进行沟通和协作的能力
- 愿意参与值班轮换
- 拥有信息技术、计算机科学、工程或相关专业学士学位者优先
- 具有维护旧版 .NET Framework 应用程序的经验者优先
- 具有使用编码代理或 AI 辅助开发工具的经验者优先
- 具有创建或改进工程标准和开发实践的经验者优先
- 具有在分布式或多地点工程团队中协作的经验者优先
