从面试到入职,其实中间的过程还是没啥曲折的,offer发得快,毕业后顺理成章的进去了。开始以为做开发,写写spark代码啥的,要不然写写SQL也行…其实不然,啥活都干,就是不写代码!至今已有四月有余了……
你也许会好奇,做大数据开发竟然不写代码,是人性的扭曲,还是道德的沦丧。接下来将采用问答式手法,娓娓道来。
- 为什么需要写代码?
首先考虑需不需要写代码,大数据生态有很多现有的工具,当工具不满足使用时,才会开始写一些定制化的代码。这里的工具不满足需求,分两种情况,一种是工具真没有这功能,二是,有这个功能,但是比较复杂,用起来还不如我写代码来的快呢!你属于哪种?
- 为什么不要写代码?
你也许会产生疑问,当数据集成过来之后,数据的分析,比如打标签,画画像,对人做行为分析,这里不需要写代码吗,不会吧,不会吧?
首先,数据的集成,有可能需要写代码,也有可能不需要,比如用kettle、datax等,或者客户提供的同步工具(为了保证数据的保密性)。
接下来,数据的分析重中之重,如何给客户创造价值?就看你给客户圈的人群有没有质量,能不能更精确的做营销,营销有没有达到效果,那这就是后期产品所带来的价值,哪怕提升了一个点,那带来的收益是你不可想象的。扯远了,好像和不写代码没啥联系,扯回来哈。
公司有自己标准的数据产品,这是可遇不可求的!据我其他公司转过来的leader说,很多公司都没有这种数据产品,痛点和难点在哪里呢,不是技术上的,而是不知道做出来怎么用,用在哪里,具体的效果如何!也许说的有点抽象,但确实,有的公司就是没有,来一个项目,写一套Spark或Flink的临时代码,再来下一个项目,再写一套,也许上一个项目有些代码可以用,改造一下用一用,不知你们是不是?
这就是写不到代码的根本原因之一。
- 为什么不做标准产品的开发,这样不就能写到代码了吗?
在实际部署项目的过程中,确实使用公司的数据产品带来了一些方便,但是产品很难做到尽善尽美,很难做到“一开始,就做好,不要给我说优化,升级之类的屁话,为什么不一开始就做好呢”。说多了都是眼泪,用,出了问题,反馈给这个组件的开发者,他来调(为什么不自己调,一是项目时间不予许,二是啥知道他写的是个什么玩意,emm…,注释是不可能有注释的,这辈子都不可能有的!),调好之后,再用,还报错,再调,再用……
不做项目,像专心搞产品的研发行不行,现阶段明确不行!
一:人手不够,项目又多;
二:公司已经认为开发的人够了,毕竟接项目,完成项目就能拿钱,这多快,产品开发那就……
- 写不了代码,那还干不干呢?
首先是对于自己的定位,你认为你能不能干,其次想不想干!有些人就不想只做产品的研发,你要知道,高手往往是孤独的!为什么,假如,你做的是Spark的优化,并且已经比官方还要快,此时如果再出现BUG,自己不好解决的时候,你连个交流的人都没有(当你站在你的研发项目顶尖的时候)!
对于自我的定位要清晰,对于BUG要敏感。想直接创造价值(接项目),或者间接创造价值(做标品研发),个人理解,比较浅薄,没有优劣,要做,那就要做的最好!
最后,我不会放弃心中的编码梦,至少也要让它在我心里待个一两年,“编码人,yyds!”,各自奋斗吧!