说说数据库工程师必备的一个技能

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与8000人一起快乐成长

图 | 榖依米

作为一名程序员,尤其是数据库程序员,你会对你的代码负责吗?你是怎么做的。

我经常看到很多年轻的数据库编程人员,似乎唯一的目的就是让代码跑起来,能够成功地搬运数据,从一个地方到另一个地方,就满足了。偶尔有遇到程序跑的慢的时候,他们会停下来,思考下,如何让程序跑的更快。除此之外,只要程序跑下来不出错,也就丢在那里,不管不问。

当然这样也没错,没有人逼着你非要去整一套完美的方案。在职场上,几乎没人愿意去说你的不对,指出你做错的地方,因为错误的地方,终究是要有人负责的,那么谁负责呢,谁是工作中失误最大的受害人呢?我想我不说,你也知道。

在我的整个职业生涯中,似乎遇到都是客客气气,很nice的同事,上级。你做错了,也不会有人来指出你的错误。但恰恰是这样顺风顺水的环境,让我做出了很多自以为是的错误,也付出了很多的代价。如今看来,还是缺少那种善于向我抛出反对意见的朋友。

当然也有可能是我自己脸皮太厚,别人善意的一个小批评我没留意听。这只能是我的损失。所以有读者要留言说我两句,请尽量留言。这是我少数认真吸取别人意见的地方

有人害怕别人向自己指出自己的错误,不够坦然,甚至勃然大怒,连朋友都没得做。有人不愿启齿,指出你的错误,也怕你不能承受,怕被你当成仇人。所以犯错和捕获,并不像程序那般简单,认错与批评总是矛盾的对立面。

如果一个人能够愿意接受别人的批评,对自己还是大有裨益的。

回到上面那个例子中来,我们跑数据的,是不是只要让数据跑完就结束了呢?这种做法我大概率是不同意的。如果你工作不满5年,我觉得还可以原谅,但如果你已经工作了7,8年,还是这种态度对自己的程序,那我多半也是不会给你太重要的任务。我想你的领导或者老板也是。

我举个例子,好比你有一项任务,就是跑数据,将2亿数据从生产库导入到报表库

老板什么都没说,就丢给你这个活儿,你准备怎么做?这也是我经常问面试者的一个话题,你从面经上,基本找不到这样的题目吧。

这里提下我作为面试官,经常提的一些问题:

我在面试数据库工程师候选人时,常问的一些题

但这类题目却和实际项目息息相关。你的技能经验,你的细心,你做事的态度,还有对程序的一种好奇心,都能体现在这一个题目中,更重要的是你给上级领导、主管的一种信任基础。

那么,回答这类题,大概有几个方向,做到了,我认为就合格了,比如:

  • 是否流程可控,随时可停,可启(动)

  • 是否影响正常业务的流转,运行

  • 是否能随时调整批次的数量大小(直接说 update/insert 的朋友,好好补课)

  • 能否有跑批的存量、效能监控图

  • 能否有效验证最终结果的一致性,完整性

  • 能否随时跟上级主管汇报工作进展,包括进展,异常以及完成时间预估

做到这几点,无非就是做个监控,加个日志表,但这些却都体现你做事的完整性,属于职场加分。但现实中,很少有朋友原意这样做,大都一个存储过程解决所有问题,看不到完整性,上级问起来进展,也就是还在进行,数据量大,需要花些时间。

哪怕自己用excel搭两个报表,自己看着是不是有种尽在掌握的感觉?




--完--

往期精彩:

本号精华合集(二)

如何写好 5000 行的 SQL 代码

如何提高阅读 SQL 源代码的快感

数据工程师必须掌握的7个大数据实战项目

零基础 SQL 数据库小白,从入门到精通的学习路线与书单


发布了314 篇原创文章 · 获赞 292 · 访问量 52万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 猿与汪的秘密 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览