Reimagining the SQL Curriculum: Change How SQL is Taught
Tags: sql, beginners
Published: 2021-03-23 16:14:57

After looking at SQL’s impressive 50 year reign and what we could learn from it, let us now focus how we can learn it.

Not only is SQL everywhere, it is also in high demand. A quick search of job boards easily reveals not only that virtually all of the S&P 500 companies are hiring for SQL skills, but that the demand for them is even higher then more “high-tech” languages like R and Python.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7tj3z3br6vbyullc0800.png)
With such great demand it should be obvious that this “ancient” language is being taught far and wide to everyone starting as early as possible. Surprisingly, this could not be further from the truth.

This article will discuss the wide ranging benefits of learning SQL, how we can transform the current curriculum, and the drastic split from coding that will have to happen.
## The Merits of learning SQL
There are many advantages to learning SQL other than just being able to handle your own ad-hoc data queries. I am not planning to make a comprehensive list here, but some of the most obvious benefits are:
### Easy to learn
SQL is very easy to learn and does not require an extensive computer science education to understand. At the same time, it does teach some of the basics of programming, and can be used as a springboard to learn other languages such as JavaScript or C++.
### Used Everywhere
A quick search through postings on your favorite job site will quickly confirm that SQL is truly everywhere. Doesn’t matter if you are looking at established tech companies, rising startups or  Fortune 500 giants the odds are that they are looking for at least a Data Analyst with basic SQL skills. SQLs grasp on society is truly astonishing if you give it a good look. It effectively acts as a minimum requirement for any data related job imaginable.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h6pcz102371centi9qjo.png)
### High Demand
Once mastered having SQL skills increases your marketability for an entire host of professional roles. From Back-end Developers to Data Scientist most employers value these skills. In fact, so much so that you will have to be careful that it doesn’t turn into your full time job regardless of your other qualifications. Many highly skilled PhDs have been caught in a position where years of research are being trumped by their SQL in the job market.
### Top Data Language
Even though it is fairly easy, SQL includes many powerful features and allows you to retrieve data from many different databases, which makes it incredibly versatile. This is why it ranks even higher than Python for data-related jobs.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9q5yxofgg6jgf6th7e41.png)
### Future-Proof
Lastly, we can also be fairly certain that SQL has a secure future. This is due to a variety of complex reasons which I discussed in my last article, and if you still aren’t sure just check what the experts are saying.
## SQL is more than just a ‘job skill’
All this talk about SQLs high demand in the corporate world, still misses the larger picture.

Knowing how to write emails is a skill that extends far beyond its obvious uses inside an office. The same way data collection goes far beyond its job related use cases.
At its core SQL is the basic vocabulary of one of the most essential skills in the digital world we live in now, and is set to become one of the basic tools of existence in the modern world. The everyday individual will create and digest ever increasing amounts of information in their everyday life. As we produce and collect more and more data, we will either develop the skills to own and control it or be forced to rely on third parties to control it for them. SQL doesn’t go all the way when it comes to empower individuals with their data, but it goes far enough to make a difference.

This is why educators around the world would be wise to rethink their priorities, and start preparing their pupils for a world where being able to efficiently query large databases is as important as having proper grammar. This, by the way, is not just restricted to SQL. Being able to use APIs, visualization software such as Tableau and Power BI, and other query languages such as R’s tidy models should be included in this debate.
## SQL Education Today: Strengths and Weaknesses
Considering the widespread and intense demand for SQL jobs and the increasing importance of data in our everyday life it makes sense to inspect how it is taught today.

At this moment most SQL skills are either being taught on the job or through various online classes or educational camps. It won’t take anyone long to find at least a dozen different SQL courses online. Many of them are paid but even more of them are free, some just cover fundamentals and others apply them to real-world problems, and a lot of them are very good while others just fall flat. While they vary greatly between each other this is certainly the most dominant form of SQL education available today. Let's take a good look at their strengths and weaknesses.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n9ifo8lz6p5fs6onl4it.gif)
### The Good
The biggest benefit from this is that anyone who has a computer, Wifi and a will to learn can very easily get started and go very far. This still excludes a lot of people of course, but in terms of educational accessibility it is one of the most inclusive technical skills on the planet.
### The Bad
While online courses and classes can take you very far in SQL a lot of them lack the job specific training that employers are really looking for. SQL courses can take you very deep into the technical aspects of the language, but real-world problems often require experience and domain specific knowledge. This is hard to teach general courses and can only be attained by doing it every day as part of your projects.
### The Ugly
Even though it is under intense demand and widely accessible to learn still far too few are learning SQL. This is due to a general ignorance about its power and misconceptions about its applications and difficulty to learn. Many ‘non-technical’ people would have no issue picking up SQL alongside their other skills, but are deterred because they equate it with other ‘hard’ coding languages like C or Java.
## Reimagining the SQL Curriculum
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35i4994xcwl5pwz9ylio.jpg)
Skills such as writing emails or working with PowerPoint presentations have already been integrated into some Middle School curriculums, and teachers aren't completely unaware of the technological challenges their pupils will face after graduation. That being said, educators have always been very slow to adapt to changes in and the new challenges created by a digitized world are very hard to predict.

