高级数据工程师与应用 AI 工程师
解决过的问题
从团队面临的具体问题,了解我的做法和交付结果。
平台太重,成本太高
可比日常工作负载的月成本降低约 95%。
任务失败后,如何安全重跑?
构建配置驱动、幂等的 ETL,避免重跑产生重复写入。
PVH
我的做法
在 PVH 的 500+TB AWS 数据平台上建设配置驱动、幂等的 ETL,将安全重跑作为管道设计要求。幂等意味着同一输入重复处理时,目标数据保持一致,不因重试重复累加;同时改进数据质量、可观测性与跨时区调度。
结果
交付能够安全重跑的生产 ETL,让故障恢复和日常运行有可重复的处理路径。通过配置复用减少重复实现,并持续支持大型平台的运行与演进。
- Python
- SQL
- Spark
- Airflow
- AWS
- Idempotent ETL
一个 Dashboard 要等 4–6 周
代表性的交付路径缩短至 1–2 小时。
PVH
我的做法
分析师的 notebook 需要交给数据工程师用 PySpark 重写。我让分析师编写的 SQL 进入受治理的交付链路,用 YAML 契约、自动校验和 DAG 工厂管理输入、输出与运行方式,先并行验证新旧结果,再推进使用。
结果
代表性的端到端交付路径从 4–6 周缩短到约 1–2 小时;平台支持 60+ 个 Dashboard。
- SQL
- YAML
- Airflow
- Data contracts
Spark 跑了三小时,仍然内存溢出
五分钟内完成全部 175 个业务案例。
FedEx
我的做法
重构一个无法在完整数据上跑完的 Spark 作业,将分析代码调整为可运行的生产作业,并用完整数据验证全部业务案例。
结果
原版本运行三小时后内存溢出,新版本在五分钟内完成全部 175 个业务案例。
- Spark
- PySpark
- EMR
- GKE
文件到了,业务还要等两小时
典型时延降至 5–10 分钟,相关资源成本降低约 90%。
PVH
我的做法
获批的 PII 重新识别流程依赖每小时轮询、常驻 EMR 与 Aurora,还有人工搬运结果。我改用 S3 事件触发 Step Functions,在 DynamoDB 中检查批准,由 EMR Serverless 处理,再自动交付到获批的目标系统,并发送阶段回执。
结果
典型端到端时延从约两小时降至 5–10 分钟;该流程可识别的相关 AWS 资源成本降低约 90%。
- AWS
- Step Functions
- DynamoDB
- EMR Serverless
- Terraform
ETL 出错,开发者数天后才得到反馈
反馈缩短到几分钟,覆盖 40+ 名开发者。
VodafoneZiggo
我的做法
将 PowerCenter 转换与前置校验接入 GitLab CI/CD,让开发者更早得到验证结果,减少等待和重复手工操作。
结果
覆盖 40+ 名开发者,反馈从数小时或数天缩短到几分钟;保守估算每周减少 40+ 小时手工工作。
- GitLab CI/CD
- PowerCenter
- ETL validation
平台要迁移,业务还在持续运行
支持数百 TB Oracle → Snowflake 的全量与增量同步。
VodafoneZiggo
我的做法
运行 AWS DMS Full Load + CDC,衔接历史全量与持续变化的数据,同时参与 Scala/Spark ETL framework 演进和迁移期间的技术问题处理。
结果
为数百 TB Oracle → Snowflake 迁移提供全量与增量同步支持。我的职责集中在迁移支持、管道和工程工具。
- AWS DMS
- CDC
- Oracle
- Snowflake
- Scala
- Spark
分析代码需要走进生产
交付数据科学环境、生产作业和训练数据的时间语义。
VodafoneZiggo · FedEx · Enyquant
我的做法
在 VodafoneZiggo 为 4–5 名数据科学家建设 JupyterHub + MLflow 服务;在 FedEx 运维 JupyterHub,将 Spark 分析代码生产化和调优;在 Enyquant 为历史训练数据定义时间点可见性。
结果
交付可用的数据科学服务、生产化的 Spark 工作负载,以及模型训练所需的数据时间语义。
- JupyterHub
- MLflow
- Python
- Spark
- Point-in-time data
Agent 规则越多,事实来源越模糊
明确能力归属,限定范围内 Skill 正文减少 51.7%。
AI collaboration repository · agent-skills
我的做法
重新划分公司级 AI 协作 Repo 的能力归属,分开团队合同、共享接口和可选方法,建立发现、采用、贡献与发布的生命周期。将重复内容合并到负责的来源,为 Agent 明确操作权限、共享资源协调和交付证据。
结果
限定范围内 Skill 正文从 2,975 行降至 1,437 行;18 个保留能力通过独立校验。开发效率提升尚未量化。
- AI Agents
- Skills
- Plugins
- Context Design
- Resource Coordination
Agent 测试全绿,却不能证明任务完成
用确定性工具区分机制测试、候选覆盖和实际数据验收。
Enyquant
我的做法
开发 Docker 分发的验收 CLI,连接开发合同、测试选择、来源采样计划和结构化报告。检查绑定代码版本、合同和数据来源,对错误粒度、单位、成员、旧合同与缺失证据建立拒绝路径;设计最终镜像的双架构运行验证和发布门禁。
结果
已合并的工具可以拒绝错误粒度、单位和成员样本。机制测试通过时,实际数据失败仍阻止完整通过;未执行步骤和候选覆盖缺项明确保留。实际数据交付通过固定快照读回与重跑验证,分别记录代码、部署、数据与消费者接受。正式候选产物验证保持独立执行状态。
- Python CLI
- Docker
- Contract Validation
- Structured Reports
- CI/CD
个人 Agent 工作流难以被团队复用
交付三项共享 Skills,将开发规则连接到版本化工具与真实试用。
Enyquant
我的做法
将数据开发和来源理解封装为三项共享 Skills,明确输入、工具版本、权限、验收证据和停止条件。确定性实现留在业务仓库的 CLI。结合另一位成员的真实 Windows/WSL Agent 试用,修正环境定位、UTF-8 读取和执行受阻时的交接要求,保留唯一维护来源。
结果
三项共享 Skills 的源码已合并,个人工作流形成团队可维护的入口。真实试用反馈进入修正,工具缺失、环境受阻和业务验收失败可以分别处理。共享源码接纳、正式发布与成员安装分别记录。
- AI Agents
- Skills
- Plugins
- Workflow Engineering
- Behavioral Validation