算法岗还是工程岗?关于职业选择的一点小思考

楼主现在大二,感觉该出去实习了,算法岗和工程岗不知道投哪个,每次想投简历的时候内心都在抉择,毕竟之前没接触过,不知道哪个更适合自己,也想知道自己需要学习什么技术才能和一些企业岗位相匹配。了解到字节提前批有个特别活动【字学职播间】,里面会有几大研发团队做分享,正好有我感兴趣的两个岗,火速去了。

个人对机器学习有点兴趣,所以先去蹲了一波在做机器学习的Data-AML团队的直播间。
整理了听直播的一些小笔记,主要分四个部分,感兴趣的可以看看:
  • 一些理解:Data-AML团队/机器学习
  • 关于职业选择:个人岗位选择的迷惑与答案
  • 关于面试:面试官更看重什么?
  • 听完直播的一些技术思考

一些理解:机器学习/Data-AML

  • 机器学习
机器学习是如何应用在不同的场景的,以及我们在日常生活中所熟知的App,例如淘宝,抖音,它们是如何利用机器学习为我们推荐我们感兴趣的视频或商品的,我们都知道前端负责数据的呈现,后端负责提供数据,那么问题来了,机器学习算法在实际应用中是独立于前端和后端单独的一个模块,还是和后端有着紧密的联系,如果有联系那又是一种什么关系嘞?
机器学习的灵魂是什么,那当然是数据了,说到数据的来源,自然大家会想到对于像抖音一样的大型项目离不开数据库,对于视频数据和图片数据一般都是存储到挂载到后台服务器的静态资源里的,通过机器学习提取出一系列的特征,通过特征对静态资源里的图片或视频数据进行排序,从而实现用户在打开抖音时在前端展示的视频是播放量,点赞量最多的视频,机器学习自动推荐自己感兴趣的内容无非是改变了提取的特征而已,万变不离其宗(个人见解,仅供参考,准备落地实践,毕竟任何想法,都需要实践去证明)

  • 我对Data-AML团队的理解(部分是听直播直接记录的笔记)
先直接上笔记:
Data AML是Data apply meachine learning 的简写 ,意思是将数据应用到机器学习,AML团队的主要业务是为公司提供机器学习中台服务的。
延展:什么是中台
中台就是寻找不同业务之间的共性,为业务发展自己的特性提供便捷的方法。例如:机器学习中台,寻找机器学习算法的共性,为不同业务提供机器学习算法服务,简而言之中台就是为不同业务提供服务的一个平台,机器学习中台会和各个业务结合。
在这之前我一直以为Data-AML团队只是一个团队而已,但其实它是由三个子团队组成的,子团队分别负责,算法,功能,微服务,主要用两大岗位,工程岗和算法岗。
  • 功能团队:会为业务提供一整套包括模型训练,模型的线上服务,高应用的机器学习平台。
  • 算法团队:基于机器学习平台和各个业务的算法平台合作,把算法落地到各个业务中。
  • 微服务团队:对外提供隐私计算,分子动力学,生物信息计算。

  • 工程岗:工程岗位主要为公司提供大规模的训练和推理的服务,比如做高性能的训练器以及资源的大规模调度。
  • 算法岗: 主要和业务的同学一起把创新的ideal落地到业务中,把新的模型,更大的算力,更好的通用的能力。

个人觉得除了上面这些了解性的东西之外,这个团队的新人培养机制也挺有意思的,也和大家一起分享下:
1.首先他们会有一个为期一到三天的通用的培训
2.字节有个叫byte learning 的学习平台,会有很多之前资深的工程师录的关于每一个系统的讲解,大家可以在这些平台和培训的过程中,更快适应自己的工作和学习。除了公司统一的培训外,还有一个Mentor带着你,让你上手工作。每一个metor都是持证上岗的,会去和同学保持定期沟通,也会给每一个新人warm up的机会,同时也会安排一些简单的项目从头到尾走一遍,了解这个系统是什么样子的,带着新人去训练出一个模型。入职一个月到两个月会让新人给大家做一个presentation,讲一下之前自己如何了解到这个系统,自己的系统是怎么做的,自己做的这个项目是怎么样的,通过实例训练帮你完成从学生到工程师的转变。

职业选择的迷惑:算法or工程,该选哪个?

如果同时对两个岗位都感兴趣,该如何做到取舍?
以前二选一尝试的方***先灵魂拷问自己几个问题,哪个是你想持续不断为之努力的?自己的喜欢是否只是三分钟热度?如果还是无法明确那就随机选择一个,先学习三个月,三个月后随着学习得深入自然就知道自己是否真正喜欢,是否是三分钟热度。
这次是听大佬直接介绍两个算法和工程两个岗位之间的差异,包括具体的业务走向,岗位需求的人才特质,简单地说:
如果你对如何让推荐的效率变得更高?”“让算法的性能变得更好”这种话题更感兴趣那么适合投算法岗,如果你对如何让模型变得更快?”“怎么提升GPU的性能怎样提升效率”这些问题更感兴趣那么适合投递工程岗位
直接get两个岗位需要的人才特质跟自己的匹配度。节省时间,效率加倍。

