2013年刚开始工作的时候,SQL只是一个谋生手段,从没想过有一天我会靠它一路走到今天。2013年刚来广州的时候,人生地不熟,跟大多数人一样,在出租屋里海投简历。可能那时候IT人才稀缺,投出去的简历很快就收到面试通知了。面试的岗位是数据分析师,但是内容其实就是用SQL统计数据而已。为了能顺利通过面试,把之前在网上找的各种面试题都看了一遍,特别是涉及SQL笔试的题目,做了一遍又一遍。功夫不负有心人,笔试的时候真就遇到了类似的题目,顺利通过,当天下午就通知入职。入职后还真就每天帮各个部门统计各种数据,把本来不怎么熟练SQL的我真就练得越来越熟练了。加之当时工作也不是很忙,总想看看SQL的一些高级用法,网上看了很多大佬的SQL写法,真就大开眼界!例如动态SQL,自定义函数,递归,开窗函数等等,动不动就是几百行的代码,再看看自己写的代码最多不超过20行,才知道SQL并不只是CURD。空闲时间也读了一些大佬们推荐的书籍,例如SQL Server的技术内幕上下卷,MySQL的高性能,Oracle的编程艺术,都是不错的书。至今只读完了SQL Server技术内幕上下卷,但也大受启发。做了2年的数据统计员,总想挑战一下高级点岗位,果断离职应聘了一家公司的数据库开发工程师,除了SQL的CURD,更多的还需要会灵活使用不同的数据库,这就需要熟悉不同数据库之间的相同点和不同点了,而且还需要会一些比较高级的写法,就是上面说的那些大佬们写的一些动态SQL,游标之类的,而且是不同数据库的写法都要会。一开始还真有点难度,只能模仿别人的写法胡拼乱凑,无非就是成功与报错呗。试了几次发现写法其实都比较类似,只是个别语法有所差别,记住这些差别也就不难了。为此把不同数据库的写法都做成了样例收藏起来,不懂的时候再对照就知道当时的思路了,这样慢慢的也就习惯了,算是入了SQL的门。工作就是这样,当你觉得每天做的事都没有挑战的时候,要么当咸鱼每天混吃等死,要么跳出舒适圈继续折腾,我比较喜欢后者。同样是干了两年,又换到做ETL工程师。ETL工程师相比之前的两份工作,主要是要理解数据仓库,调度等内容。数据仓库其实好理解,就是存放所有数据的一个大型数据库,它的大并不止容量大,而更多在于业务之大,场景之大。调度就更好理解了,就是让数据按照既定的调度配置进行流转,通常是从不同的系统流转到数据仓库,经过一些列处理后,再从数据仓库分发给各个业务。而要做好一个数据仓库,首先要解决的就是数据的划分,为此我们引入了主题,根据当时的业务场景拆分成10个主题域。什么当事人,资产,营销,事件等等主题,为我们做好数据调度提供了非常明确的指引。ETL工程师只做了一年,就没有继续了,主要是技术内容比较少,更多的是对主题的划分和ETL工具的使用,市面上比较流行的ETL工具用法也基本类似。
转身做BI工程师其实是我没有想到的,在此之前只知道BI工程师是做数据可视化的,但是我没有做过数据可视化呀,后来发现BI工程师入门其实不难,难的是要会懂UI设计和布局,其实就是要把页面做的好看。当时用的BI工具是Power BI,为此我还特地下班跟着视频学习了一段时间,其实就是对数据指标的拖拉拽,真不难!但是公司高薪雇我,肯定不会只让我做这个拖拉拽啊,这期间的工作其实更多的是做指标和维度了。我们都知道一个公司发展到比较深的程度,业务线多,数据多,如何更高效的管理,数据指标的制定其实是一个比较好的办法。通过对数据指标的可视化,可以更好的洞悉公司管理过程中存在的一些问题,这其实就是某些BI厂商说的比较高大上的“数字化转型”。
此外指标也是统一各业务线的一个有效方法,包括为此而建立的各种主数据系统(组织主数据,项目主数据,人员主数据等)也是为了使数据在统计时,口径一致。能做出好看的可视化报表固然是好,但是真正能起到价值的还是数据分析师。数据分析师想必大家都知道是干啥的,就是分析应用数据,从数据中找出路,找问题等。辞了BI工程师的工作,找了现在数据分析师的工作,其实和之前几份工作都差不多,一开始并不熟悉,只是思考和做的多了也就熟了。新的公司刚好是初创公司,刚开始对数据分析还不是急需,很多基础工作还需要开展,特别是一些在线报表,数据可视化,之前会的正好派上用场。随着各条业务线的建立,所有数据都经由我这里,对业务愈发了解,真要去分析问题时也能思考的更多,理解的更多,渐渐地也就转成数据分析师了。每一次换方向虽然都与SQL有关,但是内容还是有很大区别,但其中有一些经验相信大家也看出来了,我帮大家总结一下:当你是菜鸟时,学习是最能让你安心的
当你遇到瓶颈时,勇敢的跳出舒适圈
当遇到新技术,大胆的去尝试
8年时间,每一次换工作基本都换了方向,每一次也都让我的能力更上一层楼,没有谁天生就会这会那的,摆正心态一步一步踏踏实实的学习方是上策,即使是现在我也还在学习一些数据分析的方法,共勉。
最后给大家分享我写的SQL两件套:《SQL基础知识第二版》和《SQL高级知识第二版》的PDF电子版。里面有各个语法的解释、大量的实例讲解和批注等等,非常通俗易懂,方便大家跟着一起来实操。有需要的读者可以下载学习,在下面的公众号「数据前线」(非本号)后台回复关键字:SQL,就行