数据开发者启示录:《我,阿里P7,找不到工作》

本文转载自:https://mp.weixin.qq.com/s/9in1mlMVXJt4mbYHM7ComQ

文章来源 微信公众号《大鱼的数据人生

最近《我,阿里P7,找不到工作》文章刷屏,正好这位阿里的P7还是搞数据开发的,他是这么描述在阿里的工作的:

”其实是做ETL,开发报表这样螺丝钉一样的工作,每天看似很忙碌,但做的事情价值有限,自己的成长也非常受限.......“

作者也做出了反思:

“1、要认清公司/平台的光环,不要盲目自信......”

"2、不能停下学习和成长......"

"3、做生不如做熟......"

应该来讲,现在数据从业者的职场环境还是不错的,也许阿里的P7只是个案,但如果你也存在”其实是做ETL,开发报表这样螺丝钉一样的工作......"的问题,那么还是要认真对待,比如思考下如何对抗风险,或者说如何做得更好,毕竟谁都无法预料外部环境如何变化。

客观来说,数据开发工作本身对于公司的业务价值是很大的,试想如果公司离开了报表、取数、ETL这种基础性工作,那么公司经营决策、营销管理、财务管理等核心业务活动都将受到巨大影响。

但数据开发工作重要不代表你很重要,相对于数据分析、数据架构、数据产品、数据治理、项目经理等岗位人员,现在数据开发人员更容易陷入螺丝钉似的困境,不仅工作重复单调,而且很容易被替代。

为什么会这样呢?这里有技术上的原因,也有业务上的因素。

先讲技术原因。

理论上数据开发是非常有技术含量的岗位,很多年前掌握hadoop开发的一些能力还是香喷喷的,但随着大数据技术的开源、云化和基础设施化,现在通用大数据技术的使用门槛大幅降低了,市场上也很容易买到,这让非研发类公司的数据开发人员存在度降低。

近几年DataOps、数据编织、NOETL等概念火热,低代码和无代码开发渐成趋势,就拿ETL工具来讲,以前还要自己写脚本开发,现在早就被各种可视化,可编排的ETL引擎替代了。

现在很多的ETL开发人员,已经退化成了元数据配置人员,甚至可以认为是维护人员,基于主动元数据的ETL平台这种智能引擎更是在跟ETL开发人员抢饭碗,因为要采集的元数据都是自动填写,然后还可以一键入湖,仅剩的一点工作就是点一下确认。

报表开发也类似,现在的报表自助工具也已经很成熟了,如果报表所涉及的业务和数据模型比较简单,开发报表就是配置下数据来源,映射下维度和指标,然后就可以发布了,技术含量的确不高。

在大厂将平台工具做的越来越自动化、智能化的同时,很多数据开发人员不要说技术上有什么精进,就连原有的一些技能也会因为久疏战阵而荒废掉,“面试造火箭,入职拧螺丝” 并不是什么传说。
当然我们还是要能发挥主观能动性去突破困境,但又有多少数据开发人员能在温水煮青蛙的环境中坚持对技术的执着,很多还是变成了SQL BOY,技术竞争力无从谈起。

再讲业务原因。
数据开发人员通过数据、技术和业务的连接创造价值,但数据开发人员往往对业务能力的培养缺乏重视,至少一般不会主动去学习业务,这里以典型的外包数据开发人员的工作模式为例说明:
外包数据开发人员通过短期的培训(比如学SQL语言、用平台工具、看前辈脚本、了解常用宽表等等)开始职业生涯,但他们既不需要直接接触业务人员,也不需要做什么需求分析,更不需要知道业务上为什么要这个数据,主动提供点建议更不可能,他们只需要严格的按照需求表格的定义(往往由局方人员或者团队的组长确定)完成数据的提供就可以了,如果需求超出了自己掌控的范围,那就求助组长,许多年过去了,他们也许闭着眼都能操作开发平台、SQL技巧更是炉火纯青,但业务能力可能还停留在入职那一年。
事实上,在数据驱动业务的价值创造过程中,业务能力却是远大于技术能力的,如果你调研100个数据管理者,有99个会说,我需要找到足够的业务场景让自己的数据产生价值,而不是说我需要更牛逼的数据技术来解决自己的业务问题。
自己曾经面试过一些来自大厂的数据开发人员,但很多羞涩,会说些建模的方法,但那些方法现在满大街都是了,一旦问到业务,就说不清楚,特别不善于从业务的角度来阐述自己的经历和创造的价值。
但我所见过的优秀的数据开发者,无论是升级为经理的、总监的或者后来跳槽的,清一色是以业务能力出色著称,因为他们能更好的理解和满足客户的需求。

纳瓦尔对专长总结过一条规律:“专长指的是无法通过培训获得的知识,如果社会可以培训你,那么社会也可以培训他人来取代你!” 如果你觉得自己的技术和业务能力独一无二的,不妨先看看有没有培训机构培训这些技能。

那么,如何改进呢?

短期来讲,就是把当前的工作做到最好,如下面示例的一些做法,这也是我对自己团队数据开发人员的期望,当然不仅限于此。

(1)在技术上,研究下公司提供的平台工具的不足,然后提出改进建议,甚至自己直接开发工具去做外挂,因为你离一线最近,做出来的东西会更接地气,比如很多年前我们的报表脚本调度工具是串行执行的,后来A同学把这个工具改成了并行执行从而大幅提升效率,现在已经是总监级别了,还有一位负责报表开发的B同学,主动解决了一个BQY报表自动刷新数据的问题,现在已经是某大厂事业部的副总裁了。
现在还有一种趋势是能力服务化,让一线能基于这些能力的编排打造更灵活应用,这给了数据开发人员更大的技术舞台。

(2)在数据上,研究下数据开发中依赖的那些数仓模型,是不是设计的足够合理,运行的速度足够快,如果发现不足,可以去优化甚至重构一套,在数据优化的过程中,你会发现宽表数据的生成过程是如此复杂,你对数据底层的理解是如此的苍白,需要依赖的外部资源是如此之多,但只有这样的数据开发工作才更具技术含量吧,而现在能主动做些优化的数据开发人员很少,以至于公司需要单独立项去解决历史负债的问题。

(3)在业务上,主动参与业务需求的讨论和确定,千万不要被过顶传球,有大量的数据需求其实业务人员自己也没想清楚,这个时候就需要当面沟通,要抓住机会主动提供一些建议,与业务人员互动也是理解业务需求和分析思路的好机会,在这个过程中,你的开发能力、业务能力、思考能力、沟通能力及表达能力都能获得很好的锻炼和展现,当然这还不够,你还可以通过学习数据模型来系统化的学习业务,因为公司的业务明细知识实际都沉淀在了IT系统的数据模型中,无论是概念模型、领域模型、逻辑模型还是物理模型,掌握了这些模型的来龙去脉,你就能把前面实践中零碎获得的业务知识系统化的串接起来,这个时候,你会比业务人员更懂业务,至少你的格局会很大。

(4)假如以上啥都做不了,作为使用者,还可以将自己的平台工具使用经验和操作技巧总结成册,然后分享给团队,这也是一种独特的贡献。

长远来讲,我们可以重新谋划下自己的发展路径,毕竟数据开发岗位有它的固有限制,岗位歧视普遍存在,如果希望做更业务化的事情,那么就向着数据分析师方向努力,如果要把数据模型做得更好,那么数据架构师可能适合你,如果要想打造更大的平台工具,那么技术经理、项目经理就是目标。

但所有的前提是你至少能把当下的工作做得更好一点,正如前面建议做的那些事情一样,但这个第一步,其实是最难的。
要承认的是,我们大多时候还是喜欢呆在舒适期做事,追求确定性,规避风险是刻在基因里的,我们更是自己历史习惯的产物,因此要主动做出改变是极具挑战的,除非发生了重大变故,但这个有时也又需要一点运气。
就好比我吧,进入公司后一直埋头报表取数,如果大数据时代没有到来,可能就一直干到退休吧,但大数据造成的组织和职责变更突然让我有机会去做一些新的东西,然后就有了一些改变。
职场变动更是一种变故,但这些意外的事件可能让你有机会重新审视一次自己,有勇气去做出一些改变,追求一些新的东西,多年后回首这件往事,也许会有不同的感慨。

腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/VrHSb8XuWmwsrNx9 (转载请保留)。
关注下面的标签,发现更多相似文章