如何成为一名顶级战斗力的数据分析师?

2018-05-16 17:18 来源:网络整理
原标题:如何成为一名顶级战斗力的数据分析师? 编者按:本文由微信公众号“AI科技大本营”(ID:rg

不知道大家以前听没听说过“10x Developer”这个词,如果你连听都还没听说过,那可真是时候考虑放弃自己的程序猿事业了。就像传说一样,一些程序猿的战斗力能达到同行的10倍,也就是说一个10x程序猿能够替换一个10人的开发团队。

本篇文章我们就针对数据科学,来谈一谈如何才能成为一名传说中的10x老司机。本文作者主要从事数据挖掘及处理方面的开发工作,是西雅图女性程序员俱乐部PyLadies创始人,曾在PyData Seattle 2015上做过关于通过自然语言处理和机器学习调查用户体验的主题演讲。

以下正文

最近我在PyData Seattle(https://pydata.org/seattle2017/)发表了一个关于如何通过借鉴开发社区的提示和窍门来提高数据科学技能的主题演讲。这些建议将帮助开发者成为一名非常受团队成员和其他人欢迎的数据科学方面的老司机。

这篇文章分为五部分,其中包括:

10x开发者的历史和争议

项目设计

代码设计

工作工具

生产模式

当然,如果你想观看原始演讲的视频,可以点击这里

10x开发人员,顾名思义,就是比普通开发人员生产力高出10倍的人。

一个10x的开发人员,不只是能在一定时间内比普通开发人员生产更多代码,还能像boss一样调试bug,代码里的bug也更少。因为他们会测试代码,指导初级开发人员,编写自己的文档,并且拥有很多其他技能来让自己超越仅仅知道如何写代码的境界。

H. Sackman,W. J. Erikson和E. E. Grant在1968年进行了一个叫做“比较在线和离线编程性能的探索性实验研究”的实验,发现程序员在完成写代码的任务上有很大的时间差异。

虽然该实验选取的被研究人员平均开发经验已经达到了七年之久,但相互之间的时间差异却能达到惊人的20倍。

虽然该实验的设计存在一定的缺陷,例如将使用低级语言的程序员和使用高级语言的程序员混合到了一起,但之后越来越多的研究都发现了类似的结果。

虽然关于到底存不存在10x开发人员仍有着广泛的争论,但本文重点关注的不是这些,而是关注开发人员,如何通过从那些经验丰富并且被认为开发速度更快的人那里得到的提示和窍门,成为一名更有生产效率的数据科学家。

你得真正了解业务

不管你是为教育、生物技术还是金融公司工作,都应该至少对解决问题的业务有一个比较深入的了解。

为了有效地沟通数据分析背后的故事,你应该了解是什么在驱动业务,并且了解业务目标。

例如,如果你负责优化食品卡车的位置,那么你就需要了解客流量,竞争,该地区发生的事件,甚至天气。你需要想了解公司为什么要优化位置。可能是因为公司要增加现有卡车的销售量,或者是想要增加卡车数量。

哪怕你可能是今天在搜索网站工作,明天就到了金融公司去当数据科学家,你也应该为了使你的分析与利益相关者相关知道是什么让业务成为可能。

你还应该了解你所在项目的业务流程,例如知道谁需要签署最终结果,一旦你负责的部分完成,数据模型被传递给谁,以及预期的时间表是如何安排的。

最后,你应该确保你知道这个项目的利益相关者是谁,并且能够向不懂技术的利益相关者讲明白这个项目实际的效果。就像是成为教育工作者一样,并能够向不懂技术的利益相关者讲明白为什么达成目标可能需要比他们预期的更多时间或资源。

当你了解了利益相关方的目标,并能够确保你沟通技术,专业知识和建立解决方案所需的时间,那么你在你们公司的价值一定会变得更大。

你得真正了解数据

了解业务很重要,了解数据更重要。你需要知道数据该怎样提取,何时提取,谁负责质量控制,为什么数据会可能存在差距(例如供应商的变化或提取方法的变化),什么可能会丢失,并且哪些其他数据源可以被添加进来以创建一个更准确的模型。

这真的需要你去和不同的团队交谈,并且不断地提出问题。不要害怕问他们正在做哪些工作,也不要害怕跟他们讨论你正在做哪些工作,因为你永远不知道大家是不是在做重复的工作,或者他们是否有一个更干净的版本的数据,而这恰恰是你需要数据。这样可以节省你大量查询数据库的时间,例如对SiteCatalyst进行多个API调用。


上一篇:高级数据分析师为你整理可转债“套利”真相
下一篇:不是专业数据分析师的你,该如何科学地看待大