#065: 4 Reasons Why You Should STILL Lean SQL
May 15, 2024SQL is still the most important skill to build as a data engineer, and it is the first one I recommend to anyone getting started. Four reasons: it is where most of your working day actually goes, it is the foundation every other data skill builds on, there is enormous demand for people who can clean up badly written queries, and it is embedded in old and new tools alike. It gets brushed off because it has been around forever and is not the exciting new technology. SQL on its own may not land you a job, but not knowing it will very likely disqualify you.
Key takeaways
- Despite every roadmap and skills list out there, SQL is still the single thing I would tell a newer engineer to go deep on first.
- Most of the actual job is SQL: building a data warehouse, writing stored procedures, building pipelines and transformations.
- Data modeling depends on it. It is hard to implement a good model in a database if you cannot write the queries that build it.
- Job descriptions list far more tools than the role uses. The real day to day requirement for most of these jobs is writing SQL in some capacity.
- Treat SQL as a pillar skill, not a beginner box to tick. Everything else gets easier when the foundation is solid, and harder when it is not.
- There are a lot of poorly written queries in production, and that is opportunity. Being the person who can read someone else's query and see where it improves is a career on its own.
- SQL is not confined to the database. It turns up in drag and drop tools, version controlled tools, ingestion, transformation, orchestration and automation.
Why SQL keeps getting brushed off
When you are getting started in data engineering, it can feel like there are a million skills you need before you are credible. There is no shortage of lists and roadmaps, including my own.
Underneath all of them, I still believe an understanding of SQL is the most important thing you can have.
It gets taken for granted precisely because it works. It has been around forever, it is not the new and exciting technology, and there is no marketing budget behind generic SQL.
That is also why it stays undervalued, and why putting time into it is still one of the best returns available to you. If the broader anxiety about keeping up is what brought you here, I wrote about that in You Don't Need To Know Every Data Tool & Skill.
Reason 1: It is where your day actually goes
Interacting with SQL is where you will spend most of your day to day time, whether you are an engineer or an analyst. That is where the core job responsibility sits.
The work itself
Think about what the role actually consists of:
- Building a data warehouse
- Creating stored procedures
- Building data pipelines
- Writing data transformations
There are edge components around all of that, triggering things and writing automations, and those pull in other skills. But looking back across nearly a decade of my own career, most of it has been writing SQL in some capacity.
Data modeling runs through it
Data modeling is the topic everyone wants to learn, and reasonably so. It is also hard to implement a good data model in a database if you cannot write SQL.
The modeling concepts are only half of it. The other half is expressing them in queries that run.
Job descriptions versus the real day
We both know a lot of job descriptions are ridiculous now. They list a stack of tools and experiences that no single person uses in a week.
From experience, the real day to day requirement of most of those jobs is writing SQL. The rest of the list exists because somebody wanted to cover every possible scenario.
The conversations you will be in
It also shapes the technical conversations you have with your team. Following what is going on, writing it, and being able to talk about it are a large part of working with other engineers.
Reason 2: It is a foundational skill for your whole career
The second reason is that SQL is something you keep building on rather than something you pass through.
A lot of people treat it as a beginner level skill. Learn the basics, check the box, move on to the more exciting things. That is not how it plays out.
I look at it as a foundational pillar skill for your entire career. Everything else sits on top of it.
What happens when you skip it
If you get a surface level understanding and jump straight to advanced concepts and newer tools, you are making the rest harder on yourself. A core component is missing and it shows up later.
Go the other way and the effect reverses. With a deep understanding of SQL, the other tools become easier to use, because you can see how they interact with the database underneath.
It is also a way to stand out. Strong SQL is far less common than the number of people who list it on a resume would suggest.
Reason 3: Teams need help with SQL
Reason three is about opportunity. There are still a lot of poorly written queries out there, and that is work waiting for someone.
What bad queries actually cost
You see overly complicated logic, redundant logic, and rabbit holes of queries that have gotten worse over time. The costs land in two places:
- Compute. The query is doing far more work than the question requires, and you pay for it on every run.
- Developer time. Nobody can tell what the query is supposed to answer, so every change starts with an investigation.
I do not always know whether it comes from a gap in skill or from a deadline that forced things through quickly. Either way the result is the same.
Why that is good news for you
From working with a lot of teams and a lot of companies, I can tell you plainly that people need help writing SQL.
So do not stop at the basics. Go deeper, to the point where you can read someone else's code and quickly see where it can be improved.
You can build an entire career on that alone. Come in with a genuinely strong understanding of SQL and there will be opportunities, and people will want to work with you.
Reason 4: It is built into so many tools
The fourth reason is reach. SQL is integrated into an enormous number of data tools, old ones and new ones.
That includes drag and drop tools and version controlled, code based tools. It turns up across ingestion, transformation, orchestration and automation.
The database is still where you will use it most. The point is that it does not stop there, so the skill keeps paying off in places you did not expect.
Where to put the effort
If you are newer and trying to decide what to focus on, this is the one. If you are experienced and looking to refocus, going deeper here is rarely wasted.
Learn the basics properly, then keep going: performance, readability, and the ability to look at an unfamiliar query and understand its intent quickly.
Key terms
SQL
The query language used to define, load and retrieve data in a relational database, and the language most data engineering work is actually expressed in.
Stored procedure
A named block of SQL saved in the database and run on demand, historically one of the main ways teams packaged up transformation logic.
Data transformation
The step where raw loaded data is reshaped into the tables your reporting and analysis actually use, almost always written in SQL.
Data modeling
Designing how tables, keys and relationships are structured in a warehouse so the data answers business questions consistently.
Foundational skill
A skill that other skills build on top of rather than one you finish and move past, which is how I would treat SQL for an entire data career.
Common questions
Is SQL still worth learning as a data engineer?
Yes, and I would still rank it first. Most of the day to day work in the role is expressed in SQL, and the skill carries across every database and most of the tools around them. It stays undervalued because it is not new, not because it stopped mattering.
Will SQL alone get me a data job?
Probably not on its own, but not knowing it will very likely disqualify you. Treat it as the floor rather than the ceiling, then add the surrounding skills like version control, orchestration and a transformation tool.
How deep should I go with SQL?
Deep enough to read an unfamiliar query and quickly see where it can be improved. That is a noticeably higher bar than writing queries that return the right answer, and it is the level where the real opportunities start.
Do I still need SQL if my team uses drag and drop tools?
Yes. SQL is integrated into plenty of drag and drop tools as well as code based ones, and it shows up across ingestion, transformation, orchestration and automation. The visual layer usually sits on top of SQL rather than replacing it.
Why are there so many badly written queries in production?
Some of it is a gap in skill, and a lot of it is time pressure. Logic gets added under a deadline, nobody goes back to simplify it, and the query gets worse with each change. The cost shows up as compute spend and debugging time.
Should I learn SQL or Python first for data engineering?
SQL first. It is where the core responsibilities of the job live, and it is what data modeling runs through. Python is valuable for the automation and integration work around the edges, and it is easier to add once the foundation is there.
Related reading
- SQL vs dbt Models (& the value of CTEs)
- Good Habits to Help You Write Cleaner SQL
- 3 Must-Haves for Any SQL Style Guide
- What to Learn First as a Data Engineer
Final takeaway
Almost every engagement I take on starts with reading somebody's existing SQL, and the quality of it predicts how the rest of the project will go. Get deep enough that you can look at an unfamiliar query and see the intent, and you will be useful on any data team you join.
Additional Free Resources
Starter Guides & Checklists
Explore additional free resources built on the same patterns I use with real clients so you can build your own with structure and confidence. Topics include data architecture, modeling and more specifically for small data teams.