如何转行成为数据科学家 - 一位量化分析师的经验

建议
作者

Rachel Thomas

发布日期

2017年3月1日

本文已被翻译成中文版请点击此处

我有时会收到一些关于数据科学的咨询邮件,我在这里以数据科学咨询专栏的形式回答它们。如果你有数据科学方面的困惑,请发送邮件至 mailto:[电子邮件 受保护] 联系我。请注意,问题会经过编辑以便更清晰和简洁。数据科学咨询专栏的其他文章包括

问:这个问题综合了我收到的几封邮件,这些邮件来自一些编程技能有限、居住在湾区以外、并有兴趣成为数据科学家的人,例如以下几封

问题1. 我是某大型银行的金融分析师。我正在转型成为一名软件工程师,我对机器学习很感兴趣,这让我看到了你关于 人工智能多样性危机 的文章。在人工智能领域工作需要硕士或博士学位吗?

问题2. 我正在攻读纯数学博士六年级,即将毕业。我对数据科学非常感兴趣,想知道如果我想在这个领域找到工作,我可以做什么或者我应该如何准备自己才能具备公司所需的技能?我现在正在看书并尝试找一些可以做的副项目。你有什么关于如何找到这些能引起雇主兴趣的项目的建议吗?

问题3. 我拥有STEM(科学、技术、工程、数学)领域的研究生学位,曾担任研究员和教师。我目前正处于职业转型期,正在寻找需要员工具备分析和教学技能的行业职位。然而,我的知识更偏向科学而非软件。互联网上的信息非常多,如果没有实际分享,很难从中提取有用信息。你有什么推荐的编程课程和研讨会,同时又适合教师的预算吗?你认为应该重点培养哪些编程语言或技能最有帮助?

答:我认为我自己的背景有些非传统。乍一看,我似乎拥有典型的数据科学教育背景:高中学习了2年C++,大学辅修计算机科学(主修数学),攻读了与概率相关的博士学位,并曾担任量化分析师。然而,我的计算机科学课程大多是理论性的,我的数学论文完全是理论性的(没有任何计算!),多年来我使用的C/C++越来越少,而MATLAB越来越多(天哪,我为什么要那样折磨自己?!不知怎么的,我甚至发现自己在用MATLAB写网络爬虫……)我的大学教育教会了我如何证明算法是NP完全的或图灵可计算的,但对测试、版本控制、网络应用或互联网如何工作一无所知。我曾担任量化分析师的公司主要使用科技行业不用的专有软件/语言。

在能源交易领域做了2年量化分析师后,我意识到我最喜欢的工作部分是编程和数据处理。我厌倦了在大公司工作的官僚作风,以及处理过时和专有的软件工具。我想要一些不同的东西,于是决定参加2012年2月的数据科学会议Strata,以便更多了解湾区的数据科学世界。我完全、彻底地被震撼了。人们对数据的巨大热情,所有让我最兴奋的工具(还有一些我以前从未听说过的),那些辞去了学术界或老牌公司的工作,来到初创公司追逐梦想的人的故事……这一切都和我过去习惯的截然不同、令人耳目一新。参加完Strata会议后,我在旧金山多待了几天,面试了几家初创公司,并和一些我发现已经搬到旧金山的远房朋友喝咖啡——每个人都非常乐于助人,而且显然都沉迷于Four Barrel Coffee(几乎所有我交谈过的人都建议在那里见面!)

我被迷住了,但真正转行进入科技界却让我感觉完全格格不入……在与科技界人士进行最初的许多次交流和面试中,我常常觉得他们在说另一种语言。我在德克萨斯州长大,二十多岁在宾夕法尼亚州和北卡罗来纳州度过,不认识任何从事科技工作的人。我从未上过统计课,只把概率看作度量为1空间上的实分析。我对初创公司和科技公司如何运作一无所知。第一次面试一家初创公司时,一位面试官吹嘘公司在迅速扩张/招聘前曾短暂盈利。“你的意思是这家公司不盈利?!?”我惊恐地回应(是的,我当时真的大声、震惊地说出来了)。我现在回想起那个场面,感到尴尬地畏缩。在另一次面试中,我对“曝光量”(即互联网广告被展示的次数)的概念感到非常困惑,甚至花了些时间才理解问题的逻辑。

我来这里已经五年了,以下是一些我当初转行时希望能知道的事情。我知道我是一名白人、美国公民,研究生期间获得了丰厚的奖学金,没有学生贷款,并且在我决定转行时单身无子女,一个没有这些特权的人将会面临更加艰难的道路。虽然我的轶事只能作为参考,但我希望其中的一些建议能对你有所帮助

为转型数据科学做好准备

  1. 最重要的是:想办法将你想学习的东西融入到当前工作中。找到一个需要更多编程/数据分析并且对你的雇主有帮助的项目。把你做的任何无聊的任务自动化。即使自动化过程花了5倍的时间(即使你只做一次这个任务!),你也在通过实践学习。

  2. 分析你拥有的任何数据:从研究即将购买的物品(例如 决定买哪个微波炉),个人健身追踪器的数据,你正在烹饪的食谱中的营养数据,为你孩子物色的幼儿园。将其变成一个小型数据分析项目,并写成博客文章。例如,如果你是研究生,你可以分析你正在教的学生的成绩数据

  3. 学习最重要的数据科学软件工具:Python的数据科学技术栈(pandas/numpy/scipy)是学习起来最有用的技术(阅读这本书!),紧随其后的是SQL。我建议在学习其他语言之前,重点掌握Python和SQL。Python应用广泛且灵活。如果你决定转向更多软件开发工作或全身心投入机器学习,掌握这些技能会让你处于有利位置。

  4. 使用Kaggle。做教程,参与论坛,参加比赛(不用担心排名——只需专注于每天进步一点点)。这是学习实用机器学习技能的最佳方式。

  5. 搜索你所在地区的数据科学和技术聚会。近几年数据科学爆发式增长,世界各国、各种各样的城市都有了聚会。例如,谷歌最近在加州山景城举办了TensorFlow开发者峰会,世界各地都有观看直播的聚会(包括尼日利亚阿布贾印度哥印拜陀摩洛哥拉巴特)。

在线课程

在线课程是绝佳的资源。你可以在家中舒适地学习世界顶尖数据科学家的知识。通常大部分学习发生在完成作业的过程中,所以不要跳过它们!以下是我最喜欢的一些课程

正如上面一位提问者所强调的,网上可用的信息、教程和课程数量之多可能让人不知所措。最大的风险之一就是从一个东西跳到另一个东西,却从未完成任何一个或在一个主题上坚持足够长的时间来学习它。重要的是找到一个“足够好”的课程或项目,然后坚持下去。对此有帮助的一件事是找到或组建一个线下聚会小组,一起学习在线课程。

在线课程对于你获取知识非常有用(而且做完所有作业非常重要,因为那是你学习的方式)。然而,我目前还没有看到获得课程证书的任何好处(我知道这是一个新的增长领域)。这是基于我招聘数据科学家时面试了大量求职者以及自己面试过许多职位的经验。

新闻来源

  • Twitter 是一个寻找有趣文章和机会的非常有用的途径。例如,我的合作者 Jeremy Howard 提供了1000多个他最喜欢的机器学习论文和博客文章的链接(注意:你需要登录Twitter才能查看此链接)。找到要关注的人需要一些时间(可能涉及关注、取消关注以及一路上的搜索),不过一个捷径是查看上面链接中你喜欢的推文是谁写的,然后直接关注他们。搜索你感兴趣的公司的数据科学家。搜索你使用或感兴趣的库和工具的作者。当你找到一个喜欢的教程或博客文章时,查找作者。然后再查找这些人转发了谁。如果你不确定发什么或如何发推文,我认为将Twitter视为一个(公开)收藏你喜欢的链接的方式会很有帮助。我尽量推送我认为几个月后可能想参考的任何文章或教程。
  • 机器学习 subreddit 是获取最新新闻的绝佳来源。你可能一开始觉得很多内容难以理解,但几个月后,你会开始认出越来越多的东西
  • 订阅一些newsletter会很有帮助,例如Import AI newsletterWildML news

迁往湾区

尽一切可能搬到湾区!我意识到这对很多人来说可能不现实(特别是如果你有孩子或存在各种签证/合法居留问题)。这里有如此之多的数据科学聚会、学习小组、会议和研讨会。这里还有一群令人惊叹的聪明、有抱负、渴望学习的数据科学家。我甚至很难从远处弄清楚哪些对我来说是最有用的学习内容。虽然我在搬来这里之前就已经开始自学机器学习,但来到旧金山极大地加速了我的学习。

我在旧金山的第一年对我来说是一个强化学习的时期:我参加了大量的聚会,完成了几个在线课程,参与了许多研讨会和会议,在一家专注于数据的初创公司工作中学到了很多,最重要的是结识了许多我可以请教的人。我完全低估了能够定期与那些正在构建最让我兴奋的工具和技术的人互动是多么令人惊叹。我身边都是热爱学习、正在推动技术前沿的人。我上面提到的那个世界各地人们都在观看的TensorFlow开发者峰会?我很幸运能够亲临现场,而我最喜欢的部分是见到的人们

搬来这里的一个好方法是接受一份“并非你梦想的工作”;也就是说 试着到一个你能被学习对象包围的地方,即使那个职位你本来不感兴趣。我决定在2012年初转行,那时 Insight 或其他数据科学训练营还不存在。我申请了几份当时我心中的“梦想工作”,但都被拒绝了。回想起来,我认为这是因为我缺乏一些必要的技能,不知道如何正确推销自己,以及求职时间相当短暂。2012年3月,我接受了一家让我感到兴奋的初创公司的分析师职位,并带着希望能稍后转入正式的数据科学/建模职位的希望和非正式协议。总的来说,这是个不错的选择。它让我快速搬到旧金山,我加入的公司在很多方面都很棒(包括有一个每周阅读小组,他们一起研读Bishop的《模式识别》,并且带我出去拜访了Trevor Hastie 和 Jerome Friedman),我的经理也很支持我做比官方岗位职责范围更工程密集型的项目。一年后,我找到了名义上是我的梦想工作:在一个拥有令人着迷的数据集的初创公司担任数据科学家/软件工程师的综合角色。

该地区也有一些不错的训练营,通常也能提供很多机会让你与数据科学领域有趣的人和公司建立联系。- Insight Data Science 是一个为期7周、免费、高强度的训练营,面向拥有STEM领域博士学位的毕业生。潜在缺点:由于只有7周,其中一部分侧重于人脉建立和求职,我认为它主要适合那些已经具备大部分所需技能的人。此外,竞争非常激烈。- 数据科学训练营,如GalvanizeMetis。优点:这些是为期12周的沉浸式体验,提供结构和人脉建立机会。缺点:这些课程相当昂贵。需要考虑的一些因素:你的背景与所需技能有多接近?也就是说,如果你的编程经验很少,可能需要参加这样的课程,但如果你是从密切相关的领域转型,这可能有些过头。此外,你独立自学的动力有多强?如果你在这方面有困难,训练营的责任感和结构可能会有所帮助。

决定是否参加训练营有许多因素。一个重要的因素是你需要多少结构或外部动力。网上有很多很棒的资源。你有多少自律性?请注意,接受什么最适合你学习很重要。我发现在线课程和有作业的激励方式对我非常有效,我以前会因为这种方式比完全独立的副项目对我更容易而感到尴尬。现在,我接受了这一点,并尝试以此方式学习。其他要问自己的问题是:你需要学习多少东西,以及你能多快地自学?如果需要学习的内容很多,训练营可能会真正加速这个过程。我认为训练营特别擅长的一个方面是教你如何将一堆不同的工具/技术整合起来使用。

你也可以没有工作就搬到这里。这需要一些条件,包括:充足的储蓄、美国合法居留身份、以及没有孩子,所以这不适用于很多人。然而,如果你能够做到(例如 美国永久居民,来自金融行业),这可能是一个不错的选择。在科技界找工作可以是一份全职工作,因为数据科学和工程职位的面试需要大量学习准备,而且很多需要耗时的带回家挑战。回想起来,我在全职工作同时求职时,经常是仓促地寻找工作,这导致我做了一些次优的决定。你肯定会找到很多方法来填补你的时间,比如为面试学习、做编程副项目以及参加研讨会和学习小组。此外,我转行到科技界时有两件事让我感到惊讶:人们跳槽的频率有多高,以及在两份工作之间请假学习新东西或旅行是多么正常(所以不用太担心简历上的空档期,只要你能很好地解释那段时间你在学什么)。

巨大的警告:五年前我搬来时,我不知道湾区的科技界有多么性别歧视、种族歧视、年龄歧视、跨性别恐惧症和道德败坏(尽管它声称正在创造更美好的未来)。几年后,我变得非常沮丧,以至于我曾考虑彻底离开科技行业。充斥着背叛、冷漠和残酷的故事:例如,我一位亲近的人的家庭医疗紧急情况被同事利用牟利,我的许多朋友和亲人也有过类似的糟糕经历。然而,这个充满激情、迷人的人群以及接触尖端技术的机会让我留在这里,如果再给我一次选择,我还是会选择搬到这里。目前我在fast.ai工作,能解决我最感兴趣并且认为将产生最大影响的问题,我感到非常幸运。