While giving a talk to apprentices about what engineers do, another tech manager and I were asked “What is the best programming language to learn first?”. This question is often debated in engineering circles but there is technically no right answer when you interpret the question as, “I’m interested in coding/engineering and want to start learning—what language is a good starting place?” In this case, the other tech manager made a lot of good points about the merits of learning JavaScript. But maybe because I knew most of the audience had no desire to be engineers, I instead interpreted the question as, “If you’re only going to know a single programming language, what would be most helpful?” For that question, I think there is arguably a best answer: SQL.

Whether for a business or personal project, one of the simplest ways to store and use data is a relational database, and interacting with that data happens through SQL. Because databases are so pervasive, the skillset of using that data is valuable to people across many career paths. A number of people on the data team have worked on learning SQL, and one of the best resources we’ve found is pgexercises.com. It’s a great learning resource that mimics the real-life mental process that you go through when trying to figure out the correct logic for queries. I also recommend doing an online course like Khan Academy to understand the basics of working with databases.

In addition to making you more technically literate, learning SQL will provide you a skill that is valuable in many professions. Knowing SQL will help you directly use data and better understand what is happening in software that uses databases behind the scenes. Searching JIRA with JQL or crafting Rules in Outlook are great examples of how knowing SQL helps you leverage powerful features in software. If you want to make the jump into learning SQL… you can do it!


Image by Duncan Hull. Used under CC BY 2.0. Cropped from original.

Tagged with: