Just this past Monday I got my request for the GitHub Copilot Technical Preview approved. After a couple of days using it I feel how completely changed how I approach problem-solving. For years, I had been refining SQL queries manually, often taking entire days to perfect. Building complex algorithms was even more time-consuming, sometimes spanning days or even weeks. But with the introduction Copilot, the way I work changed dramatically.
The (already) painful old way
Before using Copilot, building SQL queries was pretty much a slow, iterative process. Don’t get me wrong, I enjoy building good SQL queries, and I take pride after I see them working, but even the most basic ones could turn into a complex web of nested conditions, joins, and calculations. Debugging these queries required meticulous attention to detail, and any inefficiency in logic could lead to performance bottlenecks. When building complex algorithms for specific use cases, whether related to database optimization or business logic, was similarly labor-intensive.
What I realized back then was that my struggles weren’t just in writing the SQL or algorithms themselves—it was in ensuring their efficiency, accuracy, and scalability. It often felt like staring at a blank canvas, trying to translate abstract problem statements into working solutions.
The (already) current way
When I first tested GitHub Copilot, it felt like working with a permanent army next to you. Initially, I used it for building random functions and purely like a glorified autocomplete. The turning point came when I gave a try at building SQL queries, which is when I was blown away by how quickly it suggested working queries that would’ve taken me hours to develop on my own. Because of my existing knowledge of SQL, I could instantly spot areas where improvements were needed, optimizing the results for performance and specific needs.
This also translates to complex algorithms, which used to be an even bigger time sink. Now, I just go and describe the problem to the LLM, and it suggests an initial approach, allowing me to focus on refining rather than writing from scratch. What it used to take me a whole week worth of work it now takes minutes, and the output is better.
The (still) important skill: Domain expertise
Some people would believe using AI will make anyone a developer, but, to truly benefit from it, you still need to already understand the domain. Whether it’s SQL optimization or algorithm design, knowing what you’re asking for is critical. Yes, AI will help anyone to build simple things from scratch, but whoever focus on simple things is already losing the battle and will need to rethink its career in the long term anyway.
Copilot is a huge time saver, but you have to know how to frame your request properly. If I didn’t already know the ins and outs of SQL or algorithm structures, I wouldn’t be able to assess the quality of the suggestions or even know what to ask.
This is similar to writing code where you don’t need to know a programming language as long as you already know programming in other languages. Here, with AI, we need to develop a new skill of interacting with LLMs.
This is where a lot of frustration comes from, particularly for people who expect AI to be a “magic bullet” for their problems. It’s easy to be disappointed if you expect perfect results out of the box. Instead, the real value comes when you collaborate with the tool. You should focus on using your expertise to guide it and then letting it handle all that annoying grunt work.
The key to unlocking the full potential of these tools is expertise. If you know your field well, these tools can save you countless hours. If you don’t, it’s easy to misunderstand their role and fall into the trap of expecting too much from them. AI isn’t here to replace experts. AI is here to amplify the experts’ abilities.
So, if you’re like me and have spent years refining SQL queries or developing complex algorithms, AI can be a game-changer, but only if you know how to use it right.