如何改变职业并成为一名数据科学家-Quant的经验

此帖已翻译成 中文在这里 .

有时我会收到电子邮件,要求提供与数据科学相关的指导,在此作为数据科学建议专栏进行答复。如果您有与数据科学相关的难题,请发送电子邮件至 [电子邮件  protected]。请注意,为了清楚和简洁起见,对问题进行了编辑。数据科学建议专栏的其他部分包括:

问: 这个问题是我收到的一些电子邮件的综合信息,这些电子邮件来自编程能力有限,居住在海湾地区以外并且对成为数据科学家感兴趣的人,例如:

Q1。我是一家大型银行的财务分析师。我正在以软件工程师的身份转向技术,并且对机器学习感兴趣,这使我对您的文章有所了解 人工智能的多样性危机 。我需要硕士学位或博士学位才​​能从事AI工作吗?

Q2。我现在是纯数学博士学位的6年级,即将毕业。我对数据科学真的很感兴趣,我想知道我是否想在这个领域找到一份工作,我该怎么做,或者我应该做些什么准备,以便拥有公司所需的技能?我现在正在看书,试图找到一些我可以做的副业。您有什么想法可以找到这些使雇主感兴趣的项目吗?

Q3。我拥有STEM学位,并且曾担任研究人员和老师。我目前正处于职业过渡阶段,正在寻找可能需要员工具备分析和指导技能的行业职位。我的知识更多地是在科学方面,而不是软件。互联网可能会成为一个压倒一切的地方,而无需实际共享即可获取信息。您对编程课程和讲习班是否有建议,对教师的预算也很友好?您说什么编码语言或技能对专注于开发最有帮助?

A: 我认为自己有点 非传统背景 。乍看之下,我似乎接受了经典的数据科学教育:我在高中学习了2年C ++,在大学中攻读了计算机科学(拥有数学专业),并获得了与概率相关的博士学位,并担任过定量研究。 。但是,我的计算机科学课程大部分是理论性的,我的数学论文完全是理论性的(根本没有计算!),这些年来,我使用的C / C ++越来越少,而MATLAB却越来越多(为什么我要这么做呢?我自己?!?我甚至发现自己甚至在MATLAB中编写了Web爬虫……)我的大学教育教会我如何证明算法是NP完整的还是Turing可计算的,但是与测试,版本控制,Web应用程序或Internet无关。作品。我从事定量研究的公司主要使用专有软件/语言,而在技术行业却没有使用过。

在从事了两年的能源交易量化工作之后,我意识到我最喜欢的工作是编程和处理数据。在一家大公司工作,处理过时的专有软件工具的单调乏味使我感到沮丧。我想要一些不同的东西,并决定参加数据科学会议 地层 请在2012年2月进一步了解“湾区”数据科学的世界。我完全,完全被震撼了。对数据的巨大热情,我最兴奋的所有工具(以及我以前从未听说过的其他工具),人们在学术界辞职或创办公司以对创业充满热情的人们的故事……它是如此不同,让我耳目一新。在Strata之后,我在旧金山花了几天的时间,在初创公司进行面试,并和一些远亲相识的人喝咖啡,发现我已经搬到了SF-每个人都非常乐于助人,而且显然沉迷于 四桶咖啡 (我与之交谈的几乎每个人都建议在那里开会!)

我为之震惊,但实际上转而使用技术使我完全感到不舒服。在我与技术人员的许多对话和访谈中,我常常觉得他们在说另一种语言。我在得克萨斯州长大,在宾夕法尼亚州和北卡罗来纳州度过了20多岁,并且不认识从事技术工作的人。我从没参加过统计学课程,只是将概率视为对度量空间1的真实分析。我对创业公司和科技公司的运作方式一无所知。我第一次在一家初创公司面试时,一位面试官夸口说公司在开始快速扩张/招聘之前是如何短暂实现盈利的。 “您的意思是这家公司没有利润!?!?”我惊恐地回答(是的,我实际上是用震惊的语气大声地说出来的)。我现在对记忆感到尴尬。在另一次采访中,我对 “印象” (显示互联网广告时),我花了一段时间才弄清楚问题的逻辑。

我到这里已经五年了,这是我希望开始职业生涯时希望知道的一些事情。我知道我是白人,是美国公民,在研究生院获得了慷慨的奖学金,没有学生的债务,在我决定转行时是单身且没有子女的,没有这些特权的人将面临更加艰巨的挑战路径。尽管我的轶事应加一点盐,但我希望其中一些建议对您有帮助:

为转向数据科学做好准备

  1. 最重要的是:找到工作方法,将想要学习的任何知识应用到当前工作中。查找一个涉及更多编码/数据分析并且对您的雇主有帮助的项目。承担您所做的任何无聊的任务,然后尝试使其自动化。即使自动化过程花费的时间是原来的5倍(即使您只执行一次任务!),您也可以通过这样做来学习。

  2. 分析您拥有的任何数据:来自即将进行的购买的研究(即确定要购买的微波炉),来自个人健身追踪器的数据,来自烹饪食谱的营养数据,正在为您的孩子寻找的学龄前儿童。将其变成一个微型数据分析项目,并将其写在博客文章中。例如。如果您是研究生,则可以分析所教学生的成绩数据

  3. 学习最重要的数据科学软件工具:Python的数据科学堆栈(pandas / numpy / scipy)是学习(阅读)的第一大最有用的技术 这本书 !),紧随其后的是SQL。在学习其他语言之前,我将专注于对Python和SQL非常熟悉。 Python被广泛使用且灵活。如果您决定切换到更多的软件开发工作或全心投入机器学习,您将处在有利的位置。

  4. 采用 卡格勒 。做教程,参加论坛,参加比赛(不必担心您放置的位置-只专注于每天做得更好一点)。这是学习实用机器技能的最佳方法。

  5. 搜索您所在地区的数据科学和技术聚会。在过去几年中,随着数据科学的迅猛发展,如今在世界各地的国家和各种各样的城市中都有聚会。例如,Google最近举办了一次 TensorFlow开发峰会 在加利福尼亚州山景城(Mountain View),但世界各地都有观看聚会,一起观看了直播( 包括尼日利亚阿布贾 , 印度哥印拜陀 摩洛哥拉巴特 )。

在线课程

在线课程是一个了不起的资源。您可以在家中舒适地向世界上最好的数据科学家学习。通常,大部分学习都是在作业中进行的,所以不要跳过它们!这是我的一些最爱:

正如以上提问者之一所强调的那样,在线提供的信息,教程和课程数量可能是巨大的。最大的风险之一是从一个事物跳到另一个事物,而没有完成一个事物或坚持一个足够长的时间来学习它的话题。找到“足够好”的课程或项目,然后坚持下去很重要。可能有帮助的是找到或 成立一个聚会小组 一起完成在线课程。

在线课程对于您所获得的知识非常有用(并且非常重要,因为您要进行所有作业,因为这就是您的学习方式)。但是,从证书中获取证书并没有任何好处(但是,我知道这是一个新的增长领域)。这是基于我的经验,我在雇用数据科学家时曾采访过大量的求职者,而我本人也曾采访过许多职位。

新闻来源

搬到湾区

尽您所能移至湾区!我意识到这对许多人来说都是不可能的(特别是如果您有孩子或各种签证/法律居留问题)。这里有如此多的数据科学聚会,研究小组,会议和研讨会。还有一个由其他聪明,雄心勃勃,渴望学习的数据科学家组成的惊人社区。我什至无法弄清楚哪些是我可以从远处学习的最有用的东西。尽管在搬到这里之前我已经开始自己学习机器学习,但是来到SF迅速加快了我的学习速度。

我在旧金山的第一年对我来说是一个刻苦学习的时期:我参加了很多聚会,完成了几次在线课程,参加了无数次研讨会和会议,通过以数据为中心的初创公司的工作学到了很多东西,最重要的是遇到了数十个我能够提出问题的人。我完全低估了能够与正在建设最令我兴奋的工具和技术的人们进行定期交流的惊人程度。我周围都是热爱学习,并且力求做到最好的人。我上面提到的TensorFlow开发者峰会是世界各地的人们观看的?我很幸运能够现场参加它,并且 我最喜欢的部分是我遇到的人.

搬到这里的一种好方法是进行“非梦想的工作”。例如,尝试去一个可以被您学习的人包围的地方,即使这不是您本来不会感兴趣的角色。我决定在2012年初,在Insight或其他数据科学训练营成立之前就转行。我当时申请了一些我的“梦想工作”,但被拒绝了。事后看来,我认为这是我缺乏一些所需技能,不知道如何正确推销自己,以及进行相当简短的求职的综合原因。 2012年3月,我在一家令我兴奋的初创公司中接受了分析师的职位,希望并达成一项非正式协议,希望我以后可以担任正式的数据科学/建模职位。总体而言,这是一个不错的选择。它使我能够迅速搬到旧金山,我加入的公司在很多方面都非常出色(包括建立一个每周阅读小组, 主教的模式识别 包括我参加实地考察 Trevor Hastie和Jerome Friedman),而我的经理支持我做更多的工程密集型项目,而不是正式担任该职位。一年后,我找到了我梦dream以求的工作:将数据科学家/软件工程师的角色与一家拥有引人入胜的数据集的初创公司相结合。

该地区也有一些不错的训练营,通常也为与数据科学领域有趣的人和公司建立联系提供了许多机会。

决定是否进行训练营有很多因素。重要的是您需要多少结构或外部动力。在线上有很多惊人的资源。你有多少纪律?请注意,接受最好的学习知识很重要。我发现了在线课程的动力,并且对我而言确实可以从事作业,而我过去常常感到尴尬的是,这对我来说比拥有一个完全独立的附属项目要容易得多。现在,我已经接受了它并尝试使用它。还有其他问题要问:您需要学习多少知识,您自己可以学习多少时间?如果很多的话,新兵训练营可能真的可以加快速度。我认为新手训练营尤其能发挥作用的一个领域是教您如何将一堆不同的工具/技术组合在一起。

您也可以在没有工作的情况下搬到这里。这需要做很多事情,包括:足够的储蓄,美国的合法居留身份以及没有孩子,因此对于许多人来说,这不是一个选择。但是,如果您能够做到这一点(例如,来自金融业的美国永久居民),这可能是一个不错的选择。寻找技术工作可能是一项全职工作,因为数据科学和工程学面试需要大量的学习准备工作,而许多工作则需要时间密集的挑战。事后看来,我在全职工作和求职时经常进行紧急工作搜索,这导致我做出了一些次优的决定。当然,您会找到很多方法来充实时间进行学习,以进行访谈,编写辅助项目以及参加研讨会和学习小组。另外,当我转用高科技时,有两件事令我感到惊讶:人们频繁地换工作,以及在两次工作之间抽出时间学习新事物或旅行的正常情况(因此,不必再担心简历中的空白,只要您对这段时间所学的内容有很好的答案)。

巨大的警告:5年前我搬家时,我还没有意识到性别歧视,种族主义,年龄歧视,仇视和道德上破产的湾区技术(尽管其宏伟的宣称正在创造更好的未来)。几年后,我非常沮丧 我考虑完全离开科技行业。背叛,残酷无情和残酷的故事无处不在:例如,我接近的某个人被同事利用家庭医疗事故牟利,而我的许多朋友和亲人也经历过同样糟糕的经历。但是,热情,引人入胜的人们社区以及对尖端技术的了解使我留在这里,如果有选择,我会选择再次搬到这里。目前,我对使用fast.ai感到非常幸运,能够从事我认为最有趣并且相信会产生最大影响的问题。

我需要硕士学位或博士学位才​​能从事AI工作吗? 我坚信答案是否定的,并且我正在努力使之成为现实。实际上,AI博士通常不具备解决实际相关业务问题的良好条件,因为这不是其培训的目的。学术界致力于发展该领域的理论界限,并受到可以在顶级期刊上发表的论文的激励(这与创造可行的业务完全不同!)。进一步了解fast.ai的教育理念 这里 并查看我们的免费在线课程 面向程序员的实用深度学习.

学习Python之后应该学习Ruby吗? 有抱负的数据科学家没有理由学习Ruby。它与Python足够相似,不会教给您新概念(学习功能性语言或低级语言的方式),而且数据科学生态系统也很少。

在哪里可以找到使雇主感兴趣的附带项目?我想我可以在网上找到随机数据集,但是我猜雇主确实想看看我如何处理实际情况? 不要觉得您的副项目需要完全独特,或涉及独特或不寻常的数据集。最好将您从Kaggle获得的数据集用于辅助项目。如果您的项目不是开创性的,那很好。在创建附带项目,博客文章或教程时,请把您的听众视为落后于您的人,因为他们是您最有能力提供帮助的人。您可能会担心某个项目或职位对本领域的高级人员不会很有趣,或者其他人可能做了类似的事情。没关系!只是为了使您的工作做好而已。