软件工程到数据科学
有一天,我看到@yadlra发布了一条问题:
我发表了一篇很长的回复,但我觉得其他人也会从有关该主题的帖子中受益。
2017年,我大学毕业,获得了计算机工程师的学位,之后开始全职工作,之后才转向数据科学领域。我发现,从软件领域学到的技能可以很好地迁移到数据科学领域,尤其是在构建大数据处理工具的时候。
目前,我所在的团队专注于工具和机器学习应用,但数据科学领域还有很多值得考虑的领域。下面,我概述了我在进入该领域期间研究的一些领域、技能和资源。
数据科学领域
数据科学的应用领域非常广泛。最近,我在两所大学做了关于数据科学的演讲,并被问到一系列问题:
是否存在无法利用数据科学的领域?
我的答案是否定的。我相信,只要有数据,每个领域都可以利用数据科学;或者反过来,如果数据开放,未来也能够利用数据科学。我甚至见过艺术家利用数据创作雕塑。一旦你选择了一个感兴趣的领域,你就能找到数据科学、数据工程等领域的数据相关工作。
您在本科期间学习过数据科学吗?或者可以先获得其他领域的学士学位吗?
如前所述,我最初并没有学习数据科学,而是在攻读硕士学位时才转向数据科学。我发现,我合作过的大多数数据科学家在进入数据科学领域之前,都曾学习过其他学科。他们专攻计算机科学、工程学、数学等不同领域。专注于一个领域,然后运用在那里获得的知识来深造数据科学,这完全没问题。你会为数据科学带来一些其他人可能因为你的背景而看不到的方面。
您是如何寻找工作的?
我在行业内找工作时学到的一点是,并非所有头衔都代表着相同的含义。头衔种类繁多,从数据科学家、数据分析师、业务分析师到数据工程师,不一而足。我不再按头衔搜索,而是开始用关键词搜索,因为这有助于我缩小符合我需求的职位描述范围。我搜索时使用的关键词主要集中在我想使用的编程语言(Python)、我想接触或持续使用的工具(Tableau、Spark、Git)以及我正在寻找的工作类型(物联网、互联系统、传感器)。
另一个非常有用的求职方法是建立人脉,无论是线上还是线下聚会。例如,我发现领英(LinkedIn)就是一个很好的工具,可以让我与同行进行线上交流,了解他们公司的情况以及他们参加的会议或活动类型。
哪些技能对您的职业生涯有帮助?您使用了哪些工具?
找到一个专业领域后,我开始专注于自己想要学习的技能。我在数据科学领域的第一份工作是合作社的数据工程师。在此期间,我努力学习更多关于Docker的知识,以便将数据应用程序、数据库和ETL流程容器化。之后,我开始从事应用数据科学工程师的工作。此时,我开始将我的技能更多地集中在统计/数学、数据清理、大数据处理、数据叙事和可视化以及工具开发上。在这两份工作中,工具开发和应用程序开发让我能够更多地利用我的软件背景,而数据分析和可视化则让我能够更多地运用我的数据科学背景。在这两份工作中,我发现编程是一项很有价值的技能,尤其是面向对象编程和编写简洁的代码。不同工作所需的技能可能有所不同,但找到你喜欢做的事情不仅能帮助你找到工作,还能让你享受工作!
如果您正在寻找要学习的工具和框架,以下仅供您考虑:
- 用于原型代码的 Jupyter Notebook
- Git 用于控制笔记本和其他代码的版本
- Spark 和 Hadoop 用于大数据处理
- 数据库和数据存储适用于不同类型的数据,了解何时使用哪种类型的数据存储将会很有帮助
- Tableau 和其他用于仪表板和可视化的 BI 工具
- Python可视化库:Bokeh、Matplotlib等。
- R 及其各自的库 / R Shiny
您发现哪些资源有助于您在大学之外继续学习?
数据科学入门的一本好书是《统计学习入门:R语言应用》。这本书非常棒,在我刚开始学习的时候很有帮助。我现在还在公司留着一本,做事的时候可以参考。
如果你正在寻找另一本更侧重于软件的优秀读物,罗伯特·塞西尔·马丁 (Robert Cecil Martin) 的《代码整洁之道》(Clean Code ) 是一本很棒的书,它专注于如何编写结构良好、易于阅读的代码。这本书侧重于教授 Java 技能,但我将同样的概念应用于 Python。
另一个不错的书籍资源是出版商 O'Rielly。他们有大量关于数据科学和 Python 的好书。我发现他们的书很有帮助,也保留了一些作为工作参考。
我还建议研究一下可用的开源数据集,看看有哪些类型的数据,并确定你希望处理的数据类型。这些数据类型包括空间数据、图像处理、结构化或非结构化文档等。
您可以通过数据科学研究很多内容,只需选择一个地方开始并运行它!
文章来源:https://dev.to/rosejcday/software-engineering-to-data-science-2f5f