算法工程师是做什么的

算法工程师的核心工作,是把一个模糊的业务问题翻译成可以用数据优化的目标,训出模型,再让它稳定跑在生产环境里。写代码只是其中一环,更多时间花在定义指标、清洗数据和判断效果真假上。

这个岗位最容易误解的地方是把它当成"高级开发"。两者的交付物不一样:开发交付的是功能,算法交付的是指标。功能可以说"做完了",指标只能说"从多少提到了多少",永远没有做完的那天。

一天在干什么,和开发岗差在哪

真实的工作时间里,读论文和调模型占的比例远比外界想的小。数据探查、特征回补、badcase 分析、和产品对齐口径,这些占了大头。一个模型从 0.8 提到 0.82 可能要两周,其中十天在确认这 0.02 是不是数据泄漏造成的。

对比项 普通开发 算法工程师
需求形态 功能描述清楚,逻辑可以枚举 目标是一个指标,路径不唯一
正确性 对或错,可以写单元测试 只有概率意义上的好坏,靠评估集和线上实验
交付物 可运行的功能模块 模型、特征、评估报告、线上策略
主要动作 设计、编码、联调、修 bug 定义指标、造样本、调参、分析差异
失败方式 报错、崩溃,能被发现 指标涨了但业务没变好,不容易被发现
时间感 按版本排期 按实验周期排期,一次实验至少一周

最后一行是很多新人踩的坑。离线指标提升不等于线上收益,线下评估集和真实流量分布不一致时,涨的分全是假的。所以成熟团队会把在线实验当成唯一裁判。

一个模型从需求到上线,要过七道关

  1. 定义指标:把"提升用户体验"拆成可计算的量,比如七日留存、人均停留时长、投诉率。指标选错,后面全白做。
  2. 数据采集:确认埋点有没有、字段全不全、口径和别的部门是否一致。
  3. 样本构造:定正负样本、定时间窗口、处理样本不均衡。这一步决定模型能学到什么。
  4. 特征工程:用户侧、物品侧、交叉特征,注意训练和线上的一致性,避免特征穿越。
  5. 模型训练与离线评估:选基线、做消融,看 AUC、召回率、NDCG 这类指标,同时看分桶表现。
  6. 在线实验:小流量 AB,观察核心指标和护栏指标,跑够统计显著性再下结论。
  7. 全量上线与监控:盯模型耗时、特征覆盖率、分数分布漂移,出问题能一键回滚。

七道关里最容易被跳过的是第六道。样本量不够就下结论,是线上效果反复的常见原因。

技能栈分四层,缺一层就卡住

数学层:线性代数、概率统计、最优化。不需要手推所有公式,但要能看懂损失函数在优化什么,知道正则化为什么能抑制过拟合。

编程层:Python 是通用语言,SQL 是取数工具,C++ 或 Java 在要求低延迟的场景(搜索、广告、风控)里必需。只会 Python 能做实验,做不了高并发服务。

框架层:深度学习框架至少精通一个,分布式训练和推理加速要了解;大数据侧要会用 Spark 或 Flink 处理亿级样本。

业务层:这一层最容易被忽略,也最决定上限。同样的模型,懂业务的人知道该在哪个环节加特征、哪个指标是护栏不能碰。

岗位细分之后,招的人有什么不一样?

招聘 JD 上写的都是"算法工程师",实际做的事差别很大,投简历前要看清方向。

方向 典型任务 常用技术 对口背景
计算机视觉 目标检测、图像分割、OCR、缺陷检测 卷积网络、Transformer、数据增强 自动化、电子、计算机
自然语言处理 文本分类、信息抽取、问答、翻译 预训练模型微调、序列标注 计算机、语言学
推荐 内容分发、商品排序、多目标融合 双塔召回、深度排序、序列建模 计算机、统计
搜索与广告 查询理解、相关性排序、点击率预估 倒排索引、Learning to Rank 计算机、数学
风控与量化 欺诈识别、信用评分、信号挖掘 树模型、图算法、时序模型 数学、统计、金融工程

方向之间不是完全隔断的。做推荐的人转搜索不难,因为两者都关心排序;从视觉转自然语言处理就要重新积累,数据形态和评价方式都换了。

什么样的背景能进这一行?

校招的主流门槛是硕士,专业集中在计算机、自动化、电子、数学、统计。本科生也能进,但多数落在工程侧或者中小公司,核心算法岗的简历筛选会先看学历和项目。

能加分的东西有三类:一是顶会或期刊论文,视觉和自然语言处理方向看重;二是竞赛名次,数据挖掘类比赛的前几名在简历上很硬;三是大厂实习,而且要是真的做过完整项目,能说清自己负责哪一段。

社招看的是另一套:有没有把某个指标从 A 做到 B 的完整经历,能不能说清为什么这么做、失败了怎么改。工作三年还在写"参与了某某模型开发",面试很难过。

常见问题

数学不好能学算法吗

能做应用,做不了深入研究。日常调包和调参对数学要求不高,但要看懂论文、自己改损失函数、判断指标异常,概率统计和线性代数绕不过去。补的方式是先补这两门,不用一上来啃最优化理论。

算法岗和数据分析岗有什么不同

数据分析偏解释,产出是结论和报表,回答"发生了什么、为什么";算法岗偏预测和干预,产出是模型和策略,回答"接下来会怎样、怎么让它变好"。两者在业务早期经常合并成一个岗位。

三十五岁之后还能做吗

能,但路径会分岔。一部分人往技术专家走,负责一个方向的模型体系;一部分转算法管理或产品;还有一部分去做行业解决方案。真正被淘汰的不是年龄,是只会调参、说不清业务价值的那一类。