岗位职责
- 体系从 0 到 1 建设:负责团队工程能力与研发效能体系的规划与落地,覆盖构建、测试、评审、发布、反馈全链路;与各业务研发团队协同,以真实交付效率与线上质量为反馈信号持续迭代。岗位为工程复合型,可侧重任一方向,但需理解其余方向;
- 落地「质量左移」:把工程质量前置到需求与设计阶段——建立可执行的评审门禁(需求可测性评审、技术方案评审 checklist、接口契约与契约测试、变更影响面分析、架构守护),让"设计阶段多花 1 小时,下游少花 100 小时"成为团队共识;
- 落地「责任右移」:建立自测、内测体验、灰度发布与线上反馈闭环——研发自测标准与提测门禁、内测/灰度/金丝雀发布与快速回滚、线上问题快速定位(可观测性建设)与无责复盘(Postmortem)、用户反馈到缺陷单的闭环追踪;
- 构建与测试基础设施:引入并深度定制 Bazel 等构建系统,实现增量构建与增量测试,建设远程缓存/远程执行能力,量化并持续压缩构建与 CI 时长;建设 UT(单元测试)、BVT(构建验证测试)、E2E(端到端自动化测试)的分层测试框架与流水线,治理 flaky test、提升覆盖率与稳定性,让"改一行代码,短时间内在本地拿到可信反馈"成为常态;
- 工程文化与规范建设:建设并运营Code Review 体系(评审标准、评审人培养与认证、评审数据度量),推动主干开发(Trunk-Based Development)、小批量高频合并、代码风格与架构一致性(Style Guide + 自动化格式化 + 静态分析 + 依赖约束),并通过内部分享把方法论与背后的逻辑讲透,形成可传承的工程认知,而不是只发规范文档;
- 工具化与平台化:把上述工程认知沉淀为工具与平台能力(CI/CD、测试调度与选择、覆盖率门禁、依赖与变更分析、变更风险识别、AI 辅助代码审查与测试生成等),让落地不依赖个人自觉,而依赖系统默认;
- 度量与持续改进:建立研发效能度量体系(构建时长、变更前置时间、变更失败率、MTTR、缺陷逃逸率、测试覆盖率与稳定性、评审时长与迭代轮次等),用数据定位瓶颈、验证收益、驱动改进,拒绝"感觉变好了";
- 能力建设与布道:面向不同层级研发开展工程方法论的培训与工作坊,参与关键项目的工程方案评审,培养团队内部的工程骨干,逐步把能力交还给业务团队。
职位要求
- 计算机相关专业本科及以上学历;对软件工程本身有真诚的兴趣与信仰,认同"工程能力是团队的长期竞争力";
- 扎实的"古典"工程基本功:数据结构与算法、操作系统、编译/构建原理、计算机网络、数据库基础扎实;熟悉至少一门主力语言(C++ / Java / Go / Python / Rust 等),有大规模生产代码的实战经验,能读懂并改造百万行级代码库的构建与依赖体系;
- 深入理解构建系统原理:熟悉 Bazel / Buck / Pants / Gradle / CMake / Make 中至少一种,理解依赖图、增量构建、sandbox 隔离、远程缓存与远程执行机制;有实际把构建或 CI 时长显著降低的量化经验者优先;
- 完整掌握分层测试理论与落地:清晰理解 UT / BVT / E2E 的边界划分与取舍,熟悉测试替身(mock / stub / fake)、契约测试、集成测试与端到端自动化(Playwright / Selenium / Appium 或自研框架),有治理 flaky test、提升覆盖率与稳定性的实战经验;
- 熟悉持续交付与主干开发:CI/CD 流水线设计(Jenkins / GitLab CI / GitHub Actions / 自研)、灰度与金丝雀发布、特性开关(Feature Flag)、快速回滚、可观测性(日志 / 指标 / Tracing);
- 对代码质量与 Code Review 有方法论级理解:了解评审机制、风格指南、静态分析与类型系统、架构守护(依赖约束测试),能持续产出并评审出高质量代码;
- 读过并理解《Google 软件工程》(Software Engineering at Google)等经典工程著作,能把书中的工程认知翻译成团队可执行的制度与工具,讲清"为什么这样做";
- 具备工具与平台建设能力:能独立完成从需求定义、方案设计、原型验证到规模化落地的完整链路(能写脚本、能建服务、能做 CLI / 插件 / IDE 集成);
- 深度使用过一种或多种 AI Coding 工具,理解其能力边界,能把 AI 有效嵌入构建、测试、评审、发布链路以放大自身产出;同时对 AI 生成内容保持"工程化的不信任"——用自动化测试、门禁与评审兜底,而不是靠人肉复核;
- 良好的沟通与布道能力:能面向不同层级研发讲清工程方法论背后的逻辑,推动跨团队共识与落地;具备英文文献阅读能力。