后台开发与数据挖掘哪个更适合研究生发展?
发布网友
发布时间:2022-04-23 13:19
我来回答
共15个回答
热心网友
时间:2022-04-10 03:49
兄弟,这种迷茫是很容易理解的,作为过来人,先让自己安静下来,然后再思考,不要被外面纷扰的信息打扰了自己内心的平静。数据挖掘也好,后台开发也罢,编程能力必不可少,但是你需要明白的是,很多机器学习工程师其实是在写软件,而不是侧重在机器学习算法本身,而很多数据挖掘工程师其实不是在调试算法,而是在写SQL。真正的聚焦在机器学习和数据挖掘工程师岗位往往需要你有一些项目背景和学术背景,如果发过顶会论文和期刊论文的话那就更好。
因此,我总结一下,如果你选择机器学习,你可以做下面的选择【仅供参考】
如果你实验室或者导师学术能力比较强,那么跟着发主流领域的顶会或者期刊论文,由于你导师几乎是放羊状态,实验室学术能力也不强,这个选项就不适合你了。参加大数据和机器学习比赛,这种比赛有很多,每个侧重点不一样,你可以参与一下。
如果你选择后台开发,后台开发有很多,鉴于你的非专业的CS出身,而且可能本科没怎么写代码,建议
C++后台开发还是免了吧,因为除了学习C++,你还要学习网络编程和UNIX编程,而且目前需求也很少,能力要求高。不知道你能坚持多久。Java后台,主要是Java Web,这个是很多人的选择,而且容易找工作。Hadoop后台,主要做Hadoop开发,Hadoop你应该知道是什么,这里就不介绍了,当然Java基础必不可少。Python/PHP后台,这些相对需求很少,而且也很难找到大公司的工作,因为需求不多。求助于实验室的师兄师姐他们,或者可以学到一点后台开发的技能。
另外,不管是什么专业,计算机的基础知识必不可少,数据结构+算法,计算机组成原理等等。
最后,鉴于你的没有太多的基础,因此不要对自己的期望过高,否则很那达到会有挫败感,而且这个时候一定要专注于一个领域不动摇,否则,你还是迷茫而且不知道方向在哪里。其实努力学习一个学期是可以学到很多知识的。加油!既然是南方985,应该也不差,毕竟南方经济发达,就业是比较容易的。
更新:
对于学习的建议
从一而终,不可随意换方向,因为你基础可能不是很好,浅尝辄止很容易不深入,不深入很难找工作一定要做项目,而且项目要有难度
2017年12月7日更新
最近再一次阅读了Jiawei Han的《数据挖掘:概念与技术》,发现他写的比周老师的《机器学习》好太多,这本书知识全面而且容易理解。推荐阅读!周老师的书《机器学习》也不错,特别是集成学习部分,讲的非常好,可能是周老师的研究重点在集成学习吧。软件开发是互联网永恒的主题,即使有了AI也需要搬砖工,题主加油!
热心网友
时间:2022-04-10 05:07
说说我的经验。
我本人原方向是云安全,但是偶然的一次竞赛经历,让我对数据挖掘产生了浓厚的兴趣。于是一发不可收拾,在完成实验室任务的前提下,苦心钻研数据挖掘。现在在百度实习。结合我在学习和实习过程中给的建议,以你现在的情况,还是根据自己的兴趣爱好选择。
数据挖掘工作分两种,一种是业务数据挖掘,一种是基础研究。前者要求低一些,基本算法掌握,有实习或者竞赛经历就可以找到类似的工作。后者要求比较高,腾讯的基础研究岗位都是要求至少一篇顶会paper,顶会paper难度你可以自己去了解,但是后者的工资也较高。前者的话虽然是算法岗位,但是和后台开发待遇相差无几。
所以,如果你想长期从事互联网工作的话,就看自己的兴趣选择,学起来比较事半功倍。
热心网友
时间:2022-04-10 06:42
回答之前还大致看了下楼上的答主回答的“开发”,我不懂为何这么理直气壮?!
岗位的稀缺性永远跟随市场需求在走,并且与供给关系严格相关,越是烂大街的岗位越不值钱,因为可替代性太高。
数据行业(我不具体说到数据挖掘或者算法哈,以数据方向为大方位说)就以大数据概念兴起为例,才四五年,如果再延伸到数据挖掘或算法,其实也就两年左右,这整个大方向人才缺口是很大的。
本人五年多大数据相关行业背景,从我接触的事和人来说,先不说搞算法的方向,就以普通的数据开发来说,水平相当的,数据方向的可以碾压普通后台开发,薪水至少领先1-2年,这意味着什么,一个2年的大数据开发工程师薪酬可以顶4年的后端开发的,当然水平差不多的情况下对比。这就不说算法相关的岗位了,上半年以50万年薪招3年左右的算法工程师(更何况大厂过百万的算法研究员海了去了),offer发出去四五个,一个来的都没有,你怎么说?
楼上答主说的水份问题,其实任何技术领域都是从不成熟到成熟阶段过渡的,任何技术一旦完全成熟了,这个岗位的福利就没有了,因为竞争的人太多了,凭什么给你高薪,你不干想干的人多了去了。
数据方向以及AI方向老实讲,确实落地的不算很多,但我相信大方向是没问题的,一定是个趋势,只是时间长短的问题。
所以,对于选择的关键时间来看,早点选择这个方向无疑是正确的,当然前提是喜欢这个方向,对数据有感觉。
如果对数据相关感兴趣的,可以关注我的专栏《数据虫巢》,或者同名公号。
打完收工,当然提一下对楼上答主没有恶意,纯观点上的不认同,欢迎观点PK,但勿喷~~
热心网友
时间:2022-04-10 08:33
给楼主一些过来人的建议吧。
1. 选择什么关键还是看自己是否喜欢,如果你真的喜欢,也就没有所谓的门槛 基础知识等等,因为你会有自驱性去学习
2. 前面有人说得对,其实作为一个合格的程序员需要拓宽自己的技术栈,所以无论你做算法还是开发,最终一定目标是成为两者兼备的人,要是还懂点前端就更好了,所以无论现阶段你选择哪个,以后还需要补充很多
3. 时间有限,你必须侧重其中一个重点发展,如果选择后台,需要对语言特性,框架有很深的理解与应用,建议不断的学习尝试,底子打好了,能够基本鼓捣出一些东西后,然后去大的平台实习,接触线上实时那些操作和技术; 如果选择算法,概率论首推,接下来是矩阵分析(线代很多没必要全部学习掌握,关键是矩阵的知识),最后就是各种传统机器学习或深度学习的原理与技术,最好有同伴一块成长,然后一起去做kaggle等比赛,或者去找一份机器学习实习,这样在实践中体会理论,并不断深入理解各类算法的奥妙。对于算法来说,当前面所说的完成后,一切走上正轨,真正的战斗才开始,你需要阅读大量的论文来充实自己的视野,为你的工作指明方向并推陈出新!
4. 任何东西不是一蹴而就的,关键是选择了就不要中途放弃,一定要努力再努力,不管你是两年制还是三年制,选择后段或算法,时间都是你最大的敌人!
5. 以上的工作如果你都顺利完成,你只能算是在这个行业立足了,能不能拿sp的offer还要看你的上限,所以技术栈的拓宽,论文视野的拓宽希望要重视起来
热心网友
时间:2022-04-10 10:41
我个人倾向于推荐数据挖掘。
说下原因吧,首先当然是市场需求了,这几年大数据、人工智能越来越火,都上升到国家战略了,岗位需求旺盛,待遇水涨船高。
其次,数据挖掘这个岗位,需求不会只是一时,非常看好未来的前景。
当然,不管怎么样,个人还是建议你根据自己的兴趣选择,不管是算法还是工程,两个岗位做好了,以后薪资也不会低。自己做得开心,比什么都强。做得不开心,赚再多的钱也只是领工资那一会有点快感罢了。
热心网友
时间:2022-04-10 13:06
如果你是两年制的学习后端开发吧,三年制且数学英语还不错的的话建议数据方面。
两个方向找工作都没问题,985也具备一切好公司的简历投递门槛。
如果后端开发那就java-spring-mysql-tomcat-jdbc-mybatis-redis-mongodb-kafka-zookeeper-flume-storm火力全开八个月全撸一遍,撸完找个企业实习3-4个月一下做一两个项目,然后回来赶着暑假撸一发leetcode,参加秋招。
如果数据方面那就微积分-线性代数-概率论-吴恩达机器学习-吴恩达深度学习-花书-西瓜书-python-tensorflow-scikit这里不分先后,用一年到一年半撸一遍,基本入门之后还要记得保持一周一到两篇质量文献阅读,研二开了年再找一个实习,不同于上面的实习这个找实习最好能找平台更好或者可以留用的比如阿里、腾讯、大券商等等。
个人建议三年制选后者,越难的以后可替代性更弱,后端开发那一套有兴趣自己看看就好了,两个难度不太一样。
热心网友
时间:2022-04-10 15:47
这两个方向我工作都有涉及到,数据挖掘时间相对短些,不能给你建议,只将现况和你分享一下。
先说数据挖掘,数据挖掘需要数学基础,一个简单的检测标准就是自己推导一下线性回归和svm,如果毫无难度,那么恭喜你,你已经比一些在职从事数据挖掘工作的人强了,去kaggle 上练练手。要是看了相关paper,做了一定的努力,还是无法看懂相关细节,你得好好考虑一下这个方向是否适合你。
再说后端开发,需要学习的东西多而杂。以java 为例,需要学习很多的开源框架,比如大家经常提到的ssh或者ssm,可能还需要学习缓存,比如redis 或者memcache,可能还需要学习消息总线,比如activemq 或者kafka。高并发可能需要了解netty。负载均衡可能需要了解nginx。
所以个人认为数据挖掘在于深度,后端开发更多时候在于广度,更多时候只需要知道怎么用即可,很少时候需要你做优化或者二次开发。
热心网友
时间:2022-04-10 18:45
楼上有两位过来人 的回答,我觉得挺好的。吴松泽 中提到 机器学习的学习方式 跟 我知道的一位清华博士的方式一样,我觉得很合理。另外一位 是匿名的过来人, 我的观点基本跟他一致。唯一不同的就是,在南方 PHP 的需求还挺大的,就我的感觉不会比Java少,Python最近也有见到不少招聘。
题主这块情况,真的不推荐数据挖掘了。导师放羊,没有资源,没有指导,自己看那些算法,其实挺晦涩的。我甚至来Java开发都不推荐,你本科不是CS,编程基础应该比较薄,时间又只有一年。就一年的Java学习,出来工作的话,竞争力远不如同样本科毕业两年开发经验的开发者。从就业的角度,我比较推荐题主选择一门脚本语言。
热心网友
时间:2022-04-10 22:00
暗夜的答案就说到了
后台偏工程,数据挖掘(深度学习)偏算法。
从国内就业情况来说,it目前这么火,只要985的,就算学成渣,也能找到不错的工作,特别后者。
所以就业不是问题,问题是你以后该如何发展。
偏算法,很长时间都会是solo,或是很小的核心技术团队,走的技术专家路线。
偏工程,技术提升不如前者,但是涉及到大量的协作,有心的人,会迅速从技术转换成管理角色。
题主需要的是,仔细审视自己的性格和兴趣点,做好权衡。
人工智能从业者,和管理人员。不就是AI时代不能取代的工种吗。
热心网友
时间:2022-04-11 01:31
作为IT创业者,我回答一下这个问题:我们更看重算法工程师的岗位。后台开发,一般计件处理,给钱交给其他公司把框架搭好(代码全部加注释且留出算法替换的接口),然后我们去校园贴小广告请有能力的本科生来维护就行了,这样成本低。而算法岗是核心,高新聘请的算法人员需要时时跟进学术前沿动态,当学术进展没有那么快的时候,算法岗的人也可以学习一下后端,临时客串后端维护,事实已证明其实算法岗的人学后端上手快得很,反过来,让后端的人去搞算法他难受得很。本公司经验,也许不适用其他公司,只是建议。
热心网友
时间:2022-04-11 05:19
岗位环境:
算法: 目前: 需求>供给,大量鸠占鹊巢。2年后,这行估计会潮退,行业趋于正常。同事基本上都是硕博出生,工作内容一般就是看文献,调模型,写少量代码。预期面对的同岗位竞争者, 相关专业应届硕博生,部分其他专业应届硕博生,部分已有工作经历的本科生。
后台: 目前饱和。2年后假设依旧饱和。同事大部分本科,部分研究生和专科生。主要工作内容,码代码和甩锅,工作时紧时慢。预期面临同岗位竞争者:专本硕应届生,已有工作经历的硕本专。
职业瓶颈:
算法: 无限趋于无穷,行业变换,应用场景变换,数据变换都可导致以往的经历不可用。所以,基本上会是终身在学习。(猜测)
后台: 一般工作五年就基本能很好的解决各种业务需求。(猜测)
职业前景:
算法:目前各大公司砸钱力度都很大,依此可推测,行业大佬及金融机构都很看好。
后台: 应该是饿不死,也不会有大机遇。
收入:
目前,两者差别不大。预期,未来,算法应该略胜一筹。
以上,部分行业观察,部分意淫。欢迎打脸。
热心网友
时间:2022-04-11 09:24
匿名用户:研一学生的困惑,后台开发还是数据挖掘? 说的是对的。
数据挖掘听起来高大上,最后大概率是天天在 Hive 或 Spark SQL 上写 SQL,最后再用 ETL 来处理。
数据挖掘很难有实际性产出和反馈,而大部分算法岗都是要求 PHD 及以上。只会调 API 和调参的工程师是没有前途的,MXNet/Caffe/xgboost 作者都是中国人,对于这样算法和工程兼修的同龄人,我实在没有竞争的心力。并且还有一些别的考虑,比如以后有转管理岗的必要,以及 im 等。
总而言之还是因人而异啦quq
并且我司这边也是一堆只会用百度和 CSDN 的程序员,还自诩大数据公司,我的天。。。
热心网友
时间:2022-04-11 13:45
为了不误导,嘤嘤嘤,我还是改下评论吧
后台开发和数据挖掘,完全不同的方向。。。虽然算法听起来比较高端些,好多人都觉得读研就应该搞算法,比较牛*,像机器学习,深度学习,图像,NLP,blablablaba
但是还是有人不喜欢算法岗位吧,好多公司的算法岗都是写业务逻辑写到吐,除非进到一些一些公司的research组会好很多吧
并没有觉得后台开发那种开发岗位有多low,边上也有同学不喜欢搞算法,去搞开发,重要还是自己看自己喜欢啥,以及以及有机会出去实习,可以感受下,。。。。。
热心网友
时间:2022-04-11 18:23
两条路不一样,一个偏算法,一个偏工程。
如果做后台,是和大部分人比你差一点的人竞争。
如果做算法,是和大部分比你好一点的人竞争。
算法做时间越长,越值钱,但做管理岗或者是CTO的不太对。
后台工程师不会一直写代码,总要转管理岗,时间少则2年,多则15年。
后台要做一个又一个项目,对知识的广度大于深度。
算法要求深度,行业的特征。
我的live中讲过各个职位的差别。
热心网友
时间:2022-04-11 23:18
搞这个数据挖掘算法有个问题,你要产生实在的价值,我们公司招聘的这样的岗位的十几个人全部被砍掉了(因为大半年没有什么实际的成果,当公司发现给了你大量的资源而你的产出不行的时候,你就危险了)
说实话我个人感觉机器学习有点泡沫。
两者的选择的话,不管现在哪个方向你一定要牛*才行。