分享

立志做数据分析?这里有一份老司机的建议

 霍振丽 2018-07-10

每年总有很多人,怀揣着对世界的一知半解、满腔似火的热情、还有对美好生活的向往,走出象牙塔,投身社会。世界很大,诱惑很多。对于未来,甚至在工作多年后,他们仍然没有清晰的方向,或者缺乏独立、深度的思考。方向很重要,而人生很短暂。往哪里走,怎么走,再怎么也得花点时间思考一下,不是吗?如果你决心要在数据科学领域有所作为,或者立志做数据分析,这篇文章提了点小建议,希望对你有所帮助。

立志做数据分析?这里有一份老司机的建议

一、去大厂还是去小厂?

我们做每件事之前,都要先明确做这件事的目的和意义是什么。

先来问问自己,做数据分析的目的和价值是什么?我的理解是,致力于用数据帮助企业解决业务问题,辅助业务决策

关于这个问题,你可以花3-5年时间来思考和领悟,不急,但需要想清楚。

你还面临一个抉择,到底是去大厂还是去小厂?

之前接到很多猎头电话,不少都会问:“你是做分析还是做挖掘的呀?”

刚开始,也常会和猎头在电话里“理论”一番。后来在大厂待过才明白,大厂分工比较细,分析是偏向经营分析,即取数分析写报告,而挖掘则是建模调参部署等。

小厂就不一样了,谈需求、确定思路、指标设计、平台搭建、接入数据、处理数据、建立宽表、模型训练、结果分析、撰写报告、模型部署、报表计算、数据可视化等一整个流程,一个人几乎都可能会参与。

如果有机会,请一定要去大厂历练几年!大厂大多都很开放,常常敢为天下先,敢于引入一些新的东西,包括技术、思维、制度,技术比较先进,优秀的人也很多。大厂的管理制度也很完善,福利待遇当然会更好些。大厂的数据规模绝对够大,而且应用场景也多,可施展的空间应该会比较大。所以,抱着学习的态度在大厂里混几年,是可以成长很快的。

有好,当然也有不好。大厂流程繁杂,整体效率偏低,提一个取数申请可能需要1-2周。大厂的内部竞争也大,存在于不同项目团队,也存在于同一部门不同成员之间。大项目资源投入大,小项目资源申请很困难,重视程度也不一样。

最主要的,大厂分工很明细,不同职位的轮换似乎不大容易,从入职到几年后离开一直做经营分析都是有可能的,容易导致能力的单一,不利于个人综合素质的培养。

相比之下,小厂就灵活多了,人和事都不会很复杂,而且效率也高。小厂可能会优先考虑做这件事情的投入和产出,即看应用效果。(大厂反而愿意给资源去试,短期内不怎么关注投入产出。)所以,在小厂工作,既要学会帮公司赚钱,也要学会帮公司省钱。

小厂分工不会很细,大多需要一个人做多种工作。所以,小厂里面的程序员常常身怀多技。但小厂数据规模小,技术实力较弱,团队成员整体素质不高,而且项目流程不大规范,常常怎么简单怎么来,怎么高效怎么来。

有些小公司的码农,除了对外发过一两封邮件,平时的沟通几乎是在QQ里,结果待了几年之后连写一封邮件都不会。有些小厂自己没有数据,重要是作为乙方给大企业做项目,这种模式常常受甲方牵制,可发挥的空间很小,而且一个项目周期往往比想象中要长(我本人之前就厌倦做乙方),因此不大建议去这样的公司。

不管大厂还是小厂,在选择时,建议都要看看所要加入的团队

综合来说,建议先去大厂混几年,再去小厂找个Title高点的职位发挥自己所长。

再来说几句,什么场景下分析,什么场景下挖掘呢?

分析其实是一个很笼统的概念。把当前营业额跟去年同期做对比发现增长了不少,这个也可以认为是分析。分析是从数据中发现问题或规律,并提出合理的建议。分析常常伴随着要写报告,进而要给业务方汇报分析结果。最好是给决策层汇报,因为决策层有拍板的权力,而且对数据结果的感知和可能的应用有自己独到的认知。

如果需要把分析的结果固化下来,定期输出结果,提供给业务方,这个时候就需要开发数据产品了。

挖掘是用算法解决某个具体的复杂问题,用常规分析方法解决不了的,如客户流失预警、商品最优推荐组合、最有投递路线规划等。

所以,我一般认为,分析是从数据中发现问题或规律,而挖掘是其中的一块。

立志做数据分析?这里有一份老司机的建议

数据技能知识一览

二、1-3年,“所见即所得”,打磨基础技术

在职业生涯的初期,请牢记,“所见即所得,所感即所知,多见即多得,多感即多知”

