I think there are two great use-cases for generative AI in blue-collar typing-for-a-living coding:  1. **Fancy Auto-Complete**. At the end of the day coding is a lot of typing. I've written a lot of features over the years, most over and over again. I'm not going to gain anything from typing out a button component for the 999th time. Or, if I need to reformat or reorganize a large object, it's very helpful to have LLMs do things like "put all these variables in camel case" or "convert this object to a nested array". Pure typing tasks are I think dead winners for leaning on AI. 2. **Things you don't know how to do.** I also do this, and people have done this forever. Before CGPT, we mostly used Stack Overflow for this stuff, and my rule of thumb back then was [[How to Become Easily Replaceable|"don't copy paste answers from SO"]]. Retyping it so that you _understand_ what it's doing is still in my opinion the best solution here, even in the age of LLMs. Use it as a learning opportunity so that you can do it yourself next time. It'll give you the answer, just make sure you understand _why_ it's the answer. I read something somewhere[^1] about following tutorials that I thought was valuable: the person who _makes_ the tutorial goes through the trial-and-error of solving the problem, figuring out the things that work and don't work. This person has a comprehensive view of the subject, both sides of the coin. They clear the path for you, and then you follow it. You learn nothing about how to solve the problems you'll encounter, only how to get lucky and do all the right steps in one shot. The valuable part of learning anything is figuring out all the stuff that doesn't work, and why it doesn't work. This is the great part about _actually reading error messages_ — they explain what's wrong, and you learn more about the system you're working with. I think this applies to working with LLMs. If you rely heavily on LLMs to do stuff, you only learn the straight-and-narrow nothing-went-wrong stuff, and you won't be able to reason more broadly about a system when you're out of luck. Most applicably, if you find yourself in an interview where you need to code on a whiteboard or in front of interviewers, you won't have access to AI. The job market is already tough for programmers, and as LLMs become better at coding, it's only going to be harder to make a case for hiring new engineers who are as good as an LLM but also need benefits. **Don't make yourself an engineer that can be easily replaced with AI.** [^1]: I wish I remembered. Please tell me if you do.