数据开发SQL写得好有没有用?要掌握到什么程度?
这个问题是知识星球同学们经常问我的问题。今天短短的更新一下,就回答这么一个问题。
首先,这个问题放在不同的场景中的答案可能和大家的实际想象的不太一样。
我们从分别从比较宏观和具体的场景出发,分别回答一下这个问题。
在日常的工作中,数据开发这个方向发展到今天,基本上都已经SQL化了,高度集成和易用已经成了任何一个框架都优先考虑的问题。
所以,当然这作为一个基本能力,无论未来你从事哪个方向,都避免不了接触SQL。就好像你从事后端开发,那么基本的接口设计、增删改查要十分熟练。
问题也就出在这里,如果是SQL是基本功,那么就无所谓有用没用了,是你一定要掌握的。但是要掌握到什么程度?我该花多大的精力去学习?
这个问题如果你来问我,我的建议是:
如果你能应付面试中的SQL题,那么就不要在更好的写SQL上花精力了。
你的时间应该分配给数据开发方向更前沿、更难学的新的技术栈上来,而这一部分才是大部分人缺乏的。在过往24个月,700+我辅导过的同学中,超过80%的同学技术栈陈旧不堪、严重脱离实际市场需求,并不是SQL基本功差。
此外,ChatGPT这两年的发展,最成功的一个落地方向就是在智能编程,各中大公司大模型内部提效的方向也是。无论是智能提示还是问答式求助,在大模型的加持下,让本来门槛不高的这点基本功更加无足轻重。如果你体验过这样的能力,那么你会深有感触。
所以我说,如果你把写好SQL当成一个很大的目标,那么大可不必。
因为这个能力本身市场价值并不大。
随着AIGC的发展这个能力价值只会越来越小,甚至如何正确的跟AIGC交互、深度编写一些prompt,有效理解AIGC的工作原理,让它产出符合你期望的结果更加重要。
此外,这块能力对应届生的重要程度会稍高一点。因为在校招的招聘中,编程能力的考察是必须的。所以,校招生是有必要打好这个基础,起码面试中的SQL编程问题要能写出来。而且SQL题的难度是显著低于写一些Java之类的算法题,学习成本极低。
最后就是社招过程中的SQL题目考查。
这部分我的建议也是,如果你仅仅是为了面试,那么提前突击一下就行了。
原因也很简单,一是工作中天天在用,SQL题的考察套路大同小异,几乎是可枚举的。如果你的面试失败了,肯定不是因为SQL题写的不好,一定是其他方面的原因。
99%的情况下,一家公司不会因为一个候选人SQL题写不出来而挂掉。这块技能的考察占整个面试的比重不足10%。
当然啦,每个人对同一个问题的认识不同,有不同意见当然很好,这说明你在自我思考而不是盲目追随。
最后,还是宣传下知识星球,如果你有什么问题(尤其是方向性的问题)可以在这里向我提问,可能在你看来一个很大很纠结的问题,在这里我只需要一句话就能让你少走很多很多弯路。详情看下面👇: