前端技术交流群:565733884

前端转行大数据,真没必要

生活与创作 码云 100℃ 0评论

最近又有读者,问我要不要转去学大数据,好像前端和大数据一点不沾边….说实话我是无语的

文长,需耐心看完,读时有耐心,看完有信心。

这几年大数据和机器学习一直很热门,而且凡是和大数据沾边的行业或者公司,好像很牛x的样子。

并且很多人一直有个误区:后端才和大数据、机器深度学习、数据模型有关系,前端总插不上手。

而且很多人担忧再往后,前端给淘汰了,大数据吃香,薪水高,然后打算纷纷转大数据试试水。

其实,小码早说过,你错了,前端在未来几十年都是热门和不可或缺的存在。

其实结论是:你压根不用转大数据,而是大数据本身就离不开前端数据可视化,只不过我们要做的是要学习并了解他们的关系。

就像汽车刚出来是煤气发动,后来是蒸汽机发动,后来是现在的汽油、电混合动力,后面是无人驾驶、纯电动或者高效能源。

只不过不同时代换了不同形态去驱动,但汽车本身并不会消失,人们也不可能离开汽车。

web前端由于所见所得的特殊性,在各行各业都有至关重要的作用和展现,只不过,后面的前端越来越偏向工程化、全面化和领域细分。

就算之后,机器统治了世界,web前端开发领域也不会消息,更不会没落,除非,人都瞎了。

下面我摘一段阿里数据可视化组工程师的一篇文章的部分段落,大家可以感受一下。

大数据浪潮下的前端工程师

马云曾经说过『人类正从IT时代走向DT时代』。

正如他说言,今天几乎所有的互联网公司背后都有一支规模庞大的数据团队和一整套数据解决方案作决策。

这个时代已经不是只有硅谷巨头才玩数据的时代,是人人都在依赖着数据生存,可以说如今社会数据价值已经被推到前所未有的高度。

我作为一名前端工程师在阿里巴巴数据团队工作多年,深入了解数据生产加工链路与产品化。我们这群前端是与界面最近的工程师们

完整数据链路

首先,我用直观的一张图绘制出数据采集到产出的流程,中间省略技术细节。

数据采集到产出的流程

业界常提到的Hadoop,Spark,Druid都在用户侧的下方,也就是数据研发与数据挖掘职能的工作。相对于前端职能而言,一定是与输出终端相关,包括本职工作数据类产品的研发。

如阿里指数或百度指数这样的数据展示型产品,还有较为复杂的BI工具等,细分起来,最特别的工作应该是数据采集和数据可视化的工作。

但到今天而言,数据研发工程师已经很难说只精通其中一种技术。

任何一环深入下去都涉及到整条链路的打通,我就从数据采集,数据可视化,数据产品研发到人工智能几个板块来写写我的体会与经验。

数据采集

过去还是流量为王的年代,流量就意味着钱,互联网都用着简单粗爆的方式导流。

在过去做过站长的对数据采集已然不陌生,包括著名的第三方平台 CNZZ(现友盟+) 和 google analytics 两个平台几乎都使用过。

Web 端的数据采集的链路从客户端或后端开始一直到存储结束。因此,数据采集这个动作涉及到了前端,客户端,数据研发,产品经理等职位的参与。

在这个过程中,前端工程师的工作集中在不同客户端上(PC、iOS、Android)的信息收集及埋点上。

此外,业务反馈还可以从前端本身看,前端需要的稳定性指标也是从界面上采集到的,比如加载性能、JS 报错等。大规模应用背后开发一般都有自己的监控平台,而前端的监控就从用户界面开始。

Web 端的数据采集的链路从客户端或后端开始一直到存储结束

数据可视化

经过清洗,计算与存储后达到数据展现的阶段。无论是面向哪个群体的数据产品都绕不开对数据的可视化,可以说产品端除了考虑分析链路或操作链路外,最重要的工作就是如何更好的反应它们

可视化在其中至关重要。

数据可视化绝不是单纯的视觉,也不是单纯的图表,它是帮助人类从原始信息中做到对信息有一定程度的认知,任何可视化手段都为了这个过程,而非结果。

数据可视化对于我们而言其实是一个跨界的领域,交互视觉知识远远不够,还还涉及硬件、客户端编程、数据分析、机器学习等领域。

我们看过形形色色的图表,可视化图表是从数据 -> 清洗 -> 交互 -> 视觉 -> 开发的整个过程下创造的。

数据可视化

但饼图还有一个致命的问题就是不能反应时间维度的变化。加入时间维度的分析,等于加入了变化的趋势,不再是定量分析,这时候用堆积面积图(Stacked Area Chart)是最合适的。

堆积面积图

回到我说的原则了,即直观又丰富表示了我们尽可能的展示我们所能提供的数据,用一种最直观的形式。

算法领域

再说到算法领域,在分析领域我们已经看到会引入像聚类的可视化手段。而在更底层的算法领域其实早就在利用可视化做工作了。

这里就提到了可视化在算法领域的主要工作之一——模型评估。

对于一个场景而言,比如定性分析用户的类别,我们可能会同时跑逻辑回归或决策树多个算法,怎么知道我们的算法欠拟合或过拟合呢,当然可以直接看结果。

更好的方式就是通过可视化的方式直观的对比。此外,以下还会提到深度学习中的应用。

另外,算法过程可视化近年来慢慢流行起来。这个页面就展示了决策树的可视化过程。

决策树的可视化过程

对算法过程作可视化对于非专业人员去理解算法来说很有必要。

一方面可以作为算法在学校或工作中的教学辅助,另一方面可以给非专业人员讲解算法的运算过程。

前端与人工智能

最后,讲讲前端在 AI (人工智能) 时代的位置。目前,前端涉及到 AI 的主要是算法数据可视化,这一点在上述也讲到了。

很有意思的是,去年我们在做一款前端监控平台也涉及到了机器学习。我们都知道常规异常报警思路是一旦发生错误就发生通过。

传统异常检测是机器学习算法的一个常见应用,利用多维度的值的分布符合某个参数的正态分布来判断。

但前端错误本身,我们无法判断是否会造成影响,有时只是一个报错而已,需要前端工程师自己去排查,这一点与传统异常检测的思路就不一样。

我们就利用出现的规模,时长,影响人数等因素利用统计学中的3σ原则,当然,进一步我们利用特征工程的方法实时来检测错误的影响程度。

除了在稳定性方面,只要是生产力工具都可以去思考是否让 AI 改变我们的开发现状。这个地方留给所有的工程师思考。

总结设想

不论讲到采集还是可视化,还是做数据产品,我都想讲两点:

第一,数据的完整链路。没有『好』的数据,没有看到其中的意义,没有这条链路中清洗计算部分,都是没有意义的,这也说明

前端工程师专注在一个领域,不等于只看到冰山一角。

第二,不同的思考方式。就说可视化与机器学习,从某种意义上来说思路完全相反,可视化需要人类从感知数据到认知数据,而机器学习是通过大量样本学习得到结论。

现在的科技由机器学习的技术还无法做到的事,都还会通过类似于可视化的方式传递给人类。

如果某一天机器也可以做到能理解世界,那么真正的人工智能就来到了。

因此,人工智能今天还是技术,也是思路,我们可以用在任何环节,不论是哪个岗位的工程师都应该掌握。

在过去,前端的工作只与界面相关,而今天前端在一定程度上已经具备了全栈开发的能力,前端工具化平台化已经很常见,可以利用机器学习完善工具。

今天立足在 Web 领域我们是有优势的,那么在其它领域呢,我们今天的技能是否做到了编程语言与平台不受限。

由此也看到前端工程师在大数据时代涉及的一些工作非常需要有综合能力。

前端工程师的基础能力从过去纵深到现在更趋向于 T 字型发展。我相信这是未来工程师们的基本形态。

转载请注明:码云笔记 » 前端转行大数据,真没必要

喜欢 (3)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址