找回密码
 立即注册
查看: 474|回复: 7

计算机开发岗和算法岗都有些什么区别?

[复制链接]
发表于 2021-11-2 05:45 | 显示全部楼层 |阅读模式
在工作内容,工作强度,工作时薪等上面有些什么区别?哪个更累?
发表于 2021-11-2 05:53 | 显示全部楼层
简单说:开发岗位务实,算法岗位务虚
1.大多数的人没办法长久地做纯算法岗位,但开发岗位永远缺人。
2.项目吹泡泡的时候,算法岗位就能获得很高的估值,比较夸张的时候薪酬多个0,项目缺钱的时候算法岗位也很容易被当成鸡肋项目,或者因为成本节约考虑而被优化掉。
3.目前常规互联网公司的大部分算法岗位的事情,其实能力强的开发人员通过自学也多少能做,甚至因为熟悉业务和开发,在特定方面还有优势,但无奈背书很重要。
4.算法给人带来希望。开发很多事情推演下来做不了就是做不了,但AI算法可以讲一个故事,给老板和市场带来希望,融到钱。为了让自己讲的故事更加可信,需要比较好的背书(这里不否认那些大牛以及他们论文的价值,只是讲一些公司实操上面的事情)。
5.很多互联网采取的是 用开发务实+算法讲故事的套路,“全都要”的套路。互联网很多是估值,没有算法很难讲故事,提升估值。很多公司虽然可能用着"很low但就TM短平快 且有效“的策略做成了事情,对外说的时候也大抵会说自己用了高大上的算法。
6.职场里面,很多leader,出身是大厂算法部门,出去带团队,也会带着一大帮算法。开发岗位薪资偏低,很多leader也想招算法,AI+中台+大数据,可以在公司内部抢资源/抢项目中 用名头压住别的团队。 底下人工资高了,leader工资自然会提高。底下人数变多了,leader也自然职位提升(哈哈 ,阴谋论听听就好)...
7.兼顾算法+开发能力,并且算法或者开发很强的人,背书也很牛自然是最好的。
=======有人点赞更新====
8.基于5还会出现,开发+运营初步做成了一件事儿(比如日活达到xxx万,营收达到x亿),然后大数据+算法+中台团队就会去接管原来项目(理由就是你们这么做真low,我们是高大上的业界顶尖标准),老板也会想着:有了这种团队,原来项目一定会一飞冲天,突破瓶颈,羽化登仙。。我经历过两次这种事情,结果都不怎么样,目前是在第三次,希望这次能一飞冲天吧
=======再补一个========
9.很多东西一旦上了规模,很难不牵扯算法。
比如做电商,传统小公司可能是搞一个团队去运营一个品类比如电子产品,甚至细分品类(比如充电手机壳),但这个细分品类哪怕做成了,利润天花板也不高,不能满足资本的胃口。。。如果要扩展到另一个细分品类(比如防水照相机),那么团队/运营很可能说我们没有xx经验,需要xx时间的积累,甚至有可能失败,这样就很难让人接受了。
资本,更愿意听到的是:我用一个AI模型实现了xx,我稍微调整下参数和模型(甚至自适应调参),可以快速横向复制扩展到所有大小品类,甚至可以跨行业,吃下所有行业,资本+AI可以无限自我强化,指数级扩张,统一世界,但目前如果真的能实现这个,谷歌之类的公司早就统一世界了。
10.目前互联网圈可能都隐约感觉到,中大型公司也开始增速减缓了,靠着传统开发运营的话没故事讲了,可能撑不起大资本的高估值,哪怕有时候知道算法是一条不怎么靠谱的路,不靠谱的路也总比没路要好吧 。
总不能说“接下来没得玩,留两个守着,其他人原地解散吧“。算法多吃一口吃肉,开发也可能会多喝一口汤,唇亡齿寒...很多时候,也是互相理解吧。
发表于 2021-11-2 05:58 | 显示全部楼层
从事大数据的第五个年头,这两个岗位的工作内容我都接触过,目前我带的大数据团队中既有算法工程师也有开发工程师,所以我说一说这两个岗位的区别,以及未来的发展方向。