不管在大厂还是在小厂,一定要参与到实际项目当中,好好打磨自己的技术。不管是大项目还是小项目,一定要借助来之不易的机会,以极致的工匠精神修炼自身。

你最好能从基础数据处理做起。只有这样,你才能早点知道,数据并不像在学校里做实验用到的数据那样“好”,它可能看起来“又脏又乱”。只有这样,你才能早点知道,给你取数的那个程序员是如何花了2-3天甚至一周时间才把数算好。

如果你精通SQL,那就太好了,这样就可以直接能够在数据平台查看原始的数据了。

最好要看一看最原始的数据长什么样。你不一定能一下子理解这些数据,但你可以慢慢地感受它们,因为它们所投射出来的是最真实的业务场景。

举个例子吧,原始的会员注册信息数据里面,性别一般填“男”、“男性”、“女”、“女性”、“未知”、“其它”等值,但处理好之后的二手数据里面,性别就变成了“男”、“女”、“未知”等三个值了。仅看这三个值,可能会漏掉一些业务场景,填“男”可能是从移动端输入时选择的,填“男性”则可能是手工填写注册表格时勾选上的。而漏掉的这个场景,说不定就是所要找的那个分析点。

你最好还能熟练掌握一两门编程语言,比如当下流行的Python,作为入行的基础技能。(顺便说一下,码农界普遍认为只会SQL的不算真正的程序员~~)

当今时代,编程已经从娃娃开始抓起。早在5年前,英国规定5岁以上儿童必须学习编程课,法国将编程列入初等教育选修课程,美国已有40个州制定政策支持计算机科学,有35个州将计算机科学课程纳入高中毕业学分体系。美国前总统奥巴马就曾在全美发起“编程一小时”的运动,旨在让全美小学生开始学习编程。

2017年,浙江、北京、山东等省确定要把Python编程基础纳入信息技术课程和高考的内容体系。编程将是一项很基础的技能,也将是承接其他知识的基石。在未来,会编程很可能跟使用智能手机一样普遍。

当处理基础数据的时候,必然会在数据库或数据平台上进行。

你可能需要对这些存储数据的环境加以了解,如传统的结构化数据库Oracle、Mysql、DB2等,又如当下流行的Nosql数据库HBase、Redis、MongoDB、Cassandra等,再如大数据集群平台、原理及其相关概念,类似Hadoop、Hive、Hue、MapReduce、Spark、Scala、Sqoop、Pig、Zookeeper、Flume、Oozie等。

你或者也需要了解数据传输的工具,如DataStage、Kafka、Sqoop等。你甚至也可能被安排做安装系统、部署软件、配置环境、同步数据等一些琐碎的工作。

关于这些,如果你非常感兴趣,可以考虑往大数据平台方向发展,成为数据开发工程师、数据平台运维工程师、或者数据平台架构师。

你不必理解太深,可仅仅停留在了解层面,但知道这些知识会让你和数据开发工程师、运维工程师和平台架构师沟通起来顺畅很多。

当处理和分析数据时,有些关于数据的操作是必然需要掌握的。首先是常见格式的数据导入导出,如TXT、CSV、XLS,然后是主要的数据加工技巧,包括建表/视图、插入、更新、查询、并联、串联、汇总、排序、格式转换、循环、常用的函数、描述统计量、变量,等等。

这些操作很基础,但不简单。你可能经常会遇到各种情况,如花了一个下午时间就是没能把一个很小的CSV数据文件正确地导入到数据库中,不是乱码就是错位,或者两表关联时老是报一些烦人的错误,或者日期字段进行格式转换时出现空值……反正状况百出,防不胜防。

关于这些基础操作,需要不断积累经验,尽量能够做到在不同场景下快速高效地完成,轻松应付。

如果有人已经给你取好了数,而你的工作是分析数据写报告,那么分析技巧首先是你需要培养起来的。

对拿到的数据,要时刻保持疑问,不能太乐观,因为别人算好的数据未必完全是你想要的数据,又或者数据质量并不是你想的那样好。

在分析之前,需要进行数据探索,看看数据质量如何。比如,你需要清楚有多少数据量,有什么信息,可衍生什么指标,缺失情况如何,如何填补缺失值,值的分布情况如何,如何处理极值,名义/字符变量是否需要转换,等等。

分析时,要清楚指标不同形态的含义,如绝对值、占比、同比、趋势、均值、标准差,等等。

在这里,我想指出,数据有对比才有意义。如果一个穷人捡到100元,他会很高兴,这够他吃好几天了。但如果让一个富人去捡100元,那感觉就不一样了,他可能觉得他不值得这么做,因为用弯腰去捡的时间挣到的钱远远不止这么多。

统计学知识是必须要掌握的,这是基础。如果你非数学或统计学专业出身,那么请自学。

