知乎精选

您所在的位置:网站首页 南昌程序员好找工作吗知乎 知乎精选

知乎精选

2024-07-09 17:34| 来源: 网络整理| 查看: 265

本文仅作为学术分享,如有侵权作删文处理

1:陈东文的回答

链接:https://www.zhihu.com/question/409815271/answer/2851056492

后端开发对服务正确性和稳定性负责,算法工程师对产品效果负责,这是二者最大的区别。

你要把自己当作能把自己想法用代码、算法实现出来的产品经理,而不要把自己当作利用公司数据验证业界 SotA 论文鲁棒性的硕士研究生。

一个只会照着论文实现模型的算法工程师,本质上和只会 CURD 的后端没什么两样,是完全没搞懂自己的核心竞争力在什么地方。最多实现模型的门槛高一点,可能得读个 211 硕士,而 CURD 来个带专小伙也能做罢了。

算法工程师的核心产出来自于产品效果的提升,比如一款信息流产品,推荐算法工程师要负责的指标就是 DAU、用户使用时长、次留、CTR、各种互动率、负反馈、商业化收入等等,要做的就是通过各种办法来提高这些指标。而不是今天看了篇 DIEN 就吭哧吭哧去实现,俩礼拜后摸了摸后脑勺,这咋不 work 呢。

通常来说,从业务上发现新点子,比优化模型要事半功倍得多。比如降负反馈可以提留存,如果这时候推荐链路中没有把负反馈加到模型中,那就加上去好了,这样负反馈数会快速下降,留存也会提高。比如点外卖,listwise 模型就是要比 pointwise 好一万倍,在没有多样性打散的情况下,假设你是个平时爱吃汉堡的人,pointwise 能给你连推十八个汉堡,listwise 就能自适应调整多样性,毕竟三五家汉堡就差不多够了,再往里塞汉堡也没什么鸟用,不如试试炸鸡,拉面,小炒肉盖饭,指不定你今天想换换口味呢。

所以说业务洞察是对模型结构的降维打击。

当你对这块业务有足够深入的认知,那你在这个行业的发展就可以不仅仅局限于算法工程师了,你可能成为业务线负责人,甚至自己创业当 CEO。

从这一点来说,算法岗的上限是要高于普通开发岗的。

当然,算法模型能力肯定也不应该落下,但这玩意也没多大的技术深度,要是写了几年还是看不懂模型是怎么运行的,那只能说天赋有限,能混口饭吃就该满足了,不过这也强过了大多数普通人,苟住就行。

好的后端很难得,可以根据技术需求设计出性价比、扩展性、易用性都非常高的架构,并且把它实现出来,是每个公司都梦寐以求的人才,但这很困难,反正我可能这辈子也没这水平,是大部分人都难以企及的高度。做个普通后端,上限在这摆着,想升职加薪,又没那么牛逼的能力,最后只能卷回业务中,这时候可能还不如算法工程师来得方便。

2:不困先生的回答

链接:https://www.zhihu.com/question/409815271/answer/2154401411

如何看待2019年算法岗一片红海

如何看待2020年算法岗诸神黄昏

如何看待2021年算法岗灰飞烟灭

诸如此类的标题,相信大家在知乎都看到过。困哥的粉丝大部分是面临找工作的同学和面临方向选择的同学,所以一直有很多同学问困哥同一个问题:「我该选择算法岗还是开发岗呢」

这本来不应该是一个问题,一个标准的答案就是你喜欢什么就做什么。

但是,因为这样那样的问题,很动人开始动摇、犹豫、难以抉择,我把大家纠结的原因总结了一下,一条一条为大家分析

1.我喜欢算法,但是算法竞争太大了,我想转开发

2.我读研了,感觉不做算法亏了

3.我非科班,想转计算机,应该学什么

我喜欢算法,但是算法竞争太大了,我想转开发

算法岗五大标配:「论文、比赛、实习、项目、学历」,一般想进大厂的话,五者至少得有其三。所以我们完全可以考虑一下自己的核心竞争力是什么。如果你是国内计算机TOP学校的学霸,或者是业内顶尖实验室的大佬,那么学历这关完全是你的加分项。

如果你来自末流985或者稍有名气的211,那你的学历也已经达到了大厂的门槛,至少不会减分。