算法设计与算法实现通常涉及到算法的岗位有两个,分别是算法设计和算法实现,现在有不少团队把这两个岗位进行合并,做算法设计的同时也要负责实现。但是也有一些团队是分开的,做算法设计的不管实现过程。
目前我带的团队中算法设计和算法实现是一个岗位,也就是说负责算法设计的同时要负责实现,大部分算法实现目前使用Python语言来完成。目前团队中做算法岗位的工程师都是研究生毕业,有数学专业、物理专业、计算机专业毕业的。从工作的复杂性上来说,算法工程师的工作强度还是比较大的,但是算法工程师的职业周期也比较长。
很多算法工程师最终成长为企业的首席科学家,或者是首席技术官等岗位,可以说算法工程师的发展前景还是非常不错的。
开发岗位软件团队的大部分岗位都是开发岗位,有前端开发、后端开发、移动端开发等,可以说大部分程序员做的都是开发岗的工作。
与算法岗位不同的是,开发岗位人数多,占比大,而且大部分开发岗位的职业周期都比较短,一般开发岗位在做到一定年龄(比如35岁)之后都会转型。
一部分会转向项目经理等管理岗位,一部分会转型做架构师,还有一部分转型为行业咨询专家等,当然,也有一部分开发人员转型为算法工程师。
从连贯性上来说,开发岗位没有算法岗位的连续性强,不少开发岗位的程序员面临二次学习的问题。
如果有扎实的数学基础,我还是建议程序员多从事一些关于算法方面的工作,毕竟程序开发说到底就是个数学问题。算法工程师的职业周期也非常长,35岁对于算法工程师来说职业生涯才刚开始。
但对于学历不好,并且数学基础不扎实或对数学不那么感兴趣的,我是建议从事开发岗,跳槽的机会也比较多。
最后我整理了一些关于开发和算法的书单,这些都是我看过并且比较不错的,大家可以自行下载。

计算机必备书籍(持续更新,附下载地址)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-2 06:05 | 显示全部楼层
开发岗和算法岗相比,大致上来说:
工作内容,开发岗的代码工作量要更多,尤其是刚入行的初级开发,日常就是一线写代码,工作强度跟公司氛围和项目组有关,如果是比较轻松的氛围,那么强度也不至于太过,如果公司本身奉行996,那么不管在哪个岗位,都不会轻松。
算法岗的话,有分为偏研究的算法和偏落地的算法,偏研究的算法,还有很多不同的方向,具体的工作内容要看公司的主要业务做什么,团队主要负责什么。
薪资待遇上,普遍意义上,算法会比开发高一些,但是也要看岗位职级,如果能力极强,那么开发也未必不能拿到比算法更高的薪酬。长远来看,开发走到架构师层面,也不比一般的算法差的。比如这几年的大数据开发工程师,薪资水平就比一般的Java开发要高,越是经验丰富,负责过体量比较大的平台项目,是非常吃香的。
发表于 2021-11-2 06:05 | 显示全部楼层
就记住一点,同样的情况下,算法岗位薪资更高
发表于 2021-11-2 06:11 | 显示全部楼层
最近有很多同学问我,我该选择算法还是开发?这本来不应该是一个问题,一个标准的答案就是你喜欢什么就做什么!
但是,因为这样那样的问题,很动人开始动摇,我们把大家动摇的原因总结了一下,我们一条一条为大家分析:
    我喜欢算法,但是算法竞争太大了,我想转开发我读研了,感觉不做算法亏了我非科班,想转计算机,应该学什么
我喜欢算法,但是算法竞争太大了,我想转开发

