SELECT 'Hello, World!'; -- Hello, World!
Welcome to SQLStrong, a site dedicated to the study of databases and database technology, emerging technologies like GraphQL, and, of course, SQL.
Here’s a story about why I decided to start this blog.
My name is Eric. I’ve worked in IT in various roles for the better part of two decades. I’ve been a data analyst, a WordPress dev, a sysadmin, a messaging engineer, an email security consultant, and a database app consultant. I’m a self taught generalist.
In the last two years I’ve increasingly focused on databases. After years of thrashing in IT job soup it felt like I was finally getting ready to settle down.
Like many devs, one of the constants in my career has been SQL. I’ve been at the helm of Microsoft SQL Server in three different positions without ever really intending for it to happen that way. Maybe it’s fate. Maybe it’s a curse.
Some time ago I had the opportunity to interview for a position as a database engineer at a young startup. I was interested in this role for a number reasons, but chief among them was the chance to work (almost) exclusively on databases and related tech.
Fast forward to the tech interview. It’s going well. The interviewer had some SQL on the next slide, and asks me to derive the total number of rows returned. But it was almost like they were apologizing for perfunctory it all was.
No problem, I thought. This is what I came here to do. I do this kind of stuff all day. I wade through difficult spaghetti-SQL and make sense out of it.
The code came on screen and I froze.
This had happened to me once before. During my (short) time at University I took an intro to acting class. I had never tried acting before, but it seemed like something fun to try.
The final exam for the class involved acting out a scene a group of us had scripted the prior three weeks. Except I didn’t take it seriously enough. I was lazy in practicing my lines, and I spent the bulk of my time studying for “more difficult” tests…
I got up on stage. Then it was my cue to read my part of the scene… and I froze up in front of the whole class. Sweat started pouring out of me. I was so light headed, I couldn’t remember a single word of my lines. I gave up and ran over to my bag to grab the script but still managed to stumble my way through the scene.
I had completely blown my final in the most mortifying way possible.
And there I was again. Staring at the screen. That old familiar dread washing over me.
There really wasn’t much to the code. Only eight or ten lines in total. But it wasn’t what I expected to see. It was… academic. Like I’d been given a discrete mathematics question by mistake. I couldn’t make sense of it.
I should have copied the text into an editor to work through the problem with my fingers. I should have tried to talk my way through it line-by-line. I should have stalled.
Instead I squirmed for 20 seconds in mute panic before I stammered out a wild guess at the answer. Way, way off.
The interviewer gently explained a series of left joins in the interview question, and how they would affect the total number of rows returned.
I just wasn’t as prepared as I thought.
“Okay, well, let’s just continue on with the rest of the interview,” the interviewer said, sounding just as uncomfortable as I was.
Over the years I’d been knee-deep in real world systems. I relying on intuition and experience and it’s worked out well overall. It’s okay if you don’t wade into the deep end. But a lack of formal training, spotty fundamentals, and a generalists background had finally caught up with me.
It’s no secret that engineering interviews tend to veer into theory. Textbook questions are the bread and butter of engineering interviews. To pass them, intuition is necessary but not sufficient.
I did alright the rest of the way through the interview. Not great, but okay. In fact, I was surprised to get a third interview for the position a few days later. But…
I didn’t get the job.
I was shook. Not because I didn’t get the job, but because of how I blew it. I decided that it was time to confront some harsh truths, and to better plan my next steps.
And so here we are. You’ve been duped into reading the therapy blog of some guy who got a reality check and can’t get over it.
With SQLStrong my goal is to cobble together something a little more useful than a place for me to cry about my bruised ego. In the Resources section, I intend to maintain lists of interesting and useful links. The How To section will cover SQL code snippets and nitty-gritty details. The site also features a News category where I’ll curate links to the most interesting data-related topics of the week.
I’ll also blog about various topics as they come to me.
My hope is that I can help someone out there by sharing what I learn. Thanks for reading!