那如果不是上述的情况,那你就要从别的地方下功夫了。比如项目和实习,如果你是本科生,那么可能做项目的机会会比较少一点,那可以自己尝试着做一些小工具,玩玩开源等等。如果觉得这些操作起来没有方向,那一段实习经历可以为你的简历加分不少。更重要的是,「日常实习的门槛通常会低很多」,所以一段大厂的实习,是你能拿到大厂offer的敲门砖。

而论文比赛这种比较看天,如果你所在实验室比较强势,那么你发论文会比较轻松一点,不然的话,全靠个人努力和运气,是比较费劲的。比赛也是如此。而且就目前这个形式来讲,一篇顶会或者一个TOP3的比赛,并不能保你进大厂。

公司更关注的是你与岗位的匹配度,「如果你有论文,他们关心的是你的论文能不能直接拿到工作岗位上来用;如果你有竞赛,他们关心的是你的方法能不能直接为公司带来利润」。

最后再提一点就是「工程能力」,现在算法岗似乎越来越看重工程能力(research的岗位除外,不过这种岗位大部分面向博士,也比较少)。很多人会疑惑,什么是工程能力,工程能力怎么考核。这里困哥告诉你,公司对于候选人工程能力的考核就两点:算法题和项目。算法题很好理解,而对于项目,面试官最喜欢的就是「已经上线」的项目,为什么一定要上线?因为对于算法岗来说,离线的实验和上线是完全不一样的概念。离线实验效果再好,也需要线上的检验,线上不合格,你这个项目就不合格。这就是面试官那么看重上线项目的原因。

那么对于不放实习的学校,怎么办呢?我们也可以专心最好实验室的项目,往深了去做,虽然没有公司上线项目那么亮眼,但也是我们的加分项了。

❝ 所以,这里说出困哥的建议,如果你出身名校,那么在有了大厂实习和实验室靠谱项目的情况下,可以尝试大厂的算法岗;如果你出身非名校的强劲实验室,那么专心发paper,你会有意想不到的收获;如果你不属于以上两者,那么建议打一打比赛,如果比赛含金量较高,且取得了一个好成绩,也可以冲一冲与我们自身较为匹配的算法岗。 ❞

2. 我读研了,感觉不做算法亏了

向困哥咨询的很多同学都有一个误区,就觉得研究生必须得做算法,不然白读了?

困哥不知道这种误区是哪里来的,这里要说的一点是,不是本科做了几个课设的小项目,就算入门开发了的,「开发的难度比我们想象的高很多」。举个最简单的例子,做算法,用tensorflow或者pytorch,没有开发人员写好这些工具我们用什么呢?写出这两个工具比构建一个神经网络难多了。再比如,大数据下,我们都在集群上跑训练数据,没有开发人员创造这些大数据平台,我们用什么跑代码呢?

以上虽然属于不同的岗位,但在这里我们统称为开发岗,可以确定的一点是,「开发岗的范围比算法岗大、岗位更多、可研究的点更多」。所以,并不是说硕士或者博士就一定要做算法,开发也有很多值得研究的东西,难度也非常大。

3. 我非科班,想转计算机,应该学什么

随着互联网的蓬勃发展,很多同学都从其他专业转向计算机专业。同样的问题,也存在于这些转专业的同学中。

对于这类同学,困哥是完全相信你们的自学能力,所以方向选择就看你个人兴趣了,这里困哥要指出几点:

1.目前算法和开发的「薪水差不多」,所以不存在为了高薪选择算法的说法

2.算法和开发从头学起的「难度差不多」,所以不要觉得哪个入门快就选哪个

3.就目前的形式来看,「算法确实比开发竞争更大,就业难度更大」

4.算法和开发都要加班,不存在哪个加班少,加班情况主要看公司和部门

❝ 所以,如果你转计算机是为了更容易的就业,你就选开发。其他所有的考虑,都取决于你的个人兴趣。从事一项自己喜欢的工作,真的是非常非常重要的。❞好了,以上就是困哥对「我该选择算法岗还是开发岗呢」问题的解答。总结一下,也纠正一下大家的误区:开发岗比算法岗容易就业,深入研究的难度不低于算法岗;算法岗工资不比开发岗高,活也不比开发岗轻松。

❝ 所以,如果你转计算机是为了更容易的就业,你就选开发。其他所有的考虑,都取决于你的个人兴趣。从事一项自己喜欢的工作,真的是非常非常重要的。 ❞