算法岗五大标配:「论文、比赛、实习、项目、学历」,一般想进大厂的话,五者至少得有其三。所以我们完全可以考虑一下自己的核心竞争力是什么。如果你是国内计算机TOP20学校的学霸,或者是业内顶尖实验室的大佬,那么学历这关完全是你的加分项。如果你来自末流985或者稍有名气的211,那你的学历也已经达到了大厂的门槛,至少不会减分。那如果不是上述的情况,那你就要从别的地方下功夫了。比如项目和实习,如果你是本科生,那么可能做项目的机会会比较少一点,那可以自己尝试着做一些小工具,玩玩开源等等。如果觉得这些操作起来没有方向,那一段实习经历可以为你的简历加分不少。更重要的是,日常实习的门槛通常会低很多,所以一段大厂的实习,是你能拿到大厂offer的敲门砖。
而论文比赛这种比较看天,如果你所在实验室比较强势,那么你发论文会比较轻松一点,不然的话,全靠个人努力和运气,是比较费劲的。比赛也是一样,难度较之前几点都比较大。但是一篇顶会或者TOP3的比赛,几乎已经能保你进大厂了。
所以,这里说出我的建议,如果你出身名校,那么在有了大厂实习和实验室靠谱项目的情况下,可以冲一冲大厂的算法岗;如果你出身非名校的强劲实验室,那么专心发paper,你会有意想不到的收获;如果你不属于以上两者,那么建议打一打比赛,如果比赛取得了一个好成绩,也建议你冲一冲算法岗。
我读研了,感觉不做算法亏了

这里要说的一点是,不是本科做了几个课设的小项目,就算入门开发了的,开发的难度比我们想象的高很多。举个例子,做算法,用tensorflow或者pytorch,没有开发人员写好这些工具我们用什么呢?写出这两个工具比构建一个神经网络难多了。再比如,大数据下,我们都在集群上跑训练数据,没有开发人员创造这些大数据平台,我们用什么跑代码呢?
还有云计算,虚拟化,并行化,分布式,数据库,每一个都很有含金量。
所以,并不是说硕士或者博士就一定要做算法,开发也有很多值得研究的东西,难度也不小。
我非科班,想转计算机,应该学什么

这一点完全就看你个人兴趣了,这里我要指出几点:
    目前算法和开发的薪水差不多,所以不存在为了高薪选择算法的说法算法和开发从头学起的难度差不多,所以不要觉得哪个入门快就选哪个算法比开发难就业算法和开发都要加班,不存在哪个加班少,加班情况主要看公司和部门
所以,如果你转计算机为了更容易的就业,你就选开发。其他所有的考虑,都取决于你的个人兴趣。从事一项自己喜欢的工作,真的是非常非常重要的。


奇牛编程_奇牛编程腾讯课堂官网

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-2 06:12 | 显示全部楼层
工作内容:开发偏向于工程应用,算法偏向于理论模型应用。开发也会搞一些基本的算法,当然对于专业性较强的比如推荐算法、神经网络等,开发通常利用现有模型所进行应用实现。而模型的设计与创造由算法提供。
工作强度:想成为一个专业优秀的职业人才,都需要付出大量努力。开发需要了解各种功能实现、框架优点、组件原理;算法需要了解各种算法原理、公式推演、未来发展趋势;开发需要各种编码调试,算法需要各种论文研读…
工作薪资:目前算法岗的薪资待遇要普遍好于同级开发。原因:1.算法的岗位相对较少,搞研究的需求当然要少于搞应用的。2.算法的门槛相对较高,学历出身、数学功底、论文研读等相对还是需要相对高的能力和要求的。
你要问哪个更累?这个其实不好说…但换个角度来回答,开发可能更多是身体上的疲惫,算法可能更多是脑力上的疲惫。
发表于 2021-11-2 06:14 | 显示全部楼层
工作内容:
开发:接需求->分析需求->写代码、测试、修bug->联调多bug多要加班
算法:想需求->销售需求->整数据、写一点点代码->模型开练就下班

工作强度:
开发995, 业务比较紧的时候要连轴转
算法985, 但为了思考新的idea, 休息日一般在看论文想点子


时薪:
表面算法多一点, 实则算法内卷程度高出开发N档,同样的努力下, A能去大厂开发, B可能只能去小厂算法, 同样努力下的时薪, 开发还高点。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 17:46 , Processed in 0.133273 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表