I'd consider myself a very experienced (~30 years), but mediocre dev, and this AI thing has completely transformed my capabilities as a software developer. People compare AI to a "smart junior" or something like it. To me, it's more the mentor I never had. When I have AI review code that I wrote, I will point out things I would either have never thought of, or would have taken me weeks or months of going back and forth to figure out. There are lots of things in software development that I hate doing, such as CSS/HTML, AI is now filling the gap that used to be an obstacle for me. With AI this now has become fun as it feels like I am not alone working on this thing. What it produces, I can understand and I review its work as well as vica-verca. I mostly use it in assistant mode. I do not have an army of agents running (yet).
I agree with this, but I’m also curious: what would have to change before that advice is as sound as “write a little bit of assembly by hand” or the even more ridiculous “just write the raw bytes for the program in a hex editor?”
Even with LLMs, we need a way to translate between the imprecise plain English description of a program and the completely-unambiguous level of code. You need the ability to see when the LLM has resolved ambiguities in the wrong direction and steer it back. If you can't speak code, that's going to be a very error-prone process.
When I can look at a prompt and predict what the code it outputs will look like to some high degree of accuracy.
I mostly don’t think that is possible though because there’s too much ambiguity in natural language. So the answer is probably when AI is close enough to AGI that I can treat it like an actual trusted senior engineer that I’m delegating to.
Only use chatting to get answers for various things, often cross referenced with Google results, dedicated forums, and reddit. For programming/software work I use it to try to find problems with my architectural/design decisions, find new libraries, and best practices. I do not use it for code gen, instead I leverage high level deterministic (non ai) tools to do more with less code.
My flow is the AI writes most of the code, I closely review, question and tweak everything that comes out. My commits are about the same size as they were. Don't vibe code or one shot features.
For me, I used it find libraries to solve a problem that I didn't know about. Or to debug confusing error messages when library/language docs are insufficient.
I was made redundant (from a web dev job) a couple of years ago, and have been looking for a new job. But the thought of coding with an LLM gives me the heebie jeebies. The very idea makes my skin crawl. I think I need to find a new industry. I don't yet know what.
I don't think it's wise to use it for anything. Even when chatting with an LLM you would have to check everything yourself which nobody would truly do. The generated code can't be really trusted (and nobody will review everything, quite the opposite). It can also have copyright issues.
People are allergic to articles and documentation generated/processed by LLM.
You're switching from an active role to a passive one, meaning your skill will suffer over the time. There is a huge difference between doing the things and thinking you know what it's doing. It's harder to review bad generated code because how polished it looks, compared to code made by humans where the difference is much more obvious.
Code assistants seem to work great when dealing with boilerplate, but wouldn't be better to get rid of the need for the boilerplate in the first place?
I'd consider myself a very experienced (~30 years), but mediocre dev, and this AI thing has completely transformed my capabilities as a software developer. People compare AI to a "smart junior" or something like it. To me, it's more the mentor I never had. When I have AI review code that I wrote, I will point out things I would either have never thought of, or would have taken me weeks or months of going back and forth to figure out. There are lots of things in software development that I hate doing, such as CSS/HTML, AI is now filling the gap that used to be an obstacle for me. With AI this now has become fun as it feels like I am not alone working on this thing. What it produces, I can understand and I review its work as well as vica-verca. I mostly use it in assistant mode. I do not have an army of agents running (yet).
Yes, just also be sure to spend some time writing "by hand".
I agree with this, but I’m also curious: what would have to change before that advice is as sound as “write a little bit of assembly by hand” or the even more ridiculous “just write the raw bytes for the program in a hex editor?”
Even with LLMs, we need a way to translate between the imprecise plain English description of a program and the completely-unambiguous level of code. You need the ability to see when the LLM has resolved ambiguities in the wrong direction and steer it back. If you can't speak code, that's going to be a very error-prone process.
When I can look at a prompt and predict what the code it outputs will look like to some high degree of accuracy.
I mostly don’t think that is possible though because there’s too much ambiguity in natural language. So the answer is probably when AI is close enough to AGI that I can treat it like an actual trusted senior engineer that I’m delegating to.
A compiler is a reliable layer of abstraction using documented structured languages. For me it would need to be that.
Only use chatting to get answers for various things, often cross referenced with Google results, dedicated forums, and reddit. For programming/software work I use it to try to find problems with my architectural/design decisions, find new libraries, and best practices. I do not use it for code gen, instead I leverage high level deterministic (non ai) tools to do more with less code.
It's not going to tell us much because we don't know the standard of code quality that respondents hold themselves to.
True, but easier to see consensus than reading through a thread that is filled with a variety of posts in terms of usefulness.
Yes-- this is what I wanted. I wanted to get an idea of where most people fall.
My flow is the AI writes most of the code, I closely review, question and tweak everything that comes out. My commits are about the same size as they were. Don't vibe code or one shot features.
For me, I used it find libraries to solve a problem that I didn't know about. Or to debug confusing error messages when library/language docs are insufficient.
This has to be the first poll I have ever seen on this website
They use to be more common, but polls have low odds of being productive.
I hope this thread/poll sparks productive and effective discussion on the subject.
I was made redundant (from a web dev job) a couple of years ago, and have been looking for a new job. But the thought of coding with an LLM gives me the heebie jeebies. The very idea makes my skin crawl. I think I need to find a new industry. I don't yet know what.
Are you asking what I do or are you asking for advice on what you should do?
Sounds like neither. More like throw a dice and press the up button.
Yes
There is a category missing between "as much as you can" and "chatting".
Yes, as a better autocomplete.
[dead]
I don't think it's wise to use it for anything. Even when chatting with an LLM you would have to check everything yourself which nobody would truly do. The generated code can't be really trusted (and nobody will review everything, quite the opposite). It can also have copyright issues.
People are allergic to articles and documentation generated/processed by LLM.
You're switching from an active role to a passive one, meaning your skill will suffer over the time. There is a huge difference between doing the things and thinking you know what it's doing. It's harder to review bad generated code because how polished it looks, compared to code made by humans where the difference is much more obvious.
Code assistants seem to work great when dealing with boilerplate, but wouldn't be better to get rid of the need for the boilerplate in the first place?