回到我最初的问题:算法or工程?
我自己是听完,对比后发现自己对机器学习如何落地,如何影响人们的生活,以及自己对App中的是如何做到推荐的确实很感兴趣,发现自己适合工程岗。有跟我一样困惑,不知道该选什么方向或岗位的朋友可以试一下,先通过各种途径,比如这种业务团队直播,先了解,再花时间针对性提升学习,效率确实会提升很多。

个人岗位选择的迷惑

我自己每次在投递时总有一种迷惑:这个岗位具体是做什么的?
在求职的过程中面对各种各样的公司,会放出各种各样的岗位描述,看完仍然不知道这个岗位具体是做什么的,真的会谢。只能去捕捉岗位描述的关键词来决定我想去投哪个岗位 ,猜测岗位具体业务,是不是自己所喜欢做的事情,包括像岗位所对应的团队的规模如何,团队成员的能力如何。
一句话:我承认我有赌的成分。话不多说上岗位描述
比如像这个岗位描述里说的“多模态训练”,对于咱这种职场小白来说这些词其实是十分陌生的,每次看到我都很头痛。就像前面说的,还得是去多了解,直接听业务大佬们怎么说,攒攒经验,起码能看明白岗位需求。


说到这里,提几句:如果大家发现自己想从事机器学习岗位,但是不知从哪个方面学习去储备相关的技术,记下的干货送你:
  • 以机器学习平台研发工程师-Data进行举例,首先你至少要精通或者熟悉一门编程语言(重点,不要贪杯),其次就是数据结构与算法要学好(这里所谓的学好并不是说你在某某平台刷了多少题,更重要的是要了解算法在生活中的应用场景,比如对于栈这种数据结构,大家在学校里可能就只知道栈可以解决括号匹配问题,但你是否知道你在日常生活中所使用的浏览器通过对路由的压栈和弹栈实现对网站前进和后退),最后就是对某一个机器学习框架能熟练使用它,了解他的原理。

具体一点:
1.先了解机器学习算法的类型:如监督学习(分类、回归)、无监督学习(聚类、降维等)等基础知识。
2.学习基础算法:线性回归、逻辑回归、PCA、K-means(简单的算法尽量通过不同的例子去了解它们的应用场景)
3.以上基础学完可以做一些小项目,笔者之前做过一些快手短视频用户活跃度分析和工业化生产预测以及智慧城市-道路通行时间预测的小项目,从中收获到了很多,深入学习就需要自己看论文并结合实践了。

在面试的过程中面试官更看重什么样的特质?

梳理一下从面试官们那里get的特质:个人的coding能力、思辨能力。
coding能力要达到什么程度才算是一个合格的面试者?要在算法平台上刷多少道题才能算是达到要求?
我得到的答案是:面试官虽然会看中学生的coding能力,但其实更被看重的还是作为工程师的思辨能力,能否抓住问题的重点,给出一个可行的解决方案,根据现有的方案不断迭代,直到迭代到一个最好的方案。这个思辨能力是在整个不断地沟通、探讨的过程中展现出,不是仅仅刷题就能刷出来的,所以只埋头刷题确实不太行,感觉这也是我之后要去提升的点。

看完直播间的一些技术思考

听完技术大佬的一些分享后,脑子里蹦出了一个想法:将前端获取的数据,存储到服务器的静态资源里,然后把机器学习的相关算法挂载到远程服务器上,把机器学习所需要的数据存到静态资源相关的文件夹里面,做到训练模型时随用随调,通过对特征的提取得到一些关键数据,对这些关键数据应用到相关的静态资源上然后对相应的文件进行排序,观看量大的,点赞量大的排在首位,这样一来用户在调用后台接口时访问到的第一个静态资源就是访问量最大的。

END部分/小总结

笔记先整理到这。总的来说,干货确实挺多,有点期待之后的几场直播,后面应该还有计算基础架构、抖音主框架、电商业务前端、AI-Lab这几场。如果还是这个模式,应该还会继续介绍字节的这几个研发团队,包括每个子团队负责的具体业务,不同团队所需的技术栈是什么,以及学习相关技术栈相关的学习方法。这可比靠简历JD的关键词摸索清楚多了...

感兴趣的朋友,可以一起蹲直播间,咱们一起交流。

#字节跳动##算法##实习##面试#
全部评论
蹲个直播间链接
点赞
送花
回复
分享
发布于 2022-07-26 11:57
今晚有吗?? 求问几点开播!
点赞
送花
回复
分享
发布于 2022-07-26 12:03
滴滴
校招火热招聘中
官网直投
学弟好啊,来 AML 实习吗
点赞
送花
回复
分享
发布于 2022-07-26 16:04

相关推荐

9 18 评论
分享
牛客网
牛客企业服务