找回密码
 立即注册
楼主: 量子计算9

本科生真的很不适合算法岗位吗?

[复制链接]
发表于 2021-7-4 10:56 | 显示全部楼层
不知道为什么会推送这个问题给我。稍微回答一下,本科生不适合算法岗位吗?这个问题本身就带有极大的歧义。没有算法这个岗位,这个问题下的回答大多都是刚入门或者推荐书单的。科普一下,尽管平常很多人说算法,注意问题说的算法这个岗位,事实上是没有这个岗位的。
通常来说所指的算法就是人工智能算法,这个问题推荐书单的也是这个。事实上算法不仅仅只有人工智能算法,实际上非常细分。在实际中,所谓的算法工程师属于后端工程师。后端工程师又细分为各个方向,算法一类的有机器学习算法工程师,计算机视觉算法工程师,自然语言处理算法工程师,这是算法常指的岗位。实际上除了这些岗位,还有数字分析算法工程师,通信信号算法工程师,数据挖掘算法工程师,推荐算法工程师,搜索算法工程师,控制算法工程师等等。
算法工程师并不高大上,本科生如果能符合条件,掌握相应的技术当然可以成为各种算法工程师。我就和很多专科毕业的算法工程师从事过工作。但是不同的类别,技术差距很大,要求也完全不一样。不过总体来说,算法工程师属于后端。所以成为一名很不错的后端这是必须的。
本科生如果想要成为一名算法工程师,建议先往后端开发转,打好基础,再去做某个领域的算法。所以本科生打算做这一行语言做以下几件事:学学c语言,c语言熟练了学其他语言都很容易;学学数据库开发;了解下前端开发;了解下linux系统和开发;了解下底层硬件;了解下网络通信;掌握算法逻辑和基础数学。这样基本就够了,可以做一个很不错的新人,这也是计算机科学不错的本科毕业生要求,然后实践中从事以后你所感兴趣某个领域的算法开发工作,算法工程师对数学要求并不高,落地实践要求更高。通常这一过程要两到三年经验,比如本科生读硕士一种办法,好好工作也是一种办法。
当然,很多人会问那些学数学python的是什么,那个不叫算法工程师。那个叫做算法研究员,本科生如果直接学那个,尤其高赞的那些基本找不到工作,这也是培训班的套路。算法研究员很看重学历,问这个问题的人想要做的应该是算法研究员而不是算法工程师,这一岗位本科生做不了的,名校博士硕士起。从事这类算法的博硕士普遍也没其他岗位工资高,竞争也更大。
最后,如果是想做人工智能相关的工作或者准备学习相关知识,最好不要从事这一行业。工资中位数最低的算法,竞争最激烈,失业可能性最大的算法类别目前差不多就是人工智能算法,尤其是计算机视觉算法。这一类,理论性太强,落地非常困难。岗位门槛极高,很多这方面的从业者被优化,最近几年很多相关企业倒闭。如果真的想做这一方面的工作,建议从事人工智能落地的工作,比如算法平台部署移植,数据分析清洗,cuda,vulkan开发然后了解多实践各方面的应用也可以。
如果你想做算法研究员,努力提升学历,提高数学基础,会点概率论,线性代数。在传统领域,比如机械,电子,化工农学,生物上做做落地应用,发点论文这是最保险的,能找份不错的工作。如果你想成为领军人物,发计算机顶会,建议出国。
以上只是一位从业多年,没什么建树的啥都干的算法工程师经验之谈,若有错误,请指教。
发表于 2021-7-4 11:06 | 显示全部楼层
本科绝对适合干,只不过现在人多肉少越来越卷,估计看到本科学历就把简历扔了吧,反正今年我投了几个都石沉大海(虽然说我投的太晚,投的都是大厂也可能是个问题,而且我干了件蠢事,写明了要硕士我都往上投,投完才发现)
理论上来讲,本科生只要好好学了,从大二大三开始,学个一两年,绝对不比从研一开始学个一两年的硕士差,毕竟时间都是两年,数学也都学了,你搞机器学习也好深度学习也罢,数学大概率也不会有超出本科学的内容,大多数研究生,没读研前也根本没接触过任何机器学习相关的东西,换句话说都是从零开始,凭啥他就懂原理,你本科生就只能懂调包?我不太懂一些答主的逻辑,这是个赤裸裸的偏见。
我当年还给本校的研究生写过机器学习作业,绝大多数都是我花几个小时就能应付完成的内容,也没看到过什么高深莫测的东西,一般的研究生这么培养出来到底什么水平我心里还是有点底。
朋友圈这位是几年前刚火的时候跳的坑,那个时候机器学习相关教程估计只有吴恩达能看,你看看人家现在多开心,那个得瑟╰(‵□′)╯。为了不暴露身份打个马赛克。


<hr/>update一下近况,已拿到某公司算法岗实习,有转正机会。

本帖子中包含更多资源

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

×
发表于 2021-7-4 11:14 | 显示全部楼层
这个问题不好回答,毕竟本科生也有相对普通的,算法岗也有要求相对高的。下面讨论的算法岗是指“算法工程师”,并仅分析一二线大厂(你听过名字的绝大部分公司)。
引言:为了能对后面讨论更有针对性,贴一下我转载自其他地方的的算法岗招聘标准如下图。评级能有A+的话,一线大厂(微软、百度、阿里、腾讯、字节、华为、网易、新浪)的非研究院组能过简历筛选。
主要观点:算法工程师要求具备较强工程能力和扎实理论基础。考虑到绝大部分本科生在该领域最长摸爬滚打的时间短于4年,所以不认为绝大部分本科生适合从事算法岗。
子观点1:非计算机、数学和统计相关专业的本科生并不适合算法岗。和实验室中的模型不同,工程中的模型落地由于算力不足、脏数据等因素,会出现许多坑。如果是纯自学机器学习算法知识常缺乏对体系知识的宏观理解。所以他们对于模型的理解较为浅层,只能简单地复现他人工作,实践工作中较难以对出现的坑进行定位并给出解决方案。
子观点2:极大部分非985211学校的本科生不适合应聘算法岗。从就业方面看,极大部分双非本科生相较于同龄人和前辈们没有任何职业竞争力。考虑到当前的内卷状况,即使能应聘到算法岗工作,不仅容易被安排做一些比较边缘的工作(如数据清洗、做ppt等),还容易被HR杀价,而且未来的升职通道并不明朗。对于能力极强的双非本科生而言,考上名校研究/博士生是条不可多得的翻身之路。(翻身:去除双非学校的标签)
子观点3:985211高校的相关专业中上水平本科生适合应聘算法岗实习生。这部分同学已经超越了95%的同领域同龄人了,恭喜你们开始有资格从事自己理想的工作。但是,算法岗又有很多细分领域,自己到底喜欢哪个方面的、自己的性格是不是适合从事算法工作,一系列学校学不到的“哲学”问题是你需要思考的。当你们的本科结束,你们会对自己的职业未来有清晰的规划,明白自己想要什么,明白自己应该怎么做。
子观点4:希望继续深造研究/博士生的高水平本科生适合应聘算法岗实习生。这些优秀的同龄人已经具备了扎实的理论基础和丰富的实践工程能力,他们也已经询问过自己内心各种哲学问题。他们的实习有两方面追求。其一,了解当前工业界的难点痛点,为自己未来的研究开拓视野方向。其二,为自己获取比学校实验室更多的资源(算力、数据)。
主要建议:夯实理论基础,提升实践能力。
子建议1:深入理解周志华《西瓜书》和李航《统计机器学习》,熟练使用python、numpy、pandas、DaPy、sklearn等工具。
子建议2:阅读经典模型的原始论文,在各种比赛(Kaggle、腾讯算法广告算法大赛、阿里天池大赛等)提供的数据上使用这些模型。
子建议3:找些二线大厂或中小型企业的算法工程师实习岗位。

本帖子中包含更多资源

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

×
发表于 2021-7-4 11:23 | 显示全部楼层
作为一名IT领域的科研教育工作者,我来回答一下这个问题。
首先,当前算法岗位的竞争确实比较激烈,很多硕士研究生和博士研究生往往都比较关注算法岗位,所以本科生在岗位竞争力上会相对较弱,而且由于当前人工智能产品在落地应用上依然处在早期,很多应用场景也并不完善,所以目前很多互联网科技公司在算法岗位的招聘上也越来越理性,这一点在近两年有越来越明显的体现。
算法岗位之所以竞争比较激烈,原因有两个方面,其一是算法岗位的岗位附加值比较高,其二是很多专业的毕业生都可以从事算法岗位,比如计算机、数学、统计学等专业的毕业生,都可以从事算法岗位。一部分跨考计算机专业的研究生,往往也比较热衷于选择算法岗,因为算法岗位对于程序设计能力的要求往往并不高。
从算法岗位的岗位要求来看,本科生是可以从事很多算法类岗位的,虽然算法岗位对于数学基础的要求比较高,但是在生产场景下,很多算法的设计、实现、验证和应用等过程,也并不太复杂,大部分情况下都是基于已有算法的改进和调整,这些工作本科生也是完全可以胜任的。实际上,在前几年大型互联网科技公司纷纷开始布局人工智能领域时,也确实有很多本科生在从事算法岗位。
最后,从当前大的技术发展趋势和行业发展趋势来看,未来在工业互联网时代的创新会更依赖于行业场景,所以此时对于算法岗位的人才需求将更重视行业实践能力,学历仅仅是一方面,是否有较强的落地应用能力才是重点。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以私信我!
发表于 2021-7-4 11:24 | 显示全部楼层
不觉得本科生做不了互联网的算法工程师。
主要矛盾在于,和你竞争的基本都是硕士,如果是大厂,甚至基本都是名校硕士,每个人都有不错的背景,论文、实习、竞赛可能都是标配,除非你有自信在某些方面有显著的差异化证明自己,否则可能都过不了简历关。
发表于 2021-7-4 11:27 | 显示全部楼层
如果有两篇顶会,本科生应该也是有机会进大厂的  ((  ))


本帖子中包含更多资源

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

×
发表于 2021-7-4 11:35 | 显示全部楼层
也不是不适合,只不过门槛高,职场高认可度往往比硕博的难不少。
不是说不能学,知识学到了,那就是自己的。但当你要以本科生进入算法岗时,从客观上,就缺了起码2年的科研经验,不是知识层级的哈。你的科研能力在没证实前,你永远会贴上本科生的标签,前提在刷简历的时候不会被pass。等你证实自己能力的时候,你付出的会更多,我理解,这些付出所要缩小的,其实就是那些更高学历带来的默认起点差异。假设自己能力真的没达到,大概率调岗,或者扔给其他高学历的人带着,状态跟读个研究生也差不到哪去。
有些科研院校的确有造星的习惯,不说万里挑一,难度也不小。基于统计来看,本科生真不适合。反过来讲,本科生进到大公司算法岗位的,真不简单。
学习算法,其实高校已经安排地非常好了,高数、线代、概率论,有些专业有离散数学,有些专业有复变函数,计算方法,这个可以有。这些学明白,得到大二下半年了。
然后看自己想做地方向了,比如自己想做CV方向,那么就得补一些信号理论、数字信号处理、数字图像处理、计算机视觉方向地教材,教材就好,学明白估计得大三下半年。
最后如果可以,开始挑具体方向,比如超分、识别、聚类、恢复、增强等等,刷一些paper,follow一些业内大拿,整个学习思路就会好很多了。如果面试官问你一些CNN地意义,你都能对答入流,绝对漂亮。
千万千万不要反着来,拿一篇论文倒回去学,你的思路大概率会被限制……
发表于 2021-7-4 11:42 | 显示全部楼层
本人运筹学背景,也就是做数学的优化方向的。
我以前还认识挺多厉害的算法本科生的。有两个渠道。一个是广州6中的批量生产。这个高中从初中就开始培养学生准备程序设计比赛,不少是靠保送进入全国前十的学校的。他们到了本科很轻松就能拿至少省金牌。
另一个渠道是,由于我搞数学建模比赛,队里需要搭一个编程厉害的,也是从ACM的牛人里面找。学校有集训队,我们学校那时候也拿过国际第一,见识过这些厉害的人。这些人平时无聊也会打打比赛的,例如topcoder。进去大厂写所谓算法,那就是两下就好了。
平时遇到的人,就算是计算机系的和数学系的,在算法上远远比不上他们,一是思路,二是速度,毕竟人家套路都懂的,而且相关题目都训练过上千题。除非有一些难到NPhard,而且需要专门建立特殊的数学模型来搞的。
而很多硕士博士,我觉得有99%都比不上他们。这句话,纯凭感觉,不负责任。
然而,这些ACM人才大多数都不去算法岗,他们有其他追求。据我小样本观察,都去做跟AI相关的了。
发表于 2021-7-4 11:44 | 显示全部楼层
对于绝大多数普通人来说,是难的。大三大四早早投入,有人带会好。
发表于 2021-7-4 11:48 | 显示全部楼层
选择比努力更重要,作为一个算法工程师且负责算法的招聘面试的面试官。如果你很想做算法,建议你读研或博。其他给你一堆学习建议的都是在误导人,本科生缺少专业的导师或师兄指导,很难建立正确的问题分析框架,即使少数学习过机器学习,更多的是用过一些接口。至于不同算法有什么优缺点,适合什么样的数据,什么样的业务,甚至稍微问一下算法原理就开始支支吾吾。
从我的实际招聘经历看,今年面试了100多个校招生(moka有记录),本科生占比很少(也就是说很少有本科生能通过简历筛选),即使通过简历筛选也很南面试下去,大部分是面试10分钟就问不下去。即使少数中的少数面试满40分钟,也少有通过。。。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-21 04:31 , Processed in 0.067017 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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