长远来看算法岗比开发岗香吗?
共 3580字,需浏览 8分钟
·
2023-10-09 23:45
开发岗 != CRUD、算法岗 != 调参侠 ⬇️
开发岗的基建非常成熟,各种框架和解决方案基本覆盖大部分应用场景,按部就班跟着行业线性前进就可以。
而算法岗,注意这里主要指重创新和研究的互联网算法岗,不指强工业应用相关的算法岗,发展不稳定,神经网络的黑盒效应无法解决,但门槛高更具核心竞争力,并且现阶段不可否认资本更青睐 AI 产品,算法岗的市场价值高于开发岗。
我个人理解,随着算法岗体系的成熟,后端和算法可能会趋于一致性,毕竟无论是哪种岗位,都是为业务服务,可能算法和开发都将成为必备的程序技能。
另外也要看下自己的兴趣,反正我做起算法看起 paper 来真的是满脑子“逃跑”
以下摘自网络:
https://www.zhihu.com/question/409815271/answer/2166277068
作为一个过来人,我认为算法岗位在未来很长一段时间都会非常的稳定而有前途,当然不是说开发岗位不香,只是相比于算法岗位略显逊色。
算法工程师,这个岗位在十年前可能还没有那么流行,因为那个时候所有的硬件,芯片还不够强大,人们的需求也不大,所以大部分IT行业都不需要算法工程师,拿我比较熟悉的图像,视频算法来讲吧,在十几年以前,那会儿电视,显示设备还是比较笨重,由于硬件芯片的限制,网速的限制,一部分用户都还用的显像管的电视,用的也是卫星接收器,那个时候连所谓的机顶盒都没有,接受过来的信号直接显示画面,没有所谓的NR,SR,sharpness,color enhance,tone mapping 等一些处理,主要还是受制于芯片工艺的限制,计算量大,无法保证实时性,所以不会有太多的算法在上面,所以那个时候算法工程师这个职位还不是非常显形。
你可以想象一下,在十几年以前,普通人用的手机,还都是诺基亚得蓝屏手机,那会还有很多国产手机,三星,HTC,LG,索爱,魅族,苹果。由于价格的原因,大部分人还是会选择诺基亚,或者国产手机。那会我还依稀得记得,大家比较手机的时候还不是看谁的拍照好看,谁的录制的视频效果好。而是谁的手机是触屏的,谁的手机屏幕大,用户的需求还体现在功能上,对一些显示的画质,视频的清晰度等等都还没有关注到,所以那会儿开发工程师会更香。
开发工程师的目标非常明确,而且大部分都来自于客户的需求喝反馈,所以其实难度会稍微小一些。而算法工程师则不一样,因为算法要面对的是一些比较模糊的问题,比如说:这张图像噪声太大了,需要降噪,让图像看起来更干净一些。但是有个问题,降噪降到什么程度处理过的图像时可以接受的?看起来画面更加舒适?这没有一个明确的客观指标来衡量,所以设计算法的时候就会变得比较模糊,而且可能还需要在一定范围内强度可调。所以一名合格的算法工程师不仅需要非常扎实的基础知识,同时还需要工程经验,这样结合才会设计出鲁棒性很强的算法。所以在我看来对于算法工程师的要求会更高,算法的开发周期夜会很长,因为不断要调试,配合整个系统层面的设定等等。
在当下,算法是一个产品的核心竞争力,如果具有现在市场上现有产品的差异化算法,那么就会使得你将来的产品在市场上分得一杯羹。尤其是这几年大陆,芯片行业爆发,很多公司都开始投入去做芯片,殊不知芯片行业是一个非常烧钱的行业,投入巨大,如果没有核心竞争力,很容易血本无归,这个时候就需要优秀的算法工程师,设计具有差异化的算法,才有可能做出性能优异的产品。
总之,在当今IT行业,算法工程师相比于开发工程师,技术要求会更高,当然工作难度也更大。在未来算法工程师也一定会是一个非常吃香的岗位。
https://www.zhihu.com/question/409815271/answer/2851056492
后端开发对服务正确性和稳定性负责,算法工程师对产品效果负责,这是二者最大的区别。
你要把自己当作能把自己想法用代码、算法实现出来的产品经理,而不要把自己当作利用公司数据验证业界 SotA 论文鲁棒性的硕士研究生。
一个只会照着论文实现模型的算法工程师,本质上和只会 CURD 的后端没什么两样,是完全没搞懂自己的核心竞争力在什么地方。最多实现模型的门槛高一点,可能得读个 211 硕士,而 CURD 来个带专小伙也能做罢了。
算法工程师的核心产出来自于产品效果的提升,比如一款信息流产品,推荐算法工程师要负责的指标就是 DAU、用户使用时长、次留、CTR、各种互动率、负反馈、商业化收入等等,要做的就是通过各种办法来提高这些指标。而不是今天看了篇 DIEN 就吭哧吭哧去实现,俩礼拜后摸了摸后脑勺,这咋不 work 呢。
通常来说,从业务上发现新点子,比优化模型要事半功倍得多。比如降负反馈可以提留存,如果这时候推荐链路中没有把负反馈加到模型中,那就加上去好了,这样负反馈数会快速下降,留存也会提高。比如点外卖,listwise 模型就是要比 pointwise 好一万倍,在没有多样性打散的情况下,假设你是个平时爱吃汉堡的人,pointwise 能给你连推十八个汉堡,listwise 就能自适应调整多样性,毕竟三五家汉堡就差不多够了,再往里塞汉堡也没什么鸟用,不如试试炸鸡,拉面,小炒肉盖饭,指不定你今天想换换口味呢。
所以说业务洞察是对模型结构的降维打击。
当你对这块业务有足够深入的认知,那你在这个行业的发展就可以不仅仅局限于算法工程师了,你可能成为业务线负责人,甚至自己创业当 CEO。
从这一点来说,算法岗的上限是要高于普通开发岗的。
当然,算法模型能力肯定也不应该落下,但这玩意也没多大的技术深度,要是写了几年还是看不懂模型是怎么运行的,那只能说天赋有限,能混口饭吃就该满足了,不过这也强过了大多数普通人,苟住就行。
好的后端很难得,可以根据技术需求设计出性价比、扩展性、易用性都非常高的架构,并且把它实现出来,是每个公司都梦寐以求的人才,但这很困难,反正我可能这辈子也没这水平,是大部分人都难以企及的高度。做个普通后端,上限在这摆着,想升职加薪,又没那么牛逼的能力,最后只能卷回业务中,这时候可能还不如算法工程师来得方便。
https://www.zhihu.com/question/409815271/answer/1372413542
这两个不矛盾,算法岗进去做开发,开发进去做做算法都很正常,你这是没入行的迷茫,入行了就知道你就是块砖,哪里需要哪里搬,不好用就扔,你觉得不爽就跳,跳也不成就转行,就这么几个分支而已,什么叫长远,有越挣越多的预期就叫长远,当然家庭条件好的当我在扯淡
https://www.zhihu.com/question/409815271/answer/2167816577
假定所谓算法岗指机器学习算法岗,那么现阶段做的一定是锦上添花的事情。开发岗做的事情可能是织锦,也可能是在糊烂泥。织锦的比绣花的香,糊烂泥的则远不如。总的来说,开发岗比算法岗的上限略高,底线远低,平均不及。
有些东西看起来好,是因为不好的部分都消亡了,大家看不见。
https://www.zhihu.com/question/409815271/answer/2163760327
长远来看是开发香, 算法只是一个技能长板罢了。
算法工程师本质也是开发, 只是机器学习、深度学习的知识比较多而已。
https://www.zhihu.com/question/409815271/answer/2842437132
你以为的算法是阅读最新的paper,有了新的idea,提出新的模型上线,业务指标迅速上升。实际上,论文复现不出来,清洗数据写SQL,写规则,上线后指标负向,你还查不出原因
各大厂算法已经没有壁垒,关键的是业务和数据
分享大厂面试真题原创题解 & 成长经验.
面试题库 & 求职信息: itmtx.cn