I Get SQL, Kind Of
kylebenzle.com
kylebenzle.com
> This realization may seem basic, but for those who are just starting out, understanding that SQL is simply a program designed to interact with databases can make a huge difference.
I'm by no means a SQL expert, I'm not very good at it, but my understanding of what SQL is has been at the level of what's in this blog post since probably my first year of CS at university, potentially even the year before when I was doing some freelance web development at age ~17.
It's good that the author has learnt this, and it's good that the author recognises that this is a relatively basic realisation as well. To me this post says more about the state of education about computing than it does about SQL. 40 years ago, to be a software engineer necessitate being partly a hardware engineer, 20 years ago you could know far less about hardware, I'd suggest that in the last 10 years you can now be a software engineer and not understand a lot of software.
Do you need to know how an OS works to be a software engineer? Not really anymore, at least not for certain classes of software engineering. It seems you don't even need to know how to use a database to be a web developer anymore because things are wrapped up in so many layers. I'd argue that knowing these things makes you a much better software engineer, but if outsourcing, coding bootcamps, and AI tools have shown us anything, it's that most software engineering does not need to be done by experts.
What most people who struggle with it are failing on is having a mental model of how it is operating on sets of data. You're working in a procedural language and interacting with something that is not procedural. It flummoxed me for awhile in my first job. I feel lucky that my first job was very heavy on the database side, and had me converting from a file+cursor based database to a SQL database.