作为数据科学家开始我的职业生涯,是否需要软件工程经验?

数据挖掘 教育 定义 职业
2021-09-22 23:15:14

我是爱丁堡大学的硕士生,专攻机器学习和自然语言处理。我有一些专注于数据挖掘的实践课程,还有一些涉及机器学习、贝叶斯统计和图形模型的实践课程。我的背景是计算机科学学士学位。

我做了一些软件工程,学习了一些基本概念,例如设计模式,但我从未参与过大型软件开发项目。但是,我的理学硕士课程中有一个数据挖掘项目。我的问题是,如果我想从事数据科学家的职业,我应该先申请研究生数据科学家的职位,还是应该先申请研究生软件工程师的职位,也许是与数据科学相关的职位,比如大数据基础设施或机器学习软件开发?

我担心我可能需要良好的数据科学软件工程技能,我不确定这些是否可以通过直接作为研究生数据科学家工作来获得。

此外,目前我喜欢数据挖掘,但如果我想将来转行做软件工程怎么办?如果我非常专注于数据科学,那可能会很困难。

我还没有工作,所以我的知识仍然有限。欢迎任何澄清或建议,因为我即将完成我的硕士学位,我想在 10 月初开始申请研究生职位。

3个回答

1)我认为没有必要质疑你的背景是否足以从事数据科学的职业。从软件工程的角度来看,CS 学位恕我直言,对于数据科学家来说已经绰绰有余了。话虽如此,理论知识没有匹配的实践经验是没有多大帮助的,所以我肯定会尝试通过参与额外的学校项目、实习或开源项目(可能是专注于数据科学/机器学习/人工智能的项目)来丰富我的经验)。

2)我相信你对过早关注数据科学的担忧是没有根据的,只要你将软件工程作为数据科学工作的一部分,或者在你的业余时间进行。

3)我发现以下对数据科学家的定义相当准确,希望对您未来的职业成功有所帮助:

数据科学家是比任何软件工程师都更擅长统计并且比任何统计学家更擅长软件工程的人。

PS 今天关于数据科学主题的大量各种资源令人兴奋,但这个学习数据科学的开源课程可能会填补你的 BSc/MSc 各自课程与数据科学职业现实之间的一些空白(或者,至少,提供一些进一步研究的方向,也许可以回答你的一些问题):http ://datasciencemasters.org ,或在 GitHub 上:https ://github.com/datasciencemasters/go 。

从我看到的招聘广告来看,答案取决于:有些工作本质上是技术性的(设计大数据项目,做一些分析)或完全相反(做分析、存储等是别人的工作)。

所以我想说一些软件设计技能非常有用,但你不需要用 C#/Java 或其他任何东西构建一个巨大的程序的能力。为什么我喜欢一些软件技能只是因为你的代码看起来可能比那些从未为了编程而编程的人的代码要好得多。大多数时候,后一种代码很难让外人理解/调试。此外,有时您的分析需要集成到更大的程序中,了解程序的需求肯定会有所帮助。

绝对地。保持你的软件技能敏锐。如果您只需自己实现您所了解的所有算法,您就可以在学术课程中做到这一点。

很好的课程选择,顺便说一句。也考虑找个实习。