另外,也请你一定要掌握主流算法的原理,比如线性回归、逻辑回归、决策树、神经网络、关联分析、聚类、协同过滤、随机森林,再深入一点,还可以掌握文本分析、深度学习、图像识别等相关的算法。

关于这些算法,不仅需要了解其原理,你最好可以流畅地阐述出来,还需要你知晓其在各行业的一些应用场景

关于这些算法,你最好能够参与关于模型开发的具体项目实践。那样的话,你就可以清楚关于建模的大概流程是怎么样的,不同算法在建模中有不同,需要注意哪些地方。

如果你打字速度不快,那也最好重视起来,这虽然是一个不痛不痒的问题,但也在较大程度上影响你的工作效率,进而影响到你的工作产出,当然也可能因此会影响到你的薪资哦!

另外,还有一些提高工作效率的小技巧,也可以多学多掌握。例如,一些电脑的快捷键,定期保存文件,文件的归类存放和快速查找,等等。

作为职场新人,你不仅需要打磨技术,纯技术之外的技能也需要不断修炼

职场的做事方式方法、为人处事以及一些潜规则,更多时候只能靠悟,说出来就可能不大好了,因此需要不断领悟。毕竟,悟性这东西是很重要的

还有,沟通是码农普遍的老大难问题,建议重视起来并加强。

你甚至可以学一下投影仪或打印机怎么用。(说不定可以靠这个技能在老板或同事前面大攒人品哦~~)

如果你有机会和很牛的人在一起工作,那你太幸运了。你可以多请教优秀的人一些问题,也可以平时多观察那些优秀之人的做事方式、工作习惯,看看有哪些好的地方、好的品质值得你学习。只要吸纳进来,就可以转化为你的优点,推动你进步。

我毕业的第三年,看到俞敏洪老师在一些演讲中提及他大学时读了800多本书,很受触动,真正认识到了读书的重要性,于是给自己制定了一年读50本书的计划,什么书都读,三年左右时间,我的心智和心态都发生了很大的改变,完全不一样了。

俗话说:“三人行,必有我师。”每个人都有每个人的优点,对于所遇到的每个人,建议多欣赏别人的优点,少抨击别人的缺点,这样你就可以“兼收并蓄”,逐步塑造更好的自己。

三、3-5年,“技多不压身”,拓展能力边界

当迈过了最初的3个年头后,你的技术越来越好,也做了不少项目,也越来越清楚自己未来的方向,但你也会发现有越来越多的东西还需要去学习和加强。

这个时候,你的知识是零散的,还远未形成体系。你也许还需要花些时间好好梳理和总结过去几年积累的经验和知识,不断沉淀,形成自己的知识体系和方法论。在梳理的过程中,你会不断清楚自己有什么,缺什么,哪些地方弱,哪些地方强,未来需要花多少时间补强哪项技能,等等。

你可以沿着数据的整个流程,即数据采集、数据存储、数据处理、数据分析/开发模型、报表计算、数据可视化,不断拓展自己的能力边界,最好在流程中的各个环节都做过项目

例如,在数据采集环节,你可以学一下爬虫技术。

这个时候,你不再是新人。新人大多是等着别人安排工作,并在详细的指导之下完成。而你慢慢成长为老司机了,需要独立完成一个个任务了,如独立开发一个模型、写一份会员分析报告、梳理关于近期营业额下降原因分析的思路,等等。

你需要不断适应在无人指点的情况自己去寻求问题解决办法,也可能需要应对此前没有遇到过的新情况并独立展开调查研究。几乎没有人帮你,你也没法指望别人明确告诉你怎么做。而你需要的是,历经3年之后成长路上的一个质变。

在这过程中,你可能需要不断查找资料,咨询别人,并加以思考,梳理出有效的方案,最后落地执行。在这过程中,可以有效训练以下几方面的能力:

  • 查找资料
  • 会问问题
  • 总结梳理
  • 写作能力

关于总结梳理,建议定期做,常常做,每天做,建议养成一个日常习惯。

对于不同问题和场景的思路整理总结,常常需要方法论指导,如麦肯锡金字塔原理、结构化思维等。关于这些方法论,不仅要谙熟于心,也需要将其应用到实际工作当中。这是受用一生的知识,你也可将其运用到你的日常生活中,用以解决你日常的问题和需求。

关于思路的整理,可以借助思维导图工具

另外,请注重培养自己的数据敏感性和数据思维,越早开始越好。关于如何培养数据思维,将以另外的文章单独阐述。

EXCEL是操作和处理数据最方便的工具,也是必须掌握的办公软件。很多人会用EXCEL,但根本不精通EXCEL。简历里那句“精通EXCEL等办公软件”(你的简历里是否也这样写~~),常常是一个谎言。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多