SQL & My Friend Ricardo

My friend and classmate Ricardo died about two months after we graduated from our software development bootcamp. The bootcamp lasted seven months, but anyone would tell you that the program’s intensity forced tight-knit relationships among classmates, like some sort of software school foxhole. This June, it will have been two years since Ricardo’s passing, and I don’t think there’s been a single week when I haven’t thought of him at least once.

Sometimes thoughts of Ricardo are unexpected, and I have countless examples of these moments. While I was running in a 6-hour race in Georgia this February, a man and I continually leapfrogged each other throughout the run. This man’s shirt had advertisements on the back and the name of the focal donor was a sports medicine clinic with the same name as Ricardo’s last name; because of this, I thought of Ricardo every single lap. About a week after his passing, I went to the Widespread Panic three-night run at Red Rocks. On the second night, as the sun was setting and that alone-in-a-crowd feeling crept in, so too did thoughts of Ricardo.

Other times, I’m not surprised that Ricardo pops into my brain. Because Ricardo and I worked on a SQL-heavy project together, whenever I need to do SQL queries, I usually think of him sitting next to me. For those unfamiliar, SQL is a querying language, essentially, a way to make requests of one or more database tables and relate or modify the data contained therein. We learned SQL during the second module (“Mod 2”) of our bootcamp experience (there were four modules, each spanning six weeks). Our instructor was great, but for whatever reason, this particular lesson did not land for me. I understood the basics, but I struggled for the remainder of my time in the program with advanced SQL. Unfortunately, much of what we worked on during that module built upon this one lesson, and I felt as though I’d fallen on a moving treadmill and could neither get off nor catch up.

We had several opportunities to practice SQL and later ActiveRecord after the initial lesson (ActiveRecord adds a layer of abstraction to SQL, allowing for more efficient queries in Ruby on Rails). One of those practice times came during a group project on which the instructor paired Ricardo and me together. I felt useless but grateful to have been paired with someone as patient, smart, and great at SQL and ActiveRecord as Ricardo. Not only did he help me with parts of the project for which he was not responsible, but he helped me celebrate my small wins too.

Slack conversation about SQL queries between Ricardo and me
Late-night SQL discussions in Slack

I never managed to get a great handle on advanced SQL after that. We had a strict timeline in each module and there never felt like enough time to go back and learn/relearn things I missed. Post Mod 2 and graduation from the school, I’ve only run into SQL a few times, and each time, I’ve felt antsy and insecure.

During my job hunt and after officially starting my new career as a developer, I tried several different SQL tutorials and none of them really helped me get past the basics. The tutorials were usually not explanatory enough in the setup and often were too liberal providing hints in practice questions. Because I didn’t use net-new SQL or ActiveRecord much, I let this insecurity sit in the back of my brain for several months unattended, and I chose to explore different areas of focus.

Two things happened recently whose timing matched up in such a way that I needed to revisit my old SQL insecurities: first, a problem at work requiring a new ActiveRecord query with some raw SQL included, and second, a virtual conference. I felt embarrassed at the amount of help I needed to finalize a query I wrote for our app at work. Every member of my small team offered suggestions for how to make my query better, and I struggled understanding the tradeoffs among the suggestions and how to fix the actual queries when the suggested syntax was off slightly.

A few days after figuring out the best querying path forward with help from my team, I attended RailsConf virtually. I was fortunate to be able to attend as one of the RailsConf Opportunity Scholars for people who are underrepresented in tech, and this scholarship also included a subscription to an online learning resource called Treehouse. Based on my frustration from work, I wasted no time seeking out a SQL course on Treehouse with the hopes of avoiding a similar future embarrassment. The full course was 10 hours and I was relieved to test out of the basics. I dove into the remaining coursework, practicing a little each day and feeling as though things were finally clicking. There were no hints on the tests, so if I couldn’t figure out a query, I had to do the lesson over again until I could get it right on my own. This is exactly what I needed. I passed the last exam of the coursework with a score of 100% on the first try, and I feel excited.

I don’t think I’m alone in admitting that sometimes I experience a hopelessness spiral. It’s compounding negativity and self-doubt when there’s a concept that I feel as though I’m the only person in the room who doesn’t understand. Given the number of my attempted past tutorials, I was starting to feel that hopelessness with SQL and also starting to anticipate and feel sad about the next concept that I may not be able to grasp no matter what I try. This Treehouse course is a small win, but it’s one that I needed in order to shake myself out of my spiral. It also serves as a reminder that the concept of different learning styles is real and a specific teaching style can help or hinder anyone. I didn’t bank on this problem at work lining up with a tutorial that finally works for me, but I’m grateful for that. I also feel lucky to have had someone like Ricardo in those early moments when I felt lost. He isn’t here to celebrate with me now, but I’d like to think he’d be proud of me if he were.

Celebratory Slack conversation between Ricardo and me
Celebratory Slack conversation between Ricardo and me
I only use swear words after 10PM