SQL for the Illiterate – Pt. 1
Okay, so typing this out generally speaks to my literacy, but when it comes to programming languages, it’s like all my years of schooling mean nothing. My only foray was trying first few lessons of Haskell in CodeAcademy many years ago. I haven’t done more than self-taught HTML (enough to bang out a reasonable website for an early stage company with limited budget) and talking nerdy to my close friends and family. Loops! LoL.
In a time of career reevaluation, I’ve decided to challenge myself and learn SQL. I knew someone 15 years ago who was tasked with writing SQL queries. Knowing his background and knowing him, I felt confident that this is something I too could do SQL. My first step was trying the CodeAcademy freebie to get a sense of the necessary learning curve. This was followed by trying to understand certain points of the lessons by asking my partner - an experienced functional developer - follow up questions.
The two are essentially diametric opposites. CodeAcademy gave textual explanations with brief concepts and diagrams. On the other hand, my partner’s explanations were based on the premise that I already had basic knowledge (that I did not get from the CodeAcademy course). I found both just a little bit frustrating because one didn’t go deep enough and the other felt like the Mariana Trench because of missed fundamentals.
CodeAcademy’s lessons left me with questions and not enough answers, nor did they give me enough confidence in their tools. One issue I had with CodeAcademy was the browser-based interpreter. It focuses mainly on the statement entry and evaluating whether or not my code was correct. A very binary tool, it didn’t give actual feedback or explanations to what I was typing.
In some lessons, we were required to write several queries. On the right hand side of the interpreter, the results generated weren’t clearly explained and produced the answer to all queries that were entered. Meantime, my partner showed me some examples in Postgres, which I have been told is a REPL. A REPL for the uninitiated such as I, is when the interpreter simply shows the results for the last statement and not everything previous. That made so much more sense.
Ultimately, the CodeAcademy lessons have not worked for me despite two attempts. And what we say for new knitters and crocheters, you should start with the best tools for the best chance at success. The best tools will make learning less frustrating and a better experience that will encourage you to continue learning. CodeAcademy has not proven to be a good tool for me in terms of learning. I’m sure that it works well for many people, but I always learn best with the right teachers. I don’t think a set of texts with dry explanations work well for me.
This disappointing start did not stop me from trying again.