我是一个从本科到研究生一直在读材料工程的学生,用了大约3个月的时间成功转行,想要谈一谈学习心得。
以下心得只是以我的个人经历总结而来,仅供参考。
本文分为以下几个方面:
1. 转行前情况
2. 学习过程大致情况
3. 数据分析岗位介绍
4. 硬技能学习
5. 简历和面试技巧
一. 在开始学习数据分析之前,我的情况是:
国内某211大学本科,学习材料工程,在这个阶段打下了高数和线性代数的底子。
国外某QS排名80以内硕士,学习材料工程,在这个阶段打下了matlab的使用以及统计学和概率论的底子。
二. 我的整个学习和找工作的情况是:
三个月时间学习,每周六天,每天6-8个小时的学习时间,学习包括纯理论和实战。
一周时间修改简历投简历。
一周时间面试了几家公司,并获得了四份offer,基本都算是国内行业领先的公司,最后去了国内某大型金融公司实习。
三. 数据分析岗位介绍
如果想要转行数据分析,就必须知道数据分析岗到底是做什么的,到底需要怎么样的硬技能和软技能,只有定好一个具有针对性的计划,才能做到快速转行。
数据分析基本上有两个方向,第一,技术方向,第二,业务方向。
对于大厂而言,职能的划分会非常详细,干技术方向不需要了解太多的业务,相反也是一样的。但是对于小公司,数据分析师需要的技能更加多样,数据分析技能,沟通技能,对业务的了解,presentation等等不一而足。
3.1 技术方向
走技术方向需要获得的技能大约分为三个方面,数据获取,数据处理,以及数据可视化。三个方面分别对应三个工具,即sql语言,python和excel,以及tableau。
**对机器学习和大数据的的了解和实践会是很好的加分项。**比如我现在在干的活要用到大数据的hadoop和impala,但查询取数依然是基于sql语言的。
走技术方向对业务的熟悉程度不需要太深,就像之前说的,大型企业会将技术方向和业务方向分得很细,业务方向的分析师是技术方向的分析师和业务部门的桥梁,而不是业务部门直接与技术沟通,这也是我所在的公司的真实情况。个人觉得虽然增加了一些沟通成本,但是员工确实可以更加专心于自己的工作。
3.2 业务方向
走业务方向的话,对技术的运用不需要特别熟练,我与业务方向的数据分析师聊过,在工作的空闲再深入学习sql语言或者可视化之类的技术都是可以的,但在投递简历之前,至少需要有一定的基础技能和基本了解,知道柱形图和折线图有什么样的特点这种基本概念。
业务方向的数据分析师需要与业务部门进行更深入的沟通,因此要求对业务有一定的了解,这样才能更好地结合数据和业务,提出有用的结论和建议,因此,最好是能够在你的本领域内转行。
除此之外,还需要了解数据分析师,数据工程师,和数据科学家的区别。
你可不想本来想转数据分析师,却学了数据工程师的技能。
简单来说,数据分析师主要工作是做取数,清洗和可视化,业务方向则更多专注于数据与业务的结合,可能还需要跟进运营,分析运营结果。
数据工程师,则专注于从每天的公司或用户行为中获取数据,主要做数据获取,数据库的搭建,维护和优化。
数据科学家,则专注于机器学习的算法,因此需要数学好。
四. 硬技能学习
4.1 sql语言
sql语言主要用于从数据库中获取数据,公司一般不会让你用爬虫从网络爬取所需要的数据,因此爬虫并不是一个必要技能。
sql语言一定要做到熟练使用,而这个语言的重中之重就是数据查询语言(DQL),从最基础的select,到大数据常用的分区概念对应的partition。
在面试中,面试官通常会给你几张表,让你现场写下取数逻辑,因此写的又快又对,写完了反手就把逻辑给面试官看,战术后仰,岂不帅哉。
其他的sql语言包括数据定义语言(DDL),数据操作语言(DML)和数据控制语言(DCL)和数据分析师的关系不大,做到了解和简单使用就好。
sql语言一定要多练,这样才能做到面试时不慌,子查询和各种表连接一般在面试的时候都会面到。
4.2 excel
在我面的一家公司的职位描述里只提到了excel的使用,当时看到因为给的实习工资比较高,就投了,但在面试的时候问了面试官是否会用到python,以及是否有机器学习的任务,回答是这个实习岗位大部分时间只需要excel就好,于是就没有去。
针对这类公司,建议是还处于刚开始学习数据分析的同学去投递,积累经验算是不错的,但是一定不要在这样的公司呆超过三个月,那个时候基本上对excel已经很熟了,应该考虑更进一步。
excel的学习不难,主要学习各类函数,从最基础的聚合函数sum到表查询函数vlookup都要学习。以及各类图怎么做,怎么用数据透视表等等。
这里说excel学习不难,并不是指excel比python低级,excel要做的好其实非常困难,但不管怎么说,目前公司都在要求比较新的python技术,excel做的再好,不符合职位要求也白搭。
从工作的角度来谈,通过excel对少量的数据做简单处理确实更加方便一些,我也经常用excel先做简单的格式转换,排序和可视化。但复杂处理或者大量数据就不是excel力所能及的了。
4.3 python
python是数据分析的大头,当然选择学习r也可以,可是一定不要同时学,用熟一个比用会无数个要重要的多。
对python有一些了解的人应该都听说过numpy,pandas和matplotlib,这三个包是数据分析必会的包,先用熟这三个,之后更进一步可以学习os,seaborn,sklearn等。
python学习仍然可以在b站找到足够多的视频,各类公众号也会发学习资料。
python要细讲的话可以讲太多的东西,之后我会对学习数据分析期间的笔记做一个梳理,会详细到各个包的使用,各个函数的使用等等,这里就先按下不表。
4.4 tableau
tableau的基本使用在b站是可以学习到的,但是计算字段和其中的函数的使用仍然需要一定量的练习,并且需要一定的编程基础。
我的工作中基本不需要太强的tableau技能,网上那些看起来很复杂的图在工作中实际上用的并不多。
这几天工作中用的最多的图就是柱状图,直方图,条形图,交叉表这几个,偶然见到热力图,桑椹图,甚至散点图和饼图出现都很少。当然这可能与业务需求有关,具体问题具体分析。
如果你会做那些复杂的图自然更好,说明你对tableau的理解较深,侧面表现了你的能力比别人强。
五. 简历和面试技巧
不要以为硬技能做的好就能够横扫所有公司,并不是这样,简历的撰写和面试的练习都是很重要的,很多人技术很强,但是不懂如何写简历和面试,会浪费大量的时间在找工作上。
我在投递简历和面试之前都首先询问了带我的老师,可以这样说,如果不是我的老师,我会在找工作这件事上再多花费可能3倍的时间不止。
5.1 简历
制作简历时,一定要把你的经历中与数据分析最相关的技能写在简历里,并且要放在最前面,所谓的放在最前面,是指比你的教育经历还要提前,也就是除了你的个人信息之外,最重要的一栏。写技能和经验时一定要详细,说明你用了什么软件,什么方法,达成了什么目的。提高了多少效能等等。
学历和专业什么的并不重要,这些与技能和经验相比,只能是锦上添花的部分。
如果你没有做过学校或者公司项目,建议在投递简历前,先在网上找一些数据,做两个从取数,到数据处理,再到可视化的项目,这些都可以写进简历。
5.2 面试
在接到第一个面试时,我是很慌张的,因为那个时候我并没有想到面试通知来的这么快,因此还没来得及准备,所以只能通宵准备了面试。
也正是因为这次通宵准备,让我通过了我现在所在公司的一面和二面,并在随后的三天通过了多个公司的面试。
一般来说,面试官一定会让你做自我介绍,一定会问你写在简历里和你自我介绍时说的项目经历。
因此,第一,请熟练背诵你的自我介绍。第二,你需要就你的项目发散开来,想一想面试官具体会问什么。你的回答一定要显示出你真实的做过这个项目,并且理解项目中的每一个细节。
回答问题时,要减少嗯嗯啊啊的时间,这样会让面试官觉得你是当场编造。在面我现在所在的公司的最后一面时,面试官问了一个我在校内做的与数据分析不是特别相关的一个项目,因为我在准备时觉得面试官应该不会问这个,就没有准备,因此回答得非常不流利,但幸好面试官听到我讲话磕磕绊绊的,就基于这个项目问了一个更具体的问题,有了方向后我就回答的很流利了,就这样通过了面试。
所以,不要有侥幸心理,不要为了填充简历,就把你不熟悉的项目写进简历,面试官可能会问到简历中提到的任何项目和经历。
写于下班的地铁上
2020-4-25 至 2020-4-30
终身学习社群正式启动~
在这里会分享各种自我提升的理念和技巧,包括时间管理,投资理财,学习技术,睡眠管理等等~
详情可以添加微信~