前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法同学从学校到实习,需要改变什么

算法同学从学校到实习,需要改变什么

作者头像
黄鸿波
发布2020-06-01 14:59:26
4980
发布2020-06-01 14:59:26
举报
文章被收录于专栏:AI的那些事儿AI的那些事儿

自从2016年谷歌的AlphaGo战胜了世界围棋冠军李世石之后,企业对于人工智能和算法的岗位越来越重视,使得算法岗也越来越被大学生所重视,很多同学到开始加入到转型算法的队伍当中,但是由于近年来算法岗的要求越来越高,竞争越来越激烈,使得不少同学又不得不从算法岗转回到了开发岗,但是,无论是在什么岗位,到了最后一年或一年半的时间内,基本上都是要到企业实习,最近也有很多人跟我反映,说发现在企业里实习和在学习所学的,所做的,几乎完全不一样。

那么今天,我从算法岗和业务开发岗两个方面来聊聊我的看法。

算法岗

首先我们来说说算法岗。针对于不同的企业,算法岗一般也可以分成两种类型。一种是纯研究型的算法岗,一种是跟着业务需求随时发生变化的算法岗。

研究所或研究院

根据公司的不同,实际上对于research岗位的定位也不同。对于一些拥有研究院或者专门做研究型的公司或机构来说,通常对于research岗位的要求只要一个,那就是能够通过对模型的研究和算法的改进能够,然后再将自己的研究申请专利或者发paper。针对于这类的公司,一般对于实习生的要求非常之高,一般至少都要求有过几篇SCI一区的paper,并且(不是或者)要求是顶尖985高校的学生,对于英语和代码能力的要求也是极为苛刻的,因为在research岗位上,很多时间都是在看论文,做论文复现,然后找到合适的突破点,再做实验,然后得到成果并发顶会或SCI一区的paper。

实际上这种研究型岗位非常适合于对论文研究特别深,并且想要一直从事学术工作的同学,但是难度也非常大。

商业公司

对于商业型公司来讲,一般research岗位主要以实际业务为导向,从实际业务出发,从而进行研究。

例如对于游戏公司来讲,尤其是那些游戏已经运行了几年甚至十几年的老牌游戏公司来讲,在当时做开发的时候,所用的游戏图标都是基于1024×768这个分辨率甚至更低的分辨率来做的,但是由于硬件设备的升级,导致目前的显示器至少都是1920×1080,甚至还有2K和4K等更高分辨率的显示器存在,因此为了能够适应新的硬件设备,很多公司就不得不重新制作更高分辨率的图标。对于只有一款中小型游戏产品的公司来讲,也许只需要重新绘制几百个图标,这种工作量还不算是很大,但是对于一些比较大的公司,有数十个产品,可能就需要重新绘制数万甚至数十万的游戏图标,这个工作量是十分巨大的,因此,很多公司就希望AI能够使用超分辨率技术,将数以万计的图标超分到不同的分辨率下,这无论从人员成本还是后续的可持续化应用上都是十分必要的。

另外,还有一些公司希望自己能有一支团队可以持续的研究最新最热的技术,然后将这些技术应用于公司的各个项目当中,对于这类的研究岗位,一般公司往往不要求其创新性有多强,也不要求能够通过研究这些技术能够发表顶会的paper,而是希望能够将这些技术实实在在的落地于公司的各个项目当中,来提升产品的用户体验或给公司的产品带来更“高大上”的功能,来挖掘更多的可以盈利的点,从而使公司获得更多的利润。

一般来讲,对于这样的要求在企业中是非常常见的,也是企业中研究型岗位最多的一种形式,对于这类的公司,往往就要求实习生能够快速的从学术到企业的转变。

那么,针对于这种情况,怎么才能够快速的转变从而适应新的环境呢?

实际上,这种快速适应新的环境,并能够快速对于新的环境做出转变的能力是每一位同学都必须所具备的能力。

1

把握好时间

首先,从学校到实习,第一个需要经历的就是对于时间的把控。在学校里,我们一般研究一个东西,少则半年,多则一两年,我们有大把的时间来做研究,而最终的成果或许只是通过模型的改进比原论文提高哪怕0.1个百分比都可以。但是在企业里,可能给你做研究的时间最多也就是3个月,甚至时间更短,而且任务相对来讲都有一定的限定性。就拿我现在所做的超分辨率任务来讲,在学校我们研究超分辨率一般都是在公开数据集上进行训练和预测,但是在企业里,更多的是要结合企业的自身需求,待超分的目标图片也可能是特别大的图片(一如一张图有几百兆,分辨率巨大),也可能是特别小的图片(可能只有16×16的分辨率),如果我们只是以学校的研究方式来去做这方面的研究,很有可能出现的结果就是,研究了几个月,但是却没有任何成果,因此,在实习期间,一定要培养自己快速发现问题、定位问题和解决问题的方法,并能够快速找到最佳的解决方案,前期可以通过问自己的领导和同事的方法,多去吸收他们的解决方案,后期当遇到类似的问题时,就一定要学会自己快速的定位并解决它,一般来讲,在企业中,一个bug的解决时间不要超过2天,小bug要当天解决,或两个小时内解决掉。

2

沟通方法和尺度

