In my day-to-day hobby programming, I’m starting t...
# present-company
In my day-to-day hobby programming, I’m starting to see more folks using copilot. I think I’m seeing some at work, but, officially, we’re not supposed to be using it. In ya’ll’s experience, is copilot something folks are paying for themselves, or are jobs starting to provide it? Not looking for judgement of the tool, but am curious at how folks who use it are accessing it.
I participated in a pilot at my job. After a month we decided it was meh. I haven't missed it since. I think OpenAI's offerings are better so far (though also hit or miss if we set aside our incredulity at the hits and actually try to use it for real work) but we haven't tried a pilot of it yet.
Some times copilot is amazing. Saves me a ton of typing. I often find myself having a decent intuition when it will just complete what I'm writing and just wait for it to do so. Also saves me writing some auxiliary function that would have just been tedious. Other times it is annoying and gets in the way. Overall I think it is worth it and worth the money. But mostly because I like being lazy, not because it is crazy revolutionary
I use copilot in my day job (I do freelance frontend dev using react, currently for a semi-government organization in NL) and my 2 co-workers use it as well and I see a big increase in our velocity. We need to have 82% test coverage in which copilot really helps a lot. However, in my personal project that I post about here, Copilot helps a lot less and feels more like a supercharged type assistant, still very helpful though. I pay for it myself and I think it's worth it. I didn't ask permission to use it for my day job, luckily we can work on our local personal machines. In the settings of copilot I disabled sharing my code snippets.
I have free student access to it, although I don’t think it’s a good tool for students to use. Whether I pay for it afterwards will depend entirely on what language I’m using day-to-day.
it sometimes gets in the way when i know what i want to write. blocks the normal autocomplete or thrashes around in a distracting way trying to keep up. writing comments really helps with directing its energy in the right direction.
I hate to say it, but it's completely changed how I code. It's a massive help. I get it for free because I have enough open-source stars on github or something, but I'd pay for it if I lost that. I can understand why you'd want to avoid it based on principle reasons though. Everyone at my work uses it. If someone stopped using it, everyone else would think "why are you making coding harder for yourself." I know @Eli Mellen said they're not looking for judgement of the tool, but to add to what others have said: I'm very forgetful when it comes to remembering APIs, even my own ones. So it's like autocomplete on steroids. It used to compete with autocomplete, but I've heavily tweaked the settings so that it doesn't. You can fully customise how and when it appears. I do so much copilot prompting within my editor. "This function downloads an object as a json file". Previously I would look it up on stack overflow. It's best at writing tests. It made test-writing a lot more fun for me too! In my personal projects, I've started to keep my code in fewer, bigger files because Copilot seems to behave better when you do that. In my personal projects, it works really well. It does worse for my job's projects. It tries to use APIs from older versions of tldraw. It must have loads of tldraw version 1 projects in its training data, and it uses that instead of the new version 2 APIs in the repo I'm working in. I've got very good at learning the v1 to v2 equivalents
copilot is SO good and its getting better rapidly. I work on unison ( and since we are both a brand new language and one that specifically doesn't get checked into github (we don't store out source code in text files). Copilot hasn't seen very much unison code before. it used to be that copilot would do okay if you were doing stuff that is weird in unison, like working at the bottom of a file with lots of unison code above you. it would still just think it was supposed to be emitting Haskell. But in the last couple of months or so it has gotten WAY better at unison code. You no longer need lots of surrounding code, it doesn't have to be specifically above the cursor, but more importantly, copilot has just plain gotten a lot smarter in the last few months, and has somehow (not from github checkins) learned unison in the last few months.
can't imagine turning copilot off!
its also much better than I am at generating documentation. I sometimes write the documentation in order to have copilot write the function I want, then I delete the documentation I wrote and have it write much better documentation
it is WAY better than I am about knowing all the little corners of things like SQL, and when I tell it about complicated queries I want, it does things I didn't know were possible
I also use chatGPT constantly, and It has replaced duckduckgo for many things I would search for, just because its not only going to get me the answer, but fix my code in the process...
for me, I don't know of anyone at my company NOT using these tools which are very encouraged and the company is happy to pay for them
its also way more patient about coming up with a zillion good test cases when writing unit tests that I don't have the patience to generate