首先,算法工程师和研发工程师都分三六九等。三六九等,包括专业能力,交际圈子,眼界生活。
所以,这也应该是我们的目标,这些提升上去了,money自然不是问题。因此不要为了挣钱而放弃成长的机会,也不要图了安逸不再努力,踏实学习。
博士
博士不管是做算法还是做研发都是一等人,如果有事业心,还是推荐做研发,如果做了算法,就是一个科研人了,很难在公司负责一块儿业务,做到管理层。只能说在哪里都会被供着,但是需要的是人脉。
博士有一些人是跟数学打交道,有一些人是跟底层打交道。也分算法、研发。每一门专业课大概都有对应方向的博士,《操作系统》:优化调度算法、内存机制,《组成原理》:CPU设计、总线设计、numa,《计算机网络》:新的网络协议、网络工具,《数据库》分布式数据库等等。算法方面,主要是数据相关,有数学建模算法。人工智能领域的商用主要是推荐系统,NLP,CV等,当然,机器人运动解算这些也是,主要是用到数学。但是算法在大厂中算是最出世而高贵的组织,达摩院,2012实验室。但是难做管理层。毕竟算法团队没有那么多人给你来管理。
硕士和本科生
硕士和本科生没有什么本质的差别,尤其是本科生做完毕业设计的时候,所有经历的事情,只是程度不同。研究生对于很多东西的认知,山头,牛导,国家级项目。知识的深度,对论文的接受度。学习习惯的固化。读论文写代码的能力。这些是有更多的优势,同时对于就业信息,对于人脉上的接触是有一些优势的。
对于硕士来讲,其实是有一些难选择的,因为做研发,其实挺亏,因为本科也可以做,如果是算法,本质上还是在做开发,用的都是较为成熟的解决方案,进行一些参数调整和模型优化。不是在做创造的事情。博士和海龟的存在,让研究生在算法方向的职业发展道路很艰难。
算法工程师
算法工程师更像是应用数学家,只不过这个应用领域是计算机,可以给互联网带来收益。
算法工程师相对而言,六等人更多一些,因为其本身的高门槛:学历,论文要求,数学功底,问题的抽象建模、解决能力。学历代表着努力,人脉,眼界等一系列优秀的证明,论文代表着一流的学习能力,广阔和深度的行业视野。但是这比较吃学历,清华北大中科大,上交浙大可以。其他学校一些很厉害的实验室也可以,南大的lambda,北邮的未来网络等等。
研发工程师
研发工程师的九等人多一些,或者叫码农,不是看不起谁,是自己的选择,只谈自身,不谈别人。因为行业门槛很低,同时需求较大,工资相比同年龄的人高出很多。只要能用现在的工具实现了功能。不需要了解底层实现,可以手把手的教会,不用怎么思考,不用很多学习。但是这不是研发工程师的全部,整体软件的架构,底层的了解,实现,优化,这才是核心。
研发工程师也是可以有底层研发的,比如Unix的开发,数据库优化等等。研发工程师也会做出创新性的成果,也会发论文。Unix也有着诸多大学实验室的联合贡献。基础架构跟算法其实类似,都是需要读论文,做实现。同样,这个也是由学历,能力,眼界决定的。
替代性和竞争力
两者做到核心都不可替代,不过有的人在学校里做到深处,有的人在公司里做到深处。但是在公司里要知道需要学习什么,这个是需要自己去悟的。
这里就不谈可替代性了,九等人的可替代性都很高,数据开发和软件开发主旋律都是在重复。相对来讲,数据相关的要稍微好一点点。
策略产品经理在工作中如何和算法工程师有效沟通,需要掌握哪些有用的沟通技巧和技能?
我估计很多朋友都会有类似的疑问:
策略产品经理是不是就是搞算法模型的?
如果是这样,那么他们和算法工程师有什么区别?
如果不是,那么他们怎么和算法工程师合作?
这些其实都是对策略产品经理这个岗位不了解的原因导致的,所以今天我们就来聊一下,策略产品经理到底在实际工作中如何与算法进行协作,他们各自的工作侧重点又在哪。
首先,我们先来看一下算法工程师。
其实算法工程师也是开发工程师的一种,所以他们的工作很聚焦,就是coding,为产品方案提供实现手段和方法。
因为算法的特殊性,每一个算法模型背后都会对应一个收敛目标,而通常实际工作当中,这个目标又是业务目标,所以相比一般的前后端开发工程师来讲,他们除了保证不出现BUG,按照产品方案去coding,更需要去理解业务目标,及目标的组成。
什么意思?
举个例子,比如在排序当中经常用到的CTR预估的算法模型,他的目标很简单,就是预估每个推荐或者排序结果的CTR,所以作为算法工程应该了解当前场景下CTR的计算口径、统计方式,以及内容有哪些维度信息可以给到参考,这些信息在业务维度的含义是什么等等。
这可能是前后端工程师不会去做的。
其次,我们再看一下策略产品经理。
关于什么是策略以及什么是策略产品经理,其实之前都有提到过。
关于策略产品经理,大家首先要有这样一个认知:策略产品经理首先他是个产品经理,所以,策略产品经理不是搞算法,搞模型的,发现业务、用户面临的问题,基于问题产出正确的方案,这种方案通常是通过数据的应用的方式,进而提升业务的核心指标。
最后,我们再看看策略产品经理如何与算法工程师进行协作?
我会把这两个角色的协作分为两个环节:输入和输出。
输入上,主要是业务维度的一些前置信息的输入上,主要包括以下几个方面
1. 目标同步
策略产品经理要及时同步当前场景阶段性目标的指标及其定义,尤其是在以算法模型为主的策略产品当中,这很重要。
比如拿短视频来举例,你当前的目标是追求播放时长,还是短视频点击率,这个对于算法同学训练模型至关重要。
2. 数据同步
首先,我要跟大家讲一点的就是:我们大多数人对于算法的爱是神秘的,认为算法是无所不能的,但其实并不是所有的策略都是通过算法模型来落地的,有时候规则的效果反而要优于算法。
这个大家可以慢慢体会,往后我也会写一篇文章聊一下这个事情。那么在不用算法模型落地的策略当作,策略产品经理需要给到算法哪些输入呢?
主要是在数据上。
参与规则计算的数据处理:数据量、数据时间窗的选择,脏数据的处理,数据加工以及数据时效的定义。
举个例子。你要使用用户的浏览数据来猜测用户的偏好,那么所有的浏览数据都需要用到么?明显不是,比如用户浏览1S很可能就不是一个正常的浏览,那么你参考它就不能得到准确的用户偏好。所以,这里其实有一个有效浏览的概念,那么如何定义有效浏览就是策略产品经理需要做的事情。
在输出上,算法与策略产品经理的主要协作点在于模型的效果评估上。
算法工程师可能更关注算法本身的好坏:比如准确率,召回率,AUC曲线等等;
策略产品经理则更关注算法模型在业务指标上的收益,所以基本上所有策略都会进行AB测试,观测核心指标的收益是正向,还是负向。
所以这里还是要说那句话:无论是规则还是算法,不管是白猫还是黑猫,能抓住老鼠的就是好猫。
补充两件事情:
第一件事情,做公司的高管,一定需要业务,管理,专业技能。做算法的始终是业务的一部分,所以其管理岗位少之又少,虽然工资比同水平的人要高一些。但是做算法基本上很大程度跟管理就绝缘了。除非能做到算法部门的leader,但是这又有多少需求呢。做研发在升值管理层这方面会有一些优势。
第二个事情,所有人都会有琐碎的事情,会浪费时间做不喜欢的事情,会走弯路,不可能所有的事情都喜欢,毕竟是在为雇主做事情。只是我们有很多时间用来学习,做深层次的优化和创新。这个需要知识积累,需要在看不进去的时候坚持,需要多年学习的习惯。哪怕别人在玩,我们可能依旧需要学习,虽然娱乐一定是更轻松的选择。但是大多数时候不会压榨多少时间,摸鱼和放松的时间都很多的,利用好上班的时间,最大效率的学习,认真的做事。下班了做自己真正喜欢的事情,社交也好,娱乐也罢。算法工程师和研发工程师也都是人,都走在同样的路上,坐着同样的地铁,过着普通人的生活。
(Zhang放放、夏唬人 综合整理)
所以,这也应该是我们的目标,这些提升上去了,money自然不是问题。因此不要为了挣钱而放弃成长的机会,也不要图了安逸不再努力,踏实学习。
博士
博士不管是做算法还是做研发都是一等人,如果有事业心,还是推荐做研发,如果做了算法,就是一个科研人了,很难在公司负责一块儿业务,做到管理层。只能说在哪里都会被供着,但是需要的是人脉。
博士有一些人是跟数学打交道,有一些人是跟底层打交道。也分算法、研发。每一门专业课大概都有对应方向的博士,《操作系统》:优化调度算法、内存机制,《组成原理》:CPU设计、总线设计、numa,《计算机网络》:新的网络协议、网络工具,《数据库》分布式数据库等等。算法方面,主要是数据相关,有数学建模算法。人工智能领域的商用主要是推荐系统,NLP,CV等,当然,机器人运动解算这些也是,主要是用到数学。但是算法在大厂中算是最出世而高贵的组织,达摩院,2012实验室。但是难做管理层。毕竟算法团队没有那么多人给你来管理。
硕士和本科生
硕士和本科生没有什么本质的差别,尤其是本科生做完毕业设计的时候,所有经历的事情,只是程度不同。研究生对于很多东西的认知,山头,牛导,国家级项目。知识的深度,对论文的接受度。学习习惯的固化。读论文写代码的能力。这些是有更多的优势,同时对于就业信息,对于人脉上的接触是有一些优势的。
对于硕士来讲,其实是有一些难选择的,因为做研发,其实挺亏,因为本科也可以做,如果是算法,本质上还是在做开发,用的都是较为成熟的解决方案,进行一些参数调整和模型优化。不是在做创造的事情。博士和海龟的存在,让研究生在算法方向的职业发展道路很艰难。
算法工程师
算法工程师更像是应用数学家,只不过这个应用领域是计算机,可以给互联网带来收益。
算法工程师相对而言,六等人更多一些,因为其本身的高门槛:学历,论文要求,数学功底,问题的抽象建模、解决能力。学历代表着努力,人脉,眼界等一系列优秀的证明,论文代表着一流的学习能力,广阔和深度的行业视野。但是这比较吃学历,清华北大中科大,上交浙大可以。其他学校一些很厉害的实验室也可以,南大的lambda,北邮的未来网络等等。
研发工程师
研发工程师的九等人多一些,或者叫码农,不是看不起谁,是自己的选择,只谈自身,不谈别人。因为行业门槛很低,同时需求较大,工资相比同年龄的人高出很多。只要能用现在的工具实现了功能。不需要了解底层实现,可以手把手的教会,不用怎么思考,不用很多学习。但是这不是研发工程师的全部,整体软件的架构,底层的了解,实现,优化,这才是核心。
研发工程师也是可以有底层研发的,比如Unix的开发,数据库优化等等。研发工程师也会做出创新性的成果,也会发论文。Unix也有着诸多大学实验室的联合贡献。基础架构跟算法其实类似,都是需要读论文,做实现。同样,这个也是由学历,能力,眼界决定的。
替代性和竞争力
两者做到核心都不可替代,不过有的人在学校里做到深处,有的人在公司里做到深处。但是在公司里要知道需要学习什么,这个是需要自己去悟的。
这里就不谈可替代性了,九等人的可替代性都很高,数据开发和软件开发主旋律都是在重复。相对来讲,数据相关的要稍微好一点点。
策略产品经理在工作中如何和算法工程师有效沟通,需要掌握哪些有用的沟通技巧和技能?
我估计很多朋友都会有类似的疑问:
策略产品经理是不是就是搞算法模型的?
如果是这样,那么他们和算法工程师有什么区别?
如果不是,那么他们怎么和算法工程师合作?
这些其实都是对策略产品经理这个岗位不了解的原因导致的,所以今天我们就来聊一下,策略产品经理到底在实际工作中如何与算法进行协作,他们各自的工作侧重点又在哪。
首先,我们先来看一下算法工程师。
其实算法工程师也是开发工程师的一种,所以他们的工作很聚焦,就是coding,为产品方案提供实现手段和方法。
因为算法的特殊性,每一个算法模型背后都会对应一个收敛目标,而通常实际工作当中,这个目标又是业务目标,所以相比一般的前后端开发工程师来讲,他们除了保证不出现BUG,按照产品方案去coding,更需要去理解业务目标,及目标的组成。
什么意思?
举个例子,比如在排序当中经常用到的CTR预估的算法模型,他的目标很简单,就是预估每个推荐或者排序结果的CTR,所以作为算法工程应该了解当前场景下CTR的计算口径、统计方式,以及内容有哪些维度信息可以给到参考,这些信息在业务维度的含义是什么等等。
这可能是前后端工程师不会去做的。
其次,我们再看一下策略产品经理。
关于什么是策略以及什么是策略产品经理,其实之前都有提到过。
关于策略产品经理,大家首先要有这样一个认知:策略产品经理首先他是个产品经理,所以,策略产品经理不是搞算法,搞模型的,发现业务、用户面临的问题,基于问题产出正确的方案,这种方案通常是通过数据的应用的方式,进而提升业务的核心指标。
最后,我们再看看策略产品经理如何与算法工程师进行协作?
我会把这两个角色的协作分为两个环节:输入和输出。
输入上,主要是业务维度的一些前置信息的输入上,主要包括以下几个方面
1. 目标同步
策略产品经理要及时同步当前场景阶段性目标的指标及其定义,尤其是在以算法模型为主的策略产品当中,这很重要。
比如拿短视频来举例,你当前的目标是追求播放时长,还是短视频点击率,这个对于算法同学训练模型至关重要。
2. 数据同步
首先,我要跟大家讲一点的就是:我们大多数人对于算法的爱是神秘的,认为算法是无所不能的,但其实并不是所有的策略都是通过算法模型来落地的,有时候规则的效果反而要优于算法。
这个大家可以慢慢体会,往后我也会写一篇文章聊一下这个事情。那么在不用算法模型落地的策略当作,策略产品经理需要给到算法哪些输入呢?
主要是在数据上。
参与规则计算的数据处理:数据量、数据时间窗的选择,脏数据的处理,数据加工以及数据时效的定义。
举个例子。你要使用用户的浏览数据来猜测用户的偏好,那么所有的浏览数据都需要用到么?明显不是,比如用户浏览1S很可能就不是一个正常的浏览,那么你参考它就不能得到准确的用户偏好。所以,这里其实有一个有效浏览的概念,那么如何定义有效浏览就是策略产品经理需要做的事情。
在输出上,算法与策略产品经理的主要协作点在于模型的效果评估上。
算法工程师可能更关注算法本身的好坏:比如准确率,召回率,AUC曲线等等;
策略产品经理则更关注算法模型在业务指标上的收益,所以基本上所有策略都会进行AB测试,观测核心指标的收益是正向,还是负向。
所以这里还是要说那句话:无论是规则还是算法,不管是白猫还是黑猫,能抓住老鼠的就是好猫。
补充两件事情:
第一件事情,做公司的高管,一定需要业务,管理,专业技能。做算法的始终是业务的一部分,所以其管理岗位少之又少,虽然工资比同水平的人要高一些。但是做算法基本上很大程度跟管理就绝缘了。除非能做到算法部门的leader,但是这又有多少需求呢。做研发在升值管理层这方面会有一些优势。
第二个事情,所有人都会有琐碎的事情,会浪费时间做不喜欢的事情,会走弯路,不可能所有的事情都喜欢,毕竟是在为雇主做事情。只是我们有很多时间用来学习,做深层次的优化和创新。这个需要知识积累,需要在看不进去的时候坚持,需要多年学习的习惯。哪怕别人在玩,我们可能依旧需要学习,虽然娱乐一定是更轻松的选择。但是大多数时候不会压榨多少时间,摸鱼和放松的时间都很多的,利用好上班的时间,最大效率的学习,认真的做事。下班了做自己真正喜欢的事情,社交也好,娱乐也罢。算法工程师和研发工程师也都是人,都走在同样的路上,坐着同样的地铁,过着普通人的生活。
(Zhang放放、夏唬人 综合整理)
相关职位: