想转行数据科学吗? 这里有三种场景和方法

想转行数据科学吗? 这里有三种场景和方法

在我以前学物理的时候,我就经常需要Google 一些听起来很花哨的专业术语。一般我这样做时,我第一个看的就是维基百科。

但是,尽管维基百科很好,但似乎从来都不是跟我处于同一个水平,要么让我难以理解,要么对我来说太简单了。这种情况频繁的发生,让我很想把它称为互联网定律:“任何技术相关的维基百科,都不能同时又好理解,又有足够信息”。

我认为,很多数据科学职业建议(或求职/面试准备的建议)也有类似的规律:有针对完全初学者的帖子,针对资深软件工程师的帖子,以及帮助初级数据科学家提升技能的帖子。所有这些噪音让许多有抱负的数据科学家在寻求过渡到该领域时,很难知道要把时间花在哪儿。

这是我在帮助学员时关注的重点之一。虽然没有适合所有人的一刀切解决方案,但我发现,我一直在向大概3 类人提供类似的建议。本文就将针对这三种不同的场景,为你提供对应的解决方案。如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
想快速学习数据科学?技巧经验都在这儿!
五个步骤教你独立完成数据科学项目
硅谷数据科学家岗位哪家工资高,哪家面试题难?揭秘FANNG迥异的面试画风!
面试当中的背景调查是怎样进行的?

第一类:完全的初学者

如果你刚刚涉足数据科学领域,请记住这一点:这个领域发展非常快,所以,我在这里给出的任何建议随时可能过时。比如,那些让人在 2017 年被招聘的方法,在现在起不到任何作用,今天的数据科学招聘标准,和一两年后的标准之间的差距可能会更大。

顺便一提,如果你想进入数据科学领域,又没有编程/STEM 背景,这里有一些建议:

  • 在做任何事情之前,保持开放的心态。如果你是一个完全的初学者,那么你实际上并不知道数据科学是什么,所以,它完全有可能不是你想要的工作。你可以在在 LinkedIn 上关联一些数据科学家,请他们喝杯咖啡聊个天。关注数据科学相关播客。成为一名数据科学家需要投入大量的时间和精力,所以,仅仅因为你觉得自动驾驶很酷就一头扎进里头,这不是转行的好理由。要保证你也了解数据科学中不那么光彩的一面,例如数据争议、构建数据管道等等,它们占了数据科学家日常工作的大部分。
  • 如果你决定继续前进,那就太好了!你需要做的第一件事是学习 Python。用一个MOOC,尽快建立一个基础项目。当你对自己的 Python 技能感到满意时,学习如何使用 Jupyter notebook, 并参加一些数据科学 MOOC。如果你还想找更具体的说明, 这篇文章也提供了一个很好的学习路径。
  • 如果你真的是从头开始,那么直接把数据科学岗位设为目标,不一定是最好的想法。相反,你可以设定更容易实现的目标:数据可视化或数据分析岗的需求量很大,并且是更容易进入市场的方式。他们通常也要和数据科学家一起工作,等你获得了经验以后,就有朝那个方向横向移动的可能。

如何包装自己:如果你已经准备好申请工作,你可能会惊讶地发现,包装自己在数据科学中异常地重要。你可能会担心,因为你没有专业经验或 CS 研究生学位,自我推广对于你来说可能是一个问题。

但实际上,这可能是你最大的个人优势:你是白手起家、自学成才的开发人员/数据科学家,公司可以依靠你快速学习和努力工作的能力。但是问题在于,要实现这个形象是一个巨大的挑战:虽然这是一座难攀登的山坡,但回报绝对是值得的。

第二类:软件工程师

我遇到的有抱负的数据科学家中,可能有 20% 是软件工程师。

一方面,拥有将代码部署到生产环境,以及与开发人员团队合作的经验会是一笔巨大的财富。

