提前批来了,我应该投递哪类算法岗?
前言
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不得不逐渐调整为支持业务产业化落地,而狭义的研究员也逐渐转型为研究导向的算法工程师。
四、总结
如果你热爱业务,希望自己的算法知识能在业务场景中尽快地落地并且收获成效,那么可以考虑和鬼仔一样从事业务算法;如果你更热爱算法和研究,实力足够强,想解决挑战性和收益更大的算法问题,那么就可以考虑从事研究型算法工程师甚至研究员。
岗位本身无高低,适合自己才是最好的。希望大家根据自身情况理性选择,避免盲目崇拜和盲目跟风~