这篇文章中,本文将针对三种不同的、想要进入数据科学领域的人群,给出自己的经验,帮助他们迅速有效入行。
虽然没有适合每个人的万能解决方案,但这三类建议值得想转行的你一看。
第1类:新手上路
很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系
如果你刚刚了解并且向往大数据行业,请记住这一点:这个领域发展很快,我在这里给出的建议只能让你从入门开始掌握。能满足2018年招聘岗位要求的基本需求,在2019可能就不满足,而今天的大数据开发工程师招聘标准与一两年后的标准之间的差异可能更大。
如果你打算在大数据开发行业发展事业,就必须保持一颗坚持不断并且热爱的心不断学习,你没有编程经验,那么这里有一些建议:
- 首先要保持开放的心态。如果你是一个新手,那么你实际上并不知道什么是大数据,所以它完全有可能不是你想要的工作领域。如果仅因你自认为大数据很酷,然后就一头扎进去,这并不是冒险的好理由。请确保充分了解这个行业里于你合适与不合适的地方,比如数据整理,以及构建数据生产流水线,而这些工作占了大数据开发工程师日常工作的大部分时间。
- 如果你决定要从事大数据领域的工作,那太好了!你首先要做的是学习java或者python。尽快在网络上获取一些基础的学习资料。当熟悉java基础语法与基本用法后,请继续学习一些数据库(mysql),并选学一些大数据领域的网络公开课作为了解。
- 如果你是完全从零开始的,一开始就以高级的数据科学职位为目标可能不太好,选择一些入门级的职位比较好,比如大数据开发初级或数据分析职业的需求量很大,并且市场需求也大。这些岗位的人员通常会接触到一些简单的通用项目,一旦你积累了相关经验,就为今后的胜任更高级的大数据科学家相关职位奠定了基础。
如何包装个人品牌:如果你已经准备好申请工作,你可能会惊讶地发现个人品牌在这个行业中非常重要。由于你没有任何专业经验,或者没有计算机科学专业的研究生学位,你也许会担心个人亮点不足。但实际上这可能是最大的优势所在:如自学成才的大数据研发/数据科学家,这些将成为公司可以利用的快速学习和努力工作的优点。但问题是,你背负着去实现那个形象的重担:这是一座陡峭的山需要你去攀登,但是回报肯定是值得的。
第2类:软件工程师
在我遇到的专业大数据科学家中约有80%是软件工程师,一方面,他们有从编写程序到形成产品的工作经验,是开发团队中难得的经验人才。另一方面,对于全栈开发人员的需求很多,使得公司比较愿意朝着全栈工程师方向培养软件工程师,即使他们的录用通知上写的职位是“数据科学”。所以你要避免被当作软件工程师而不是数据科学家。
其他一些建议:
- 首先可以先往更注重后端/数据库的方向上靠。把深化对数据生成线流水线的认识作为良好的开端,可以帮助你建立关键的数据处理技能;当然也可以帮你重塑自己,把自己塑造成一个经验丰富的数据管理者。
- 机器学习工程可能是更容易过渡到数据科学领域的,因为它和该领域的研究内容最接近。你可以先着手部署模型或将它们集成到现有应用程序,因为这可以充分利用你的现有技能,这是迈出第一步的好方法,反正以后你总是可以投入更多精力到模型开发中的。
- 为了让招聘人印象深刻,你很可能需要建立机器学习或数据科学项目。那么利用你的软件工程技能,把这些项目集成到可以向招聘人员和技术主管展示的应用程序中。这会特别有效,因为它很直观,并体现了你作为一个全栈数据科学家的潜力。
- 要记住的是:在过渡期,你的薪资极大可能会变少。即使是高级软件工程师换到数据科学领域时,通常也是要先过渡到初级职位的,但令人惊讶的是,他们中的很多人在做决定时并没有考虑这个因素,然而拿到的薪资少了,却又失望。
如何包装个人品牌:一个最简单的方法就是充分利用你的软件开发经验。作为初级职员,已经知道如何编写干净、文档齐全的代码,以及如何与他人协作,这是大多数职位申请者不具备的。如果要真正做到善于写“干净的产品代码”,你还需要尽可能多的去学习数据科学领域中类似的好案例。
第3类:新CS、数学或物理学毕业生
如果你是应届理科本科,硕士或博士毕业生,那么你统计学和数学基础可能很好。但你可能从来没有申请过真正的工作职位,也不知道如何准备面试。而且就算你在读期间一直有编码,但很可能无法编写干净、组织良好的代码。
所以要记住以下几点:
- 你在读期间所学的R是不够的。如果你是一名物理学家,并且赌定要用MATLAB或Mathematica的技能找到工作,那这可能不太会如愿;所以学习Python吧。
- 你可能需要尽快学习这些你没接触过的东西:协作版本控制(学习如何用GitHub与其他人一起工作)、容器化(学习如何使用Docker)和开发(学习如何用AWS或类似的服务在云上部署模型)。另外,SQL也是必须的。
- 学习Python中的测试驱动开发,如何使用文档字符串,如何对代码进行模块化,以及如何使用Jupyter笔记本(如果还不会的话)。
- 如果你的领域特别注重数学,那么深度学习可能是一个很好的探索方向。但你可能会发现,从更传统的“scikit-learn”类型的数据科学开始起步,再过渡到深度学习可能更容易。最重要的是要入行,并尽快开始编程。
如何包装个人品牌::特别是如果你学的是数学或物理专业,那么最好的策略是要呈现出自己是具有深厚理论知识的人。要做到这一点,你需要能够自信地解释各种模型是如何工作的,最好要熟悉文献中最新的热点(特别是如果你的目标是深度学习的话)。
警告:当然我所提供的建议并不能涵盖所有职业。对于软件工程师而言,他们确实比其他人走的远一些,一些有数学基础的初学者可能是最适合的深度学习的研究者。但是以上这些建议能为你的技能精进提供一个好的起点。
最后,无论您是软件工程师、应届毕业生,还是完全初学者,都要问自己一个关键问题:在上述建议中,什么样的职业轨迹最接近你。如果你是想成功入门数据分析师或数据可视化专家,那么这将是协助你走上正确的职业轨迹的最好方法。