浅谈一线互联网大厂中算法岗的分类
前言
大家好,我是鬼仔,一名互联网底层码农。校招提前批来了,想找算法岗的小伙伴们都摩拳擦掌地准备投递简历了,但一看岗位信息,瞬间觉得有点懵逼:
a 公司的招聘 JD 写的是招 AI 研究员,感觉很牛皮,我估计连门槛都达不到;
b 公司的招聘 JD 写的是机器学习工程师,岗位职责怎么写的跟开发工程师一样,进去是不是做算法的呢?
现在市面上的算法岗位名称可以说是五花八门,看得大家眼花缭乱,稍不留神可能就会被忽悠到一个自己不喜欢的岗位上。同学们在投递简历的时候一定要擦亮眼,多做功课去了解,选择适合自己的算法岗位。
以鬼仔的了解,在互联网行业,不同类型的算法工程师,工作内容确实有着很大的不一样。知乎上的一些大佬把算法工程师分为三类: 业务导向的算法工程师、研究导向的算法工程师和狭义的研究员,这三类岗位的招聘需求依此递减。
鬼仔目前在微信属于是业务导向的算法工程师,自己身边的同学也有去中厂或大厂当研究导向的算法工程师,而研究员则比较少,一般求职的都是手握多篇顶会论文的博士大佬。
接下来鬼仔给同学们简单科普一下这几类算法工程师的岗位职责,并且分析下它们之间的利弊。希望同学们可以根据自身情况,看看更适合哪种类型的算法岗,做好充足的准备工作,知己知彼,才能找到满意的 offer。
PS:以下观点只代表鬼仔个人,如果觉得描述得有偏差,欢迎在评论区一起讨论~
一、业务导向的算法工程师
属于最为典型的算法工程师,市场上招聘的大多是此类算法工程师,主要存在于公司内的业务部门。一些拥有独立业务的大厂技术部门(如百度 NLP 部门的百度翻译业务)也可能会有这种定位的小团队,研究院很少会有,除非公司真的缺钱了。这种岗位以快速解决业务中的算法问题为首要目标,创新成果可能写成专利。
鬼仔在互联网大厂主要是做推荐业务,解决的都是实际的业务问题,使用的算法往往都是学术界打磨很久的了,不需要花很大力气去做一些创新性的模型,但这不代表业务导向的算法工程师做的都是单纯经验性的体力劳动,而是会更关注产品的痛点和难点,更切合实际的从用户出发解决问题。
相比算法的创新性,我们更关注算法的性价比和效率。举个例子,如果一个简单的 baseline 的模型就可以让 ctr 提升两个百分点,而如果花更多时间和人力成本去训练一个 ensemble model,可以在 baseline 基础上再提升 0.5 个百分点。在实际的业务场景中,我们可能会优先选择 baseline 模型,因为后者的性价比太低,而且如果模型太庞大的话,线上推理的时候就需要更多的计算资源,这些都是在实际业务问题中需要考虑的。
业务导向的算法工程师直接对业务负责,老板也只关注算法对业务的提升,而不 care 你的算法有多牛逼,所以业务算法岗可以看到整个业务的全貌,对问题会有整体的认知,这对以后往管理方向发展有很大的帮助。
在日常的工作节奏上,业务团队的需求会比较多,但目标很明确,需要快速迭代,因此要求我们业务算法工程师要有比较高的编程效率,熟悉业界常用的模型,能快速解决手中需求,跟上持续高速优化的业务节奏。同时,业务导向的算法工程师对开发能力也有一定要求,自己训练好的模型往往需要自行部署上线。
二、研究导向的算法工程师
主要聚集在大厂的技术部门,大厂研究院和大型业务部门也可能会有这种定位的小团队。这种岗位以重点攻克业务中的复杂算法问题为首要目标,研究成果一般以专利或论文的形式发表,也可能不发表。
研究导向的算法工程师处于纯研究和业务之间,他们的需求一般来自公司内部的各个业务线,解决的问题属于业务线的疑难杂症。和业务型的算法岗不同,研究型算法岗解决的业务需求往往是挑战大、研究性强的问题,需要团队投入数个月的成本投入,但是一旦解决则会带来较大的线上收益。举个例子,微信语音转文字,这个问题属于业界难题,做的不好不会直接导致这个功能不能用,用户可以根据自己的理解进行补充,但是一旦做好了,就会给用户体验带来巨大的提升,而且团队提出的方案有时可以写成 paper,提升学术影响力。
三、狭义的研究员
主要聚集在大厂的研究院/AI lab,大厂技术部门也会有这种定位的团队或组,而业务团队很少会招聘真正意义上的研究员。这种岗位注重探索学术前沿,也会适当照顾业务线的长线需求,以打造业界影响力(paper 为主要表现形式)为首要目标。
这类算法研究员大都从事基础研究,很少接触业务,其产出不会给公司带来直接的经济效益,反而还需要公司持续的重金投入。例如 Google 的 Alpha Go 和 BERT,微软的 ResNet 都是经过许多研究员多年的付出才能得到的。但是做科研,就免不了会走很多弯路,但显然国内企业很难给你足够的试错时间,毕竟老板都是来赚钱的。
我认识一些博士师兄去了阿里的达摩院、腾讯的 AI lab,跟他们聊天的时候,都能感受到他们的压力很大。他们的工作主要是脑力劳动,就和做科研一样,需要做一些创造性的成果,考核主要看其论文产出,如果辛苦半年投出的一篇顶会论文挂了,那就相当于这半年 0 产出了,即使中了,那么也只是达到预期,想要晋升加薪还得拼命卷。
特别是近两年互联网大退潮,各大厂不得不降本增效,很多业界的 AI 大牛纷纷离职重返高校或者投身创业,如腾讯 AI Lab 主任张潼,滴滴 AI Lab 叶杰,字节跳动副总裁、AI Lab 主任马维英,京东 AI 开创者周伯文,阿里云 AI 智能首席科学家闵万,阿里巴巴副总裁、达摩院自动驾驶实验室负责人王刚,蚂蚁集团原副总裁、AI 团队负责人漆远……
随着企业的持续高投入难以直接带来收益,目前各大厂的 AI lab 不得不逐渐调整为支持业务产业化落地,而狭义的研究员也逐渐转型为研究导向的算法工程师。
四、总结
如果你热爱业务,希望自己的算法知识能在业务场景中尽快地落地并且收获成效,那么可以考虑和鬼仔一样从事业务算法;如果你更热爱算法和研究,实力足够强,想解决挑战性和收益更大的算法问题,那么就可以考虑从事研究型算法工程师甚至研究员。
岗位本身无高低,适合自己才是最好的。希望大家根据自身情况理性选择,避免盲目崇拜和盲目跟风~
喜欢鬼仔分享的同学可以点个关注,给个赞哦,你们的支持是我更新的动力,后面鬼仔会给大家继续分享最真实的一线互联网职场生活,大家如果对哪方面特别感兴趣,可以在评论区留言哦,鬼仔下期继续更新!
版权声明: 本文为 InfoQ 作者【码农鬼仔】的原创文章。
原文链接:【http://xie.infoq.cn/article/9e1c7108ab4c072a40418d9df】。文章转载请联系作者。
评论