另一方面,公司对全栈开发人员的需求庞大,即使他们聘用的角色要稍微涉及到“数据科学”,公司有时也会朝这个方向来推动软件工程师。所以,你要避免被归为软件工程师,而成为数据科学家。

其他一些想法:

  • 请考虑先把你当前的职位迁移到更后端/数据库的方向。更加熟悉数据管道是一个好的开始,可以帮助你建立核心的数据操作技能。它还可以让你塑造个人品牌,并把自己定位为经验丰富的数据管理员。
  • 机器学习工程师可能是你最接近的数据科学相关的角色,这能让你的工作更容易过渡。你可以通过有效利用你现有的技能,来找到强调模型部署、或集成到现有应用程序中的岗位。以后可以随时加强你的模型开发,但这是让你迈出第一步的好方法。
  • 你可能必须去建立机器学习,或数据科学项目,来给雇主留下好印象。可以把你的软件工程技能集成到向招聘人员、技术主管展示的应用程序中,充分利用你的软件工程技能。这会特别有效,因为你不需要想其他的,还能强调你作为全栈数据科学家的潜力。
  • 需要记住的一点是:你几乎肯定会在过渡期间被减薪。即使是高级软件工程师在转向数据科学时,经常也不得不过渡到初级角色,但意外的是,他们中有很多人并没有将这一点纳入他们的考虑范围内,所以在收到报价时会感到失望。

如何包装自己:包装自己的最简单方法之一,是利用你在软件开发方面的经验。你已经知道要如何编写干净、有据可查的代码,以及如何与他人合作,这是大多数初级职位申请者不具备的优势。但是,想要有效地使用“干净的生产代码”,你还必须了解数据科学中的最佳实践。

第三类:新的 CS、数学或物理毕业生

如果你是一个刚从本科生、硕士或博士 STEM 毕业的学生,你多半在统计学和数学方面有很好的基础。但你可能没申请过技术方面的工作,而且你也不确定要如何准备面试。此外,就算你在攻读学位期间一直在编程,你也很可能不会编写干净、组织良好的代码。

需要牢记以下几点:

  • 你在学位期间学到的 R 是不够的。如果你是学物理的,并且你觉得你的 MATLAB 或 Mathematica 技能让你找到一份工作,这些也是远远不够的。你还需要学Python。
  • 一些你可能不知道,但需要尽快学习的东西:协作的版本控制(学习如何与其他人一起使用 GitHub)、容器化(学习如何使用 Docker)和 devops(学习如何在 GitHub 上部署模型、  AWS 或一些类似服务的云)。SQL也是必学的。
  • 学习 Python 中以测试为驱动的开发。了解如何使用docstrings。了解如何模块化你的代码。同时还需要学习如何使用 Jupyter Notebook。
  • 如果你处在一个特别数学的领域,那深度学习可能是你一个很好的探索方向。但你可能会发现,从更传统的“scikit-learn”类的数据科学角色开始,迁移到深度学习更为容易。最重要的是,想要进入行业,你要尽快开始编写生产代码。

如何包装自己:如果你是数学或物理专业的,你最好的策略就是把自己塑造成一个拥有深厚理论知识的人。为此,你要能自信地解释各种模型的工作原理,并且最好熟悉文献中最新“热门”话题(如果你的目标是深度学习角色,则尤其如此)

需要注意的:我提供的建议不会完美地适用于所有情况。一些软件工程师比其他人要走得更远,而一些完全初学者也有丰富的数学技巧,他也可能成为最适合深度学习研究人员。但我的这些建议,可以为你技能发展方向提供一个良好的起点。

归根结底,无论你是软件工程师、应届毕业生还是完全的初学者,要问自己的一个关键问题,最接近你自身的职业轨迹是什么。如果要成为数据分析师或数据可视化专家才能踏入这扇门,那这多半也是让你走上正确的长期轨迹的最佳方式。感谢你的阅读!你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Jeremie Harris
翻译作者:Peter Mei
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/3-common-data-science-career-transitions-and-how-to-make-them-happen-588c3618942f