Hey folks, I’ve been using GitHub Copilot for about six months now, and I think it’s finally time I wrote about it properly.
If you write code (even occasionally, like me with ARM templates and Python scripts), you’ve probably seen Copilot come up in every other conversation. It went GA back in June 2022 and it’s easily the most widely adopted AI coding assistant out there. But I’ve noticed a lot of people still haven’t tried it, or tried it once and didn’t get how to make it useful. This is the post I wish I’d had when I started.
What GitHub Copilot Actually Is
Real quick for anyone who hasn’t been following: GitHub Copilot is an AI pair programmer that sits inside your editor. It watches what you’re typing and suggests code completions, sometimes a single line, sometimes an entire function. It’s built on OpenAI’s Codex model and trained on public code repositories.
It works in VS Code, Visual Studio, JetBrains IDEs, and Neovim. I use VS Code for pretty much everything, so that’s what I’ll focus on here. Pricing is $10/month for individuals, $19/month for business. The $10 is some of the best money I spend on tooling.
Setting It Up
Almost too easy.
- Go to github.com/features/copilot and sign up (or start the free trial)
- In VS Code, install the "GitHub Copilot" extension from the marketplace
- Sign in with your GitHub account
- Done.
You should see a Copilot icon in your VS Code status bar. If it’s there and not showing errors, you’re all set.
Also install "GitHub Copilot Chat" while you’re at it. It’s in public beta and adds a chat panel inside VS Code where you can ask Copilot questions about your code. More on this later.
Your First 30 Minutes
Here’s where I think most people go wrong. They install Copilot, open an existing project, and just keep coding the way they always have. Then they see a gray suggestion, hit Tab, and think "okay, that was fine I guess." Not exactly a life-changing first impression.
What I’d recommend instead: open a brand new file and start writing comments that describe what you want. That’s when Copilot clicks.
Try this. Create a new Python file and type:
# Function that reads a CSV file and returns the top 5 rows sorted by a given column
Then hit Enter. Watch what happens. Copilot will generate the entire function. It’ll pick reasonable parameter names, import pandas, handle the sorting. Will it be perfect? Maybe not. But it’ll get you 80% there in seconds.
That "80% there" is the right mental model. Copilot isn’t writing your code for you. It’s writing a first draft that you clean up.
Where Copilot Actually Shines
After six months of daily use, here’s where I find it genuinely saves me time:
Boilerplate and repetitive code. ARM template parameters, similar functions with slight variations, test fixtures. Copilot eats this stuff for breakfast. I was creating ARM template parameter definitions last week and Copilot kept suggesting the next parameter based on the pattern. Saved me probably 30 minutes on a single template.
Regex patterns. I’m terrible at regex. Always have been. Now I type a comment like # Match email addresses that end in @spektrasystems.com and Copilot gives me the pattern. Not having to google regex syntax every single time is a relief.
Unfamiliar languages. I had to write a Bash script last month for a CI/CD pipeline. I’m not great with Bash. Copilot guided me through it by suggesting the right syntax as I described what I wanted in comments. Like having a colleague who knows the language sitting next to you.
Where It Falls Short
I’d be lying if I said it was perfect. Here are the honest frustrations.
The suggestions sometimes look right but are subtly wrong. Copilot might suggest an Azure CLI command with the right structure but an old parameter name, or generate Python code that misses edge cases. I learned this the hard way when a suggestion for an Azure resource deployment had a deprecated API version. Spent an hour debugging something I should’ve reviewed more carefully.
It can be noisy. When you’re trying to work through a tricky logic problem, having gray text constantly appearing is distracting. I toggle Copilot off sometimes when I need to think.
Context is limited. Copilot sees your current file and some open tabs, but doesn’t understand your entire codebase. I’ve seen it suggest standard library approaches when we have a custom utility that does the same thing better.
GitHub Copilot Chat (Beta)
Okay, this is the feature I’m most excited about. Copilot Chat adds a conversational interface right in your editor.
Highlight a block of code, press Ctrl+I (or Cmd+I on Mac), and ask things like "explain this code" or "write tests for this function." It gives you a response inline, with a diff you can accept or reject.
I’ve been using it to explain code I didn’t write. We have some legacy Python scripts at Spektra that nobody wants to touch because the original author left and there are zero comments. Select a function, ask "what does this do?", get a plain-English explanation. That alone is worth the subscription.
There’s also Copilot for CLI (in beta too) which helps you construct command-line commands in natural language. Haven’t used this one much, but it looks promising for people who can never remember az CLI flags.
Some of the Gotchas
Security is worth thinking about. Copilot sends code snippets to GitHub’s servers for processing. If you’re working on proprietary code, check with your security team. The Business plan ($19/month) doesn’t use your code for model training and lets you block suggestions matching public code.
Don’t use it as a crutch. I noticed after a couple of months that I was accepting suggestions without really reading them. Bad habit. Think of it like code review, except the PR was written by a very fast but occasionally careless junior developer.
Copilot won’t replace understanding. If you don’t know what good code looks like, you won’t catch the bad suggestions. It’s most useful for people who already know how to code and want to go faster.
Tips That Actually Help
Keep related files open in VS Code tabs. Copilot uses them for context, so if you’re calling a utility function, make sure that file is open. The suggestions get noticeably better.
Write detailed comments before writing code. # connect to database gets you generic code. # connect to Azure SQL database using pyodbc with managed identity authentication gets you exactly what you need.
Learn the keyboard shortcuts: Tab to accept, Esc to dismiss, Alt+] for next suggestion. Once these are muscle memory, the flow feels natural.
Is It Worth $10/Month?
For me, absolutely. I’d pay more, honestly.
If you write code daily, even infrastructure-as-code stuff like ARM templates and Bicep, Copilot saves you real time. Not on the hard problems (those still require your brain) but on the repetitive stuff, the boilerplate, the "I know what I want but I have to type it all out" moments.
Try the free trial. Give it a real shot for a week, and don’t just install it and forget about it. Write comments first, let Copilot fill in the code. That’s when it clicks.
Happy coding, folks!
Amit
Assisted by AI during writing