A new Coddy Developer Survey found that four in five developers, 80%, say their use of AI has felt more like a dependence than an advantage.
A new Coddy Developer Survey found that four in five developers, 80%, say their use of AI has felt more like a dependence than an advantage.
So my preferred agent atm is GitHub Copilot as a jetbrains plugin. The other day when GitHub had a 6 hour outage and I couldn’t log in, my first instinct was “guess I can’t work today”. I realized almost immediately how fucking dumb that initial thought was. Like I had forgotten that I’ve been doing this for over 20 years, and around 17 of those with no AI whatsoever.
Was I slower that day? Yes absolutely. Was I incapable? Not at all.
I wouldn’t want to do without it, because on the positive side it has helped me discover libraries and tools I had no idea existed, and it’s made me a better archtitect. But, maybe we should still actually touch the code a little.
I wonder how long that will still be the case? The more of the mental load you pawn off on the chatbot, the less your brain will prioritize retaining it.
It’s like when you spend years only speaking a second language you’re fluent in, it can be hard to switch back to your native tongue when you need to.
I’m curious what tasks are you using GitHub Copilot for? I left the industry before AI got huge so I was never pressured to use the tools.
It can write code decently well and fast, and is amazing at finding stuff in a large project.
But you still 100% need to verify what it does and truly understand it.
This isn’t what I was asking for, I’d like to see something like, “When tasked with X AI did Y” with breakdowns between simple bug fixes to standing up a monolith in a legacy environment.
I mean that you would have to test yourself. To me it seems like AI funnily enough has the same issues as humans, and that’s that it works worse in legacy codebases full of tech debt, and in large monoliths.
But it can still be an invaluable tool.
All agents are pretty much the same. Think of it like pair programming with someone, except that someone doesn’t have feelings and you can micromanage them.
In general, I give it instructions for what I want to accomplish. It has a “plan mode” that basically instructs the LLM to give me an execution plan to approve before actually doing it. We iterate on the implementation plan together and then when I satisfied I let it generate code.
It generated diffs essentially that I can approve or deny directly, in aggregate or by individual chunk.
I can (and do) provide custom instructions that it loads whenever I start a session. Instructions are basically md files, but it can be any text.
It’s a very different way of writing code, but if you ever pair programmed with a knowledgeable junior then that’s kind of what it feels like.
I got a job once at a video processing software company, camera streams etc. The tasks there involved a lot of reverse engineering of under or undocumented things, very slow - I felt like I was getting 2-3 hours of “accomplishment” accomplished on a typical week there, very demoralizing, but they swore that’s how it always is there and I’m actually unusually quick at getting things done… IDK, I got a better offer and was out of there to a more productive job fairly quickly.