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

最后,祝大家在未来的学习和工作中,越走越稳。

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑AI基础下载(pdf更新到25集)机器学习的数学基础专辑本站qq群1003271085,加入微信群请回复“加群”获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am喜欢文章,点个在看

【职场经验】算法同学从学校到实习,需要改变什么相关推荐

  1. 我有10个职场经验,价值100万,但今天免费|咪蒙

    (猪坚强 作品)"一个好员工能顶5个普通员工." 一个当老板的朋友哭了.在创业群里,我们另外几个老板(虽然我的公司很小,但我也是老板啊)一起嘲笑他,说,是你老婆给你戴绿帽子了,还是 ...

  2. 一个老程序员的一些职场经验分享

    有一些关于职场的经验,当然有一些是以前总结过的,现在归类总结一下,上半部分是通用职场,下半部分是程序员专用. 一.通用职场经验 1)很多人认为事情做得多,事情做得好就能晋升是个广泛的误区,事情做的多, ...

  3. 从校园到职场 - 什么是职场经验

    从校园到职场 - 选择真的比努力重要么? 这篇文章的后续 经常遇到问题,学什么有用,或者从事这个岗位比那个岗位是否对未来有帮助,说实话,我觉得很多年轻人钻了不必要的牛角尖,他们对职场经验的理解,非常的 ...

  4. 百试不爽的30条职场经验(转)

    可以说是很多本厚厚的职场经验书籍的精华部分,掌握了这30条可以说是天下无敌了,但真要掌握这30条经验可不是什么容易的事情,他们都是环环相扣的,一条做不好可能有些能做好的项目就会落空,耐下性子,看看你都 ...

  5. 一线互联网公司的工程师们更应该增长技术以外的职场经验

    2019独角兽企业重金招聘Python工程师标准>>> 为什么一线互联网公司的工程师们更应该增长技术以外的职场经验呢?因为他们当中有一部分人的下一份工作是到创业型公司,成为这些公司的 ...

  6. ()IT 职场经验)一位10年Java工作经验的架构师的经验分享,感觉很受用。

    阿里巴巴技术大牛黄勇的经验分享,感觉很受用. 关于IT 职场经验 1. 把技术当成工具 技术这东西,其实一点都不神秘,它只不过是一个工具,用这个工具可以帮助我们解决实际问题,就这么简单. 我们每天在面 ...

  7. 痞子衡职场经验与感悟分享 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家分享的是职场经验与见闻感悟. 痞子衡在嵌入式行业也摸打滚爬了不少年,有一些个人经验可以给大家参考.所谓他山之石可以攻玉,希望痞子衡的经验对大家 ...

  8. 十五年工作经验的程序员,下面分享一篇职场经验的文章

    当我步入职场时,我并没有预料到工作中会遇到的各种挑战.但是,随着时间的推移,我学到了很多关于如何成为一名成功的程序员的经验和教训.以下是我想分享给新手程序员的一些职场经验: 持续学习:技术发展非常迅速 ...

  9. 职场经验:找好工作跳稳槽

    先看漫画:人资部和开发人员是如何阅读你的简历的. 其实,更有趣的是:我们程序员互相吹捧的口头禅"牛人""大拿",在猎头们的行话中居然只不过是"萝卜&q ...

最新文章

  1. iOS开发UI篇—多控制器和导航控制器简单介绍
  2. 为 UITextField 增加键盘偏移的模板化写法
  3. 【学习笔记】《数据挖掘:理论与算法》CH4神经网络
  4. Postman界面了解
  5. Android开发学习笔记(10):NDK安装手顺及应用
  6. 上次那个上门要源代码的女网红,后来咋样了?
  7. 记一次转不过弯的递归
  8. Unity MeshBaker 合并网格和材质
  9. 卡尔曼滤波,高斯函数
  10. 51单片机毕业设计题目大全
  11. 【Mac 系统下载 解压 ImageNet-1k(ILSVRC2012、IN1K)数据集】
  12. 微信淘宝客机器人分享
  13. 世外桃源六python_中土世界的世外桃源——新西兰霍比特人小镇全攻略
  14. 网站备案 服务器变更,网站变更服务器备案
  15. JVM(4)-MAT: 支配树 Dominator Tree
  16. 《机器学习》阅读笔记(三)
  17. 叮咚~ 你有一份令人心动的offer待查收【cv君独家内推】
  18. java毕业设计——基于java+eclipse+sqlserver的银行帐目管理系统设计与实现(毕业论文+程序源码)——银行帐目管理系统
  19. From MAP, MLE, OLS, G-N to IEKF,EKF
  20. 2020年7月1日打卡

热门文章

  1. 如何让.net程序自动运行在管理员权限下
  2. 10 | 软件测试工程师需要掌握的非测试知识有哪些?
  3. es6解构赋值的高级技巧
  4. mysql用户管理+pymysql模块
  5. python绘制分组条形图_python中分组值的条形图
  6. python 占位符_5分钟让你用Python作出最精美的Powerpoint
  7. python多线程爬虫界面_多线程网页爬虫 python 实现
  8. Origin Pro中常用的快捷键
  9. 转载:掩膜矩阵操作数学解释(权重表,锐化)
  10. java 预览zip_java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载