你做了那么多project,如何让面试官感受到它们的价值意义与重要性?

来自:大数据应用(微信号:Datalaus),原文作者:mattymecks,翻译作者:Lauren,美工编辑:Miya,校对审稿:卡里


在这篇文章里,我会简单谈谈无偿内部和外部职业的价值(通常应用于法律界)。我主要讲一个涉及构建地理散点图的项目,如果这就是你的兴趣所在,请继续往下看。

在加入科技界之前,我一直都专注于法律界。在法律界,无偿服务被认为是根本。虽然通常来说它不是很被需要到,但实际上让更多律师参与其中也非没有益处。


美国律师协会的模范规则第六章第一条甚至指出“律师应该每年至少提供(50)小时的公益法律服务。”在大多数的大型律师事务所都有类似的要求,并且理由很充分。


应用你的专业技能可以提高你的技能,提供更多机会参与那些你自己无法解决的各种项目(从而提高你的内部职能),并为那些自己无法承担相关费用的人群提供服务(从而改善你的外部职能)。


在这里,我想指出几点关于非营利组织为何利用现实生活项目的好处:

构建价值:你不仅仅有一个很好看的GitHub portfolio。你的工作成果会被发现,而它的价值不仅仅是对编码技能的展示。

建立联系:最重要方式是与欣赏你工作激情、技能和工作职能的人物建立联系。


积累经验:在现实世界中,你遇到的问题是没有定制的解决方案的。当一个真正的非营利组织问你清理数据集的作用时,你将面临更大的挑战。


培养技能:不仅包括你真正的编程技巧,其中还包括管理项目,与团队沟通以及了解老板或客户需求的软技能。

建立了一个更美好的世界:听起来有点俗气?是的。可这是真的吗?的确。


像 DataKind 这样的群组可以看到现需和已经存在的项目。当然,你也可以自己找到更多。我的同学 Paulina Zheng 写了一篇关于这个确切主题的精彩文章,所以在这里我就不再深入介绍它了。


可以说,很多科技公司的“无偿服务”都采取了开源项目的形式,我对此很欣赏。我提供了这种方法,希望能够帮助那些有兴趣利用自身技做好事的人。

The Project


要找到项目的最好方法就是真的去“找”。当我厌倦了检查虹膜的萼片长度或者在人工制作的学术练习上工作时,我可能永远不会在我的GitHub页面之外看到一个世界,我决定用一个有价值的非营利组织来寻找我自己的项目。如果我想要构建一些东西,它一定时有用的。


我联系了各个非营利组织的几个朋友。其中一位朋友是我的前法学教授,他曾在 National Law Center on Homelessness & Poverty (NLCHP)(NLCHP)工作。他有需要帮助的项目吗?答案是响亮的“是的!......实际上是两个。“

第一个项目涉及 NLCHP 的Panhandling Campaign。NLCHP与大约二十几个其他非营利组织进行了协调,以协调推动反泛滥法律,实质上是将流浪汉定为刑事犯罪。该运动利用了新的最高法院先例,其中25项挑战的反恐法令(法律)中有25项被视为违宪,以鼓励市政当局自愿废除这些条例。


正如我在上面提到的那样,我制作了一张地图。更准确地说,我制作了一个地理散点图。我将介绍“工具”部分下的内容以及我在“代码”部分下的操作。


从本质上讲,NLCHP想要一张地图,一张简单明确地将他们在广告系列中定位的城市可视化,并提供有关他们的努力是否成功的基本信息。标记的颜色是当前的法律状态:active and enforced(红色),challenged in court(橙色),active but unenforced(黄色)和repealed(绿色)。


同时,他们希望媒体报道该活动时能轻松地使用这幅地图。如果NLCHP接收到表明需要某种类型信息(如法令引用和姓名)的媒体请求,我们将使用该信息更新地图上所有城市的值。

工具

在这个项目里,我用了Python里面的Plotly库。

地理分散图往往比GIS或地理信息系统程序更简单,更易于访问,但功能更弱。


地图

地图如下,我会在代码中解释一下我们如何得到这些东西。每个城市按纬度和经度绘制(由于卓越的服务Geocodio而生成),显示当前状态。当我们更新状态时,文本和颜色将相应更改。一个简单的地图,但有趣的地图。

代码

这是完整的代码。如果你不是很知道怎么使用 Plotly,不要慌,我们把它分解一下。

Plotly 和 Das h是“基于 Web 的数据可视化和分析应用程序的领先开源软件”。这意味着它们允许你(可以分别)构建易于共享的漂亮数据可视化和分析工具,主要是通过它们生成 Web-Ready 的 HTML。


在上面的代码中,数据是我们的实际信息,布局是我们想要呈现它的方式。Plotly上的每个“type”的绘图或图形你都可以设置。在这里,我们将我们的点(使用lat / lon)绘制为标记(使用所有的标记属性,如标记的不透明度和标记的颜色)以及在它们上方的文本。文本是从数据生成的,如下所示:

此外,像我们前面所说的,由于我们希望展示此活动的成功,我们希望能够更新城市条例的状态。为此,我们执行以下操作:

留意上图,有一串示例数据。然后我创建一个“状态”列并将初始值调为0。对于我想显示的文本和我想要标记的颜色,我创建一个字典,然后将这些字典值“映射”到状态0,1,2和3中。得出的结果在最后一行显示。

这样,当我更新我的基础数据(比如Aurora废除他们的法律,把他们的状态设为“3”)时,与该标记相关联的文本和颜色将自动改变以反映当我重新生成html。


如果你回顾我们的原始代码,你会注意到标记颜色属性设置为等于DataFrame该行的该列中的值(rgb代码)。


了解这些地图如何工作的最佳方法是自己构建一个并随意改变属性来看发生的变化。当然,你也可以将地图显示在Jupyter中。


除了Python之外,Plotly还可用于R和JavaScript。


结论

如果你正在寻求建立新技能,我鼓励你联系你的社交网络或你特别喜欢的非盈利组织,看看他们是否希望对你的技能有任何用处。你不仅可以为自己最终获得一个宏伟的项目,还可以获得一个有意义且有影响力的项目,该项目将会在你GitHub存储库中闪闪发光。




推荐↓↓↓
iOS开发