SQL: A love story

I’m a college drop-out. When I was trying to figure out my life, a friend (my brother’s ex) referred me to a software company where she was working–I got the job because I was (a) breathing, (b) eager to do the job, and (c) cheap. The application we built and sold was built with VB6, SQL Server, and later a bit of VB.NET. In my one year of college, I’d decided that I hate software development, but I fell in love with SQL Server. I’ve spent most of my career working with SQL Server (albeit a brief stint doing Oracle stuff), and I’m very happy that I fell in love with the SQL language and SQL Server in particular.

Love at first sight

SQL is a pretty easy language to learn. It reads like prose, particularly for someone who is a bit of a math geek–relational databases are just real-world set theory, so a strong math vocabulary definitely helped reinforce the love. Once I learned a handful of syntax words, I could read a statement and translate it into plain English. Once I could do that successfully, I could go in the other direction, and start crafting plain English statements that I would trivially convert into SQL!

When anyone is starting out with SQL, once you can distill your requirements into something like this:

I want to `SELECT` the First, Last, and Middle names `FROM` the `person` table `WHERE` the person `IsActive` and there `EXISTS` an `address` for that person.

You can then turn it into code like this:

SELECT p.FirstName, p.LastName, p.MiddleName 
FROM dbo.Person AS p 
WHERE p.IsActive = 1 
AND EXISTS (SELECT 1 FROM dbo.Address AS a WHERE a.PersonID = p.PersonID);

It’s worked out pretty well for me

I’m very happy with my career. I’m good at SQL and with SQL Server. Being a DBA pays pretty well, especially if you’re good at it. My decision to start blogging & teaching made me an even better DBA, helped me make tons of awesome friends, and even helped me earn my MVP Award.

I’ve done really well for a college drop-out who grew up in a middle-class family.

Over the years, I’ve often thought about how lucky I was to stumble into that first job, and have the opportunity to meet and fall in love with SQL Server. It’s worked out well for me because I’m pretty good at it, but also because SQL is a super popular language.

SQL is popular; Everyone loves SQL

Stack Overflow does a yearly Developer Survey. This year’s survey, like in past years, shows that the SQL language is not only popular, but people actually like it!

If you look at the most popular technologies from that survey, you’ll see that SQL is right there near the top. BOO-YEAH!

Stack Overflow 2018 Survey Results

But that just tells us that companies are using SQL. It doesn’t tell us much more than that. If we keep reading on the survey results, we see that SQL is also among the most loved languages (respondents said that they want to continue using it), and doesn’t show up on the “Dreaded” list (respondents did not say they wanted to continue using it).

Stack Overflow 2018 Survey Results

The loved/dreaded chart is really helpful. VB6 tops the list of “Most Dreaded” (remember that first job I had? They used VB6.). A bunch of languages appear on both lists, showing the duality of developers love/hate relationship. In fact, the whole bottom half of the “Most Dreaded” list also appears on the “Most Loved” list: Ocaml, PHP, Hack, C++, Erlang, Ruby, R, Java, Julia, Haskell, CSS, and HTML.

SQL and a few other languages show up ONLY on the “Loved” side, AND it’s popular. That’s a good thing. Being both popular and loved means that companies will continue to use it. The people already there love it, and they can find other people who love it. Jobs will be bountiful!

Hitching your wagon to a language that is hated means that you’ll have a harder time finding work. You’ll talk to people and hear things like “We’ve still got a bunch of C, but we’re slowly re-writing it and wrapping that functionality into our Python code base.” Or worse–you’ll be someplace where an interdepartmental spat reminiscent of the Sharks vs the Jets.

SQL has staying power

If you look at popular languages, very few have been around as long as SQL. Check out the top 11 most popular technologies from the Stack Overflow survey (I chose 11 to include C). Only C and the original sh (Thompson Shell) are older. C, SQL, and sh date to the 1970s, and are still popular today.

Popularity Technology Initial Release Love % Dread %
1 JavaScript 1996 61.9% N/A
2 HTML 1993 55.7% 44.3%
3 CSS 1996 55.1% 44.9%
4 SQL 1974 57.5% N/A
5 Java 1995 50.7% 49.3%
6 Bash / Shell 1989(Bash) / 1971(sh) 59.1% N/A
7 Python 1990 68.0% N/A
8 C# 2000 60.4% N/A
9 PHP 1995 41.6% 58.4%
10 C++ 1985 46.7% N/A
11 C 1972 N/A 62.6%

C is still popular, despite the fact that it’s dreaded and unloved. For the languages that date to the 1970s, only shell scripting & SQL remain both popular and loved. The lack of dread indicates that they aren’t going to be evicted from anyone’s environment any time soon.

I should be safe to keep using SQL for another year.