🙅 Why I don't use AI as my copilot 🤖
Tags: webdev, javascript, programming, ai
Published: 2024-06-14 20:08:54

**Jesus, take the wheel. 🚗
And Github Copilot, take the IDE. 💻**

**[Github says](https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/)**, 92% of US devs are using Copilot.
What. Seriously?!
When did you hear 92% of any demographic using a singular thing?

Unless of course... you say **100%** of all people who ever existed, consumed di-hydrogen monoxide.
_(There's exactly one way this line gets dark. Don't go there. 👀)_

Join me on a quick journey as I talk about:
- [What my fears actually are.](#what-im-actually-worried-about)
- [How other experienced devs feel about this.](#from-the-experienced-devs-point-of-view)
- [Maybe I'm worried about nothing?](#lets-take-a-step-back-for-a-moment)
- [And how WE are responsible for how we use LLMs!](#where-the-heck-does-llmai-fit-in)

### 🔥 When the machines took over the world in 2024

After a quick Google search, it seems like most devs are using AI assistance in writing code. **I’d be lying** if I said I haven’t used AI to write code at all. Of course, I have. I don’t live under a rock.

I've seen devs get oddly comfortable with the idea of sharing their code related data with third party cloud services, which are often not SOC2 (or something similar) certified, and make vague unprovable claims of privacy at best.

Things like Github Copilot (and Copilot chat), Bito.ai, and several other AI code extensions on the VS Code marketplace have more than 30 million installs. Crazy! 🤯

And then there's me. **I’ve not made AI assistance** a part of my regular code workflow. A couple of times I’ve taken help from GPT to get some boilerplate written, sure. But those times are an exception. Things like Github Copilot, or any kind of code review, code generation tool, PR creation, or commit-assistance, isn’t a part of my IDE or CLI flow.

Maybe it’ll change with time. We’ll see.

> ## “But… why?”
![but why](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bpc1fc4t5a10j0i5r3wj.gif)

### 😟 What I'm ACTUALLY worried about

The answer is simple. 👇

#### 1. I fear my programming skills will get rusty
I am concerned that the way I write and read code will suffer if I get too used to AI assistance.

- I’m concerned I’ll begin to **overlook** flaws in code that I can catch otherwise.
- That I’ll start to take AI generated code for **granted**.
- And looking up APIs, built-in methods, or other documentation will start to feel like a **chore**.

I fear… that I’ll start slipping.

#### 2. I'm not comfortable enough with sharing all of my code with a third party service

Companies can be damn smart about inferring things from the data you provide. Sometimes they'll know about things that [your family won't know about](https://www.forbes.com/sites/kashmirhill/2012/02/16/how-target-figured-out-a-teen-girl-was-pregnant-before-her-father-did/).

The idea that sensitive business logic may get leaked to a third party service, which may eventually be used to make inferences I'm not comfortable with or just... straight-up leak? I mean, software gets hacked all the time.

I think I'm being very reasonable thinking that I don't want to expose something as sensitive as code in an unrestricted manner to a third party company. Even if that company is Microsoft, [because even they f*ck up](https://www.wired.com/story/total-recall-windows-recall-ai/).

### 👀 From the Experienced Devs' point of view

This isn’t a take that is unique to me either!

#### 1. More-experienced devs tend to **not want to lean** on “crutches” to write their code.

I’ve even had the pleasure to work with senior devs who didn’t want to use colored themes on their IDEs because they thought it’ll hurt their ability to scan, read, or debug code! (that was a bit much for me too)

After all, “programming skills” is a lot **more than just writing code**.

#### 2. Older devs have seen all kinds of **software get hacked**, data leaked, etc.

I mean, when [haveibeenpwned.com](https://haveibeenpwned.com/) sends you emails about your credentials, emails, and other data leaks every year for over 10 years... MANY TIMES from [billion](https://en.wikipedia.org/wiki/2017_Equifax_data_breach) [dollar](https://www.news18.com/india/indias-biggest-data-leak-so-far-covid-19-test-info-of-81-5cr-citizens-with-icmr-up-for-sale-exclusive-8637743.html) [corporations](https://www.nytimes.com/2017/10/03/technology/yahoo-hack-3-billion-users.html)...
When you hear **"When you're not paying for the product, you are the product"** for the bazillionth time, which is then backed by yet another company selling that data to some third party...

Yeah... it gets tiring.
And it gets real easy to just disconnect as many wires as you can and go back to stone age.


> ![old matt damon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/03pmbpqix6e199ewey5t.gif)
> “Older devs”? Am I… Am I getting old?
> Nah, I’m still 22 and this is 2016 or something… right? Right??

**Btw, the answer to the question in the title is 👆 this.** Congrats! The post is over! Over to the next one…

Buuuuut… if you want to continue reading…
![joey theres more](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jk0ywd7yjqukeokd0t2d.gif)

### 🚶 Let's take a step back for a moment...

#### I think my fears may be exaggerated.

> _Let's keep the whole data privacy angle aside for now, because that's a whole other topic on it's own that I feel about rather passionately._

I personally don’t have enough data to empirically say that using AI assistance will bring about the doom I fear… That it’ll downgrade me from what I am today, to an [SDE1](https://dev.to/middleware/going-from-sde1-to-sde2-and-beyond-what-it-actually-takes-1cld).

But I’ve seen patterns.
- I’ve seen AI-generated sub-par quality code go through code reviews and end up on the `main` branch.
- I’ve seen library functions being used without properly understanding what, or what alternatives exist just because an LLM generated that.
- I’ve even seen code generated to solve a problem, for which a utility function already existed in the codebase but wasn’t used because knowing this utility existed was a lot more work than asking GPT to generate it for you.

### 💎 ~~Diamonds are~~ Bad code is forever

**“Wait a damn minute… I’ve seen this movie before!”**
![dejavu](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fvun4635neb2dflv5yto.gif)

- LLMs are a pretty new thing… but 💩 code has been **eternal!**
- Every. Single. Dev. Ever. Has used library functions without fully **understanding** it or looking at alternatives. You, and me, are both guilty of that. (What? You thought `Array.prototype.sort` was the best way to sort anything? It’s just sufficient in most cases!)
- A piece of logic gets reinvented (re-copy-pasted) all the damn time! Just that before it used to be from **StackOverflow**, now it’s from ChatGPT.

### 🤷 So, what’s the big fuss about?

> "Will using ChatGPT make me a bad programmer?"

I think, no.

The takeaway is that you just need to care about what you build.
Take **pride** in what you **build**.

### 🤖 Where the heck does LLM/AI fit in?

**LLMs are not inherently evil.**
In fact, they can be pretty damn useful if used responsibly:

- **Quality Code:** An LLM might handle edge-cases that a less diligent developer wouldn’t consider.
- **Comprehensive Tests:** LLMs might write tests that are more comprehensive than what some devs would produce.
- **Comprehensive Types:** It might even write types more "completely" than an average dev might write on their own, or might have the skill to write.

However, the responsibility lies with the developer to ensure that the code output is guarded and well-monitored. Someone who doesn’t care would have done a shoddy job at any point in history. The presence of LLMs doesn’t change that.

### 😎 The art of actually giving a f*ck

There's a lot of devs out there who don't care.
But you’re no such dev. **You DO care.**
Else you wouldn’t be here on dev.to learning from people’s experiences.

I recently wrote about what new devs should care about to grow in their career. It’s a LOT MORE than just code.

{% embed https://dev.to/middleware/going-from-sde1-to-sde2-and-beyond-what-it-actually-takes-1cld %}

**Maybe I’ll introduce some AI in my VSCode.**
I think it’s a matter of when, instead of **if**.

What’s more important is… as long as I care about making sure my programming output is **readable, performant, high quality, and easily reviewable**, I think I’ll be fine, and so will you.

---

### 👇 P.S.
If you want an example of something I care deeply about, and has both great code 💪 and… less than excellent code 🤣, take a look at our **open-source** repo!

It’s something that lets you spot how long it takes for you to deliver your code, how many times PRs get stuck in a review loop, and just generally how great your team ships code.

{% embed https://github.com/middlewarehq/middleware %}