Someone told me really early on to disable auto complete and bind the copilot suggest to a key command, it helps a lot with only using it when really needed.
copilot in generic tasks that are present in its dataset - bing bong boom done, anything that requires >2% imagination - i halluce
I've always turned off the auto complete prompts. What really gives me value is Copilot chat. 90% of the time I use it to understand what the legacy code actually tries to accomplish and it does a decent job in most languages. The other 10% of the time I'm asking questions about how to structure a project in a language that I'm not particularly familiar with, or asking it to generate boilerplate code, where it does a decent enough job.
it's just a fancy autocomplete often it would give a completely wrong answer but you'd still have to spend time reviewing the code only to find out it was incorrect
To me copilot is a solution to a problem I've never had. Typing is not the bottleneck in programming. If I find myself pressing way too many keys on the keyboard I use shorter names. I don't write a lot of boilerplate, I use existing libraries for very common tasks and if they don't exist I write my own flexible library and then never have to do that again. And if that doesn't work then there's code snippets. I comment as I go (try writing your prompts as comments instead?) Autocomplete exists and is great and very intelligent. It could already do the creating loops stuff before LLMs and is free. When I don't know how to do something there are tools to make documentation available in the IDE. After asking various chatbots questions about technical things, I no longer trust their answers enough for them to be more useful than stackoverflow. They don't know anything about new technologies. Why would I ever pay for this? And I'd be paying them for the privilege of letting them use my IP to train their model. Plus MS is losing money on it, it's only going to get more expensive.
My sentiments exactly. I hate having to tweak the code that it produces that I find I may have well just have written the damn thing myself to begin with. It's good for getting up to spead with frameworks and using it as a source of quickly finding documentation tho.
Copilot makes me think of calculators vs mental arithmetic. It's easy to reach for a calculator but if you reach for it too much, you start to use it for stuff you could do just as fast or faster in your head. It feels like it could be a good resource if you can moderate how/when you use it
I remember when I turned off the autocomplete and suggestions on my phone's keyboard. I was suddenly a bumbling fool making tons of mistakes. I stuck with it though, and I'm glad I did. I have no technical reasons for why I stopped, I just felt like I should be in complete control of my thought patterns, and that receiving suggestions would likely influence where my thoughts went so I wouldn't have to type so much.
Part of working through "silly issues" as a junior engineer is learning how to dig into code, understand the nuts and bolts, and build a good solution, a skill you will 100% need later on in your career. Without that experience it becomes much harder to describe your problem to other engineers, search the internet for answers, and most importantly and obviously work through problems when neither of those courses of action return results.
Exactly my thoughts, specifically when it comes to losing the ability to solve problems because you more and more rely on such tools. Also, I hated it when I wanted to think about what to write next just to see copilot already suggesting „something“… can’t count how many times I immediately pressed the escape key to make sure I am in charge of solving the next piece of the puzzle 😊
In my humble opinion, using AI tools for generating new code is not the right way to use AI tools. I'm not expecting to give such tool a complex problem and wait for it to spew a perfectly working solution, the fact that a lot of people use AI that way just sounds so unrealistic to me. In my personal experience Copilot and Codeium are extremely good at generating code that otherwise is a chore. Boilerplate code, unit testing, documentation, repo sensitive code completion and tasks with already defined processes are some of the cases where such tools have had real impact in my productivity.
I'm an old fella.. I've seen many fads come and go. although AI have some value, right now it's over hyped and overused. and when it comes to software, I like minimal fast setups that help me DO THE JOB. I'm amazed by how some devs are willing to avoid actual learning and work using overkill solutions for the simplest of tasks. I knew from day one that AI is not for me but I think it can be very helpful in many situations.
i have had quite a similar experience especially the frustration of not having copilot afterwards (despite doing just fine before ai really took over) i do miss it when writing tedious bits of code but i much rather keeping and enhancing my skills over saving time
Removing copilot was the best decision I've made when I was starting out to take programming as a hobby. It's filling out deep and hollow gaps leading to more confusion. It's rewarding not relying on it and do the coding by self instead. Doing it my self gave more context on how to approach something.
I've never actually tried copilot for basically all the reasons you've outlined here. I write code (mainly) for fun. I don't have any paid jobs that involve programming (only volunteer work) so when I write I want to have fun. For me that is deeply linked with learning and problem solving which are exactly the things copilot tries to "make efficient" but like you say that feels like it ends up being copilot writing and me reviewing and that's not what I'm after. Then there's boilerplate which certainly is neither about problem solving or learning so copilot could shine very brightly for me here. But the closed source, sends snippets to microsoft nature of the beast really puts me off using it for that alone. Especially when things like templates and snippets exist. Boilerplate is not that bad not to the point i want to give up my privacy even more than I'm already forced to.
as others have expressed, I like it for writing things with awkward syntax, most commonly flattening a 2D ArrayList in java. anything else and I typically type it faster than I'm able to get a result and process that it gave (or anything big enough that it can beat me - I wouldn't trust enough to take anyway)
I need the new neovim setup please
Same for me, I love coding and I don’t want a tool to do it for me. Yeah, there are some tasks that are tedious but I find it more fun to come up with some macro recording or meta programming thing. Obviously that’s slower and hard to do when you have a deadline, but on my personal projects I really enjoy that creative aspect of finding ways to make the tedious/boilerplate stuff more interesting and an opportunity to learn something new. It’s like being a painter, you have an idea then AI or a robot painting it for you. That would really suck the fun of it.
As with all your other videos, very clearly explained. I often find myself in the loop of accepting copilot’s suggestions and re-writing what doesn’t work for me. I wonder if I’d be better off writing my stuff from scratch but in my particular case, I feel like I benefit from “one man’s pair programming”. Where copilot is the first one to ride, and then I go and work on that idea.
@dreamsofcode