其次,从学校到实习,需要把握好沟通的方法和尺度。在学校的时候,你所面对的是自己的同学和导师,所以在沟通的时候一般来讲都相对随意一些,经常去问一些比较低级的问题大家一般也会很耐心的去为你解答。但是在企业中,我们要转变这样的心态。在刚刚过去实习的时候,一定要在前期不懂就问,抓住这种刚刚进入职场的机会(我是小白我骄傲),大家一般对于新人来讲也都会很热心的帮忙,但是当实习了半个月或者一个月以后,对于那种很低级的问题(例如:这个软件的字体怎么放大啊?这个代码为什么会为空啊?或者一些本来很容易就能看出来的问题)最好就是自己Google或者和其他实习生同学一起讨论,而不是要再去问自己的领导或者在公司多年的同事了,因为对于同事(尤其是工作很多年的同事)和领导来说,他们的工作会很忙,任务会很多,如果每天都来帮你去解决这些很无脑的问题的话,他们的时间就会经常被打断,因此,这对于他们来讲是非常不愿意发生的事情。

另外,在与领导和同事沟通时,一定要保证每一次沟通都是有效的。所谓的有效沟通就是要带着问题和目的去沟通,说明自己具体遇到的是什么问题,希望对方要怎么去帮助自己解决(或者需要对方的什么资源),以及你所尝试过的解决方案。我经常会见到很多同学,自己和同事一下子说了10分钟,最后对方都不知道你要干什么?这样的沟通相对来讲就是不小的。

注意沟通的尺度,也是新入职场同学常犯的问题。我曾经碰到过这样一个同学,自己跟几个层级的领导汇报工作,整个汇报流程都很nice,汇报结束之后,大家都准备离场了,这位同学突然说一句:“今天晚上大家准备去吃啥?”显然,这句话就是非常不合时宜的,虽然这位同学是想缓解冷静的气氛,但是他却在和自己不熟悉的几个领导聊这个,对方会感到非常突兀和尴尬,根本不知道怎么接这个话。这个就是典型的开玩笑不分场合的表现。

业务开发岗

业务开发岗是目前算法岗位中最常见的一种。所谓的业务开发岗就是自己所做的内容要根据产品经理的排期,按照版本周期进行迭代上线,有着比较严格的时间把控,比较常见的就是推荐算法工程师、NLP工程师等。

一般来讲,每个公司都有自己的产品,很多产品中都会使用到一些AI和算法场景,比如说在一些电商和内容型产品中,推荐系统就是一个比较常见的应用场景。很多时候,推荐系统需要根据业务的改变进行改变。例如,我们现在有一个内容的产品,这个产品是一款新闻资讯类的App,这个新闻资讯有5个小的类别模块,一般我们在设计推荐系统的时候,往往有一步是将每一个模块中热度比较高的前几个内容加入到召回集,而且会根据内容类型的不同(例如文章、视频、投票、帖子等)而使得最终排序所呈现出来的结果不同。一个优秀的推荐系统往往是根据运营、产品类型和一些其他规则性的内容来进行一个整体的设计,所以,当其中的一个环节需要作出改变的时候,那么就会导致推荐系统也会发生一定的变化。而这个时候,我们为了配合产品的变化,而进行推荐系统的细微调整,有时候,产品迭代的周期很短,但是算法在调试所需要的时间却比较长,而这个时候,算法不得不根据产品的迭代周期来安排自己的排期,这种情况在企业中是非常常见的。

很多实习生刚刚进入业务部门的时候会非常不习惯,因为之前的研究不会有太多的时间限制,而现在却需要根据版本的排期不同而使得很多时候需要加班加点来赶进度。所以对于刚刚进入实习阶段的同学们来说,这一点心里的变化一定要有的。我们一定不能拿出在学校中的心态到企业中,而是需要合理的评估自己每一个节点的周期,不仅要做到不延期,而且还需要在其中考虑到测试所需要的时间以及修复bug所需要的时间,而这个时候就需要经常与测试和其他相关的同学提前沟通,安排好排期。

对于业务开发岗的同学来说,时间是关键,无论如何,一定要在规定的时间完成领导所安排的任务;其次,要合理的评估自己的技术能力,做到对每一个业务需求都能够有着正确的时间评估,注重培养自己的时间管理能力和责任心,只有这样,才能够使我们的实习经历变得更出色,才能够顺利转正。

总结

对于从学校进入到实习的同学,在此给出以下几点建议:

1、不懂就问。实习期间,一定要抓住机会,遇到比自己强的同事,不懂就问,如果你能够把他们所会的东西都学到,那么你就赢了。

2、时间把控。所有的公司都是以盈利为目的的,因此,我们在实习阶段和在实验室里最大的差别就在于对时间的把控,我们一定要做到争取不浪费时间,定期有阶段性的成果;

3、合理评估。很多业务型的部门,都会需要每个人对自己所负责的内容部分评估开发周期,从而确定最后整体上线的时间,而这个上线的时间一旦定下来,基本上就是死命令了。因此,一定要做到心中有数,合理的评估开发周期,哪怕可以多留出一些时间,也不要延期,否则无论是对个人,还是对整个项目都会造成很大的影响。

4、学会沟通。在学校和在企业的最大的差别就是沟通。在学校的沟通一般而言比较简单,但是在企业,你需要跟不同的人进行沟通。最常见的就是与领导、组员以及与自己打交道的其他部门的同事沟通,因此,对于不同的人,有不同的沟通方式,这可能是需要花很长时间来学习的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI的那些事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档