好了,以上就是困哥对「我该选择算法岗还是开发岗呢」问题的解答。总结一下,也纠正一下大家的误区:开发岗比算法岗容易就业,深入研究的难度不低于算法岗;算法岗工资不比开发岗高,活也不比开发岗轻松。

3:行痴的回答

链接:https://www.zhihu.com/question/409815271/answer/2851970336

4:探索者的回答

链接:https://www.zhihu.com/question/409815271/answer/2793675165

看了好几个高赞回答,感觉没一个回答到点子上的,以下是我的回答:

1. 从短期来看,算法岗比开发岗挣得略多5-10%,但开发岗和算法岗之间的薪资差异会越来越小。选择算法主要是为了解决你的短期温饱问题。

2.从长期来看,算法岗的晋升道路窄,上限低。开发岗位晋升道路宽,上限高。都是35岁没转到管理层就会被裁。做算法的无法对整个软件项目的各个流程有所了解,自然当不了高级管理层,也从来没看到有做算法的担任了整个公司的高管,顶天了就是个算法部门的小主管,也就是公司的中层,高层根本上不去,大部分算法工程师也还是螺丝钉。

而对开发岗而言,无论做前端还是做后端的工程师,随着技术的精进,公司业务的推进,前端后台大数据开发的技术他们都会接触到,也就会对整个软件项目有更深层次的的理解,也会经常和产品经理打交道,甚至通过此了解到公司产品是靠什么盈利,产品怎样设计让用户觉得更好用。这样的机遇会让开发岗的朋友在未来走得越来越远,晋升道路越走越广阔,未来完全可以担任公司的CTO或者CEO,不少国外大厂的CEO都是从开发起家做到了CEO。

做算法起家的,最牛的,在可见的未来会当一个大厂lab的领导人,或者某个算法小组的小组长就是人生的巅峰了。之后的命运,很显然,如果没有晋升成功,就是35岁被毕业了哈哈(hr裁员最喜欢裁的就是这种无法给公司带来效益的科研部门了,相对来说能给公司带来效益的,偏业务型的算法工程师还不那么容易被裁,也就是大家所说的结合业务调调参数,复现论文,跑跑框架,SQL取数)

3.如果打工,算法岗长远看在公司里的上限比开发岗位低多了。但如果搞AI创业,算法将极大可能会是你产品的核心技术,开发工程师只能算你的辅助。

4.如果不是家里太穷,程序员和算法工程师都不推荐做,尤其不推荐去公司打工。实在感兴趣可以当业余爱好或者自行创业。程序员职业寿命从25岁毕业开始到35岁只有10年(大部分程序员也无法转管理)。如果是30岁博士毕业,则职业寿命只有5年。

如果真想打工,我推荐去澳大利亚当服务员,澳大利亚普通的服务员年薪就有50-60w rmb,一直干到60岁都没问题, 如果在澳大利亚自己开餐厅,开得好一年两三百万RMB妥妥的。我认识不少从服务员做起开餐厅的,在悉尼都买了好几套房了,一套房就是七八百万RMB。清洁工都能住大别墅开宝马。

程序员则和运动员类似,而在知名俱乐部效力的运动员薪资却远高于在知名大厂效力的天才程序员,请参考中国足球队,以及世界范围内的阿根廷足球队/巴西足球队等,内马尔在20岁时,年薪已经达到2000w美金,其他足球队员也不会低。你人工智能/编程能力再厉害,天赋再高,智商达到IQ200,厉害如ResNet发明人何凯明达到世界顶级水平,进入facebook年薪也就一年50-100w 美金(算上股票,现在公司股价还腰斩了),这还是他phd毕业都已经接近30岁了,少挣了10年的钱,工资和内马尔/梅西相比连人家脚趾头都不如,c罗随便在ins上发一条广告,就能赚他6年的工资。

衡量你的科研成果/工作是否有价值,就是看其他人是否愿意为你的科研成果/工作买单,愿意为此付费。而顶级程序员的工资远低于顶级足球远动员,甚至比不过国足的工资,普通程序员的工资更比不过澳大利亚的清洁工。因此程序员可以说其社会影响力和对社会的推动效果远低于运动员,也比不过清洁工,电焊工,搬家工,安装玻璃工(一天就挣上千刀),安装家门工,电工。哪怕你去国足踢球,人家还会因为你踢不好让你退钱,你当程序员,别人让你退钱的机会都没有,在一线城市安家都困难,就是个社会边缘人物。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3