还有不到两周的时间就要换工作了,时隔两年再打算写一个总结。

工作还是在做数据工程师,对这个角色的理解也自然更加深刻。不同场景下职责也是不同的,无法一概而论。故此文旨在讨论过去个人这两年的收获,成长和对未来的展望。

收获与成长

不得不说过去这两年在技术上有了很大的提升,一个很明显的感觉就是如今如果你跟我说任何一个开源项目,我第一反应是有没有兴趣去尝试,而不会像两年前那样害怕潜在的冗长的setup process。这大概是对自己自学和动手能力的自信又有加强吧。

之前看到一个说法说现在的软件工程师其实写代码很少,我也同意。我认为软件工程师现在就是胶水工程师。很多东西你不需要写了,你用现成的服务或者开源项目就好,你要做的只是把他们粘起来。但是作为一个软件工程师,你得知道需要粘什么,怎么粘,这也是有一定门槛的。你如何评估一个服务的好坏,与你需求的契合度呢?我感觉目前来说大部分常见的架构问题我大概都能找到比较好的解决方案,AWS 里的常见使用也是比较熟悉了,哪怕poc一些新的东西也不是什么很难的事情。

写Python开始有了比较稳定的一套代码结构,也接触了稍微深一些的语法比如async这种。除此之外,也能比较轻易的理解并作出一些常见代码结构上的决定,比如哪些东西放哪里怎么放为什么这么放这种问题。就效率来说哈哈想的更多写得更慢了,比原来写出来的废代码少很多。

SQL或者数据库一套的话本身没有什么好说的,技术上的进步不是很多。写比较复杂的analytical queries可能会更熟练吧。window function的使用现在已经比较intuitive了不太需要花时间想,可能还是因为写多了。

数仓这块还是有很多收获的,无论是底层原理的理解(其实也不是很强)还是实际操作。也有了自己一套关于数仓整理的经验和设计,也就还阔以吧。我相信这玩意随着时间的增长会慢慢进化变得更好的。只能说目前这个设计我还是很满意的,但是可能换了一个环境就不适用了,所以还是说要理解本质。

求职大环境

这段时间疫情WFH无论是面试还是跟猎头打电话都挺方便的,其实我是觉得如果可以的话要是以后面试都这样就好了,因为感觉能得到的信息跟去现场面试差别不大啊。

总的来说数据工程师在新加坡最近还是火的,我觉得这很明显吧因为之前两年都在找Data scientist, 找多了发现一大半人要不在做dashboard要不在做pipelines,但是一些DS又不是engineering出身所以做出来的pipelines也可以进一步优化,DE 的需求起来我觉得一点都不意外。尤其在数据化是未来企业方向的情况下,基建还是得靠工程师们。所以估计一两年内在新加坡数据工程还是会很火的。

薪资方向毕业生5k-6k甚至6.5k的我都听过。再往上这个差别就看个人能力和造化了。

大概的发展方向

中期内肯定是Head of data之类的位置。因为当你横跨了DE DA DS 之后那很自然就是要做这个,带一个data team去搭建公司的整个数据生态。实际上我新工作跟这个应该很类似,但毕竟还是小公司所以没有head不head的说法。可以预见的是我DS方面的薄弱在未来的一段时间内可能需要加强,除此之外还得晚上现代数据工具,Kafka 和 Spark这两个在接下来的工作中肯定是要尽量用的,不然一直没机会上生产不知道到底是咋回事,坑踩得不够多是学不到东西的。

被字节跳动刷掉之后的思考

前段时间面了几家公司,包括字节跳动。当然最后字节跳动是因为算法把我干掉了(至少面试官是这么说),所以我也在思考一个问题我到底喜欢的是纯粹的工程 - 也就是字节跳动的招聘方向,还是它在数据领域的应用。其实这个问题我现在还没有答案,我觉得我个人对工程是有一些热忱的不然我玩游戏可能也不会那么喜欢经营或者建设类,从无到有的实现过程本身就很令人激动吧。但数据也是一个很有意思的东西,我甚至觉得所谓的数据思维?应该是一种人生哲学,当你相信这个东西之后,你的行为规则就会具有一致性。好处就是你省下了很多精力去干其他事,减少了随机性;坏处就是减少了随机性,多了很多时间不知道干什么(取决于你的看法)。 所以当我从数据中证实/证伪一些想法的时候,还是很有趣的。

当然了大公司会将分析和工程单独划分招两个人,我还没太想好到底应该着重往哪个方向发展,in the long run。小公司来说两者兼具肯定是有优势的,但是大公司的话其实是不需要。在我现在的层次来看分析这块在长远应该是能走的更远的,也从侧面证实了数据分析能力或许将在未来成为跟 office 一样的必要技能(其实我不会excel)。

总结

本来打算从宏观角度讨论为啥数据化是未来所以数据相关的职业在未来一段时间还是会很吃香,但是我想这都快成共识了加上我也懒得打字所以就算了。就这样吧,下次跳槽再见。