That is why I want to imagine a new School Curriculum that develops those skills needed in a world ruled by data. So, when is it to0 early to start learning SQL?
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/269pun4r0cdrb1ikswqu.png)
I obviously think there is no such thing as too early, but I might be an outlier. Taking a more conservative approach early High School is probably a good time for one’s first SQL Query. That doesn’t mean however that we shouldn’t start teaching kids on how to interact with data much earlier.
### Pre K through Grade School
What sort of data skills should we be teaching kids that are just starting their educational path in life? At this stage it is crucial to develop the visual perception and foundational logic that is necessary to make sense of the world.

This can be done using games, drawings and puzzles. There really is no need to confront young kids with the complexities of data structures, but simple coloring exercises can already lay to the ground work for what will be the underlying logic behind Joins and other SQL operations.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtz9qsrw5quiq03zx0g1.png)
Visual tools like Venn diagrams and exercises centered around the recognizing patterns and groupings build the skills that end up supporting higher level skills necessary for complex queries. Even more important than that, these early years are key to fostering the minds that are accustomed to certain sets of questions when the time comes.
### Middle School
Middle School might also still be a bit too early to be having to write Select statements, but given how technology savvy these new generations are they would certainly be capable.

This why it would not be stretch to teach them basic Set Theory, which underlies not just the logic of data structures, but all of them Mathematics. Kids start learning basic arithmetic much earlier, and simple logical puzzles using sets and their intersections would not look out of place in any Middle School math class.
### High School
SQL is already taught in High Schools around the world, but those that do tend to be very specialized engineering or CS schools. That certainly has to change if we want to equip these young adults with the necessary job and life skills to succeed after graduation. With many Tech companies dropping the College requirement a High School senior with 4 years of SQL experience wouldn't be out place in any of those positions. If SQL were to be included in HS curriculums around the nation, even if only as higher level electives, it would change the job market as a whole and increase Human Capital tremendously.
### Higher Education
My stances on early SQL education might be controversial so far, but I hope that most of the readers of this post would agree that some basic electives in SQL would certainly help this next generation of young adults entering the job market. 

In an ideal world this would be taken far beyond basic queries, and include more advanced topics such as data base design or even NoSQL formats. However, the most important change has to be who is taught SQL and not just when it is taught. As described earlier in this post SQL confers benefits on not just those seeking a career in tech, but is a widely desired skill across the board. 
## The Big Split: "Querying" vs "Coding"
To achieve its goals SQL would be best served if it found a way to differentiate itself from coding in general.
 
The distinction won’t be clean, but to help the adoption into mainstream curriculums SQL will need to remove the conception that it is necessarily part of a Computer Science education. Coding languages and query languages have many things in common, but their goals are often radically different. Coding seeks to directly interface with machines while the goal of querying is to interface with the information that is stored in databases.
 
Both coding and querying will be crucial skills in the coming decades, but they are so radically different that their continued meshing will only continue to confuse the general public and slow the adoption of both.
## SQL for Everyone: What all needs to change
We started this post with outlining why SQL is a must-have skill for just about anyone, not just people working in tech. This is because it is the #1 data related skill both in demand and usefulness, and we are living in an evermore digitized world. 

We then took a look at what is good and bad about SQL education right now, and found that even though it is already very accessible much more needs to be done.

One thing that we could do is integrate data related skills into every level of education. This would tremendously boost the skills of the next generation. That might be hard to accomplish though if we don't change how SQL is perceived by the public.

That is why I introduced the concept of splitting "Querying" from "Coding". This would benefit both of these related but separate skills, and boost acceptance from the non-technical part of the population.

### One Last Thing
SQL is one of the most ubiquitous programming languages today, but its influence could be even greater. Once we change how it is taught to and perceived by the public it will become a basic tool of existence on par with writing emails and creating spreadsheets.

I've shared my thoughts on what changes could be made to our SQL education to make it even more inclusive by including it in a general educational path and splitting it off from coding. Leave a comment and let me know what else you think could be done!

There is one more important technology that can help in improving how SQL is taught today.
### SQL Editors
Learning to work with databases is becoming an increasingly collaborative process as more people are getting into SQL. Students need to be able to work together on the same problem. Debugging queries and analyzing data as a team is the norm rather than the exception when it comes to SQL.

[Arctype](https:/www.arctype.com) has built a collaborative SQL editor that allows you to easily share databases, queries, and dashboards with anyone. Join our growing community and [try out Arctype today](https://www.arctype.com/downloads).