AI coding is the best thing to ever happen for software engineers. The glorious code people are creating with 'vibe' coding are already ending up in the unmaintainable chaos you would expect, and companies are desperately paying outrageous fees for engineers to fix them. So please keep generating AI frankensteins, my bank account is grateful.
An open question for me is if we will be able to fix the boat loads of unmaintainable code that you are prediction without AI.
At this moment, and afaics for the foreseeable future, AI coding agents will be force multipliers for software engineers who are already good. That said, years ago you needed to be half a car mechanic in order to drive a car and now you need to steer it vaguely in the right direction and the rest goes by itself. I do not hold it for impossible that AI systems will get there too.
I don't know. The work I have done so far in fixing AI code include often scraping and rewriting entire modules, discarding tons of code that can be replaced with just a few lines, etc. Yes, you can use AI to fix those, but I usually do it in very directed way like gaining faster insight in some parts, it saves time to get the general idea of a function for instance. I use it for boilerplate sometimes also, but I am still writing the code, the AI is just a way to do things faster. Software engineering is often 95% thinking and modelling, 5% writing actual code. Yes, you can gain time in those 5% with AI but it is not much. I find that writing test cases using AI to be much less tedious, it is true.
But the cases I referred to in my first comment are completely different, of course. These are people telling AI to create the solution, then create the code, and possibly deploy it also (?). Then they might ask it to add/change things, but it is usually done in high level conversational language. For toy cases this is usually harmless, but you see where this is getting. People are doing this extensively in existing codebases, creating unmaintainable things for companies. Do we want to use AI to 'fix' these? ie. creating an even worse incomprehensible chaos? AI can help an engineer in fixing it yes, but only if the engineer knows what he is doing. There are other issues also, I know of people who think they are more productive using AI, but in the end they realized they spend the same time debugging whatever the AI created as they would if they wrote the code themselves.
Yes, I understand it is still very early, and things might become much more functional in the future. I have done extensive experimentation using AI for actual validation and auditing of code/solutions. It is promising if you guide it well, but currently it needs to be watched very carefully.
> The power of AI is that it is a force multiplier
🎯
> the successful people of the future will be the ones that know how to use these tools well
💯
Going agentic also renews some of the creative joy in the SWE endeavor. As of now, one still needs to review every bit they spit out, but that sure beats the erstwhile mind-numbing necessity to type it in on one's own, and not infrequently it teaches me something new.
AI coding is the best thing to ever happen for software engineers. The glorious code people are creating with 'vibe' coding are already ending up in the unmaintainable chaos you would expect, and companies are desperately paying outrageous fees for engineers to fix them. So please keep generating AI frankensteins, my bank account is grateful.
An open question for me is if we will be able to fix the boat loads of unmaintainable code that you are prediction without AI.
At this moment, and afaics for the foreseeable future, AI coding agents will be force multipliers for software engineers who are already good. That said, years ago you needed to be half a car mechanic in order to drive a car and now you need to steer it vaguely in the right direction and the rest goes by itself. I do not hold it for impossible that AI systems will get there too.
I don't know. The work I have done so far in fixing AI code include often scraping and rewriting entire modules, discarding tons of code that can be replaced with just a few lines, etc. Yes, you can use AI to fix those, but I usually do it in very directed way like gaining faster insight in some parts, it saves time to get the general idea of a function for instance. I use it for boilerplate sometimes also, but I am still writing the code, the AI is just a way to do things faster. Software engineering is often 95% thinking and modelling, 5% writing actual code. Yes, you can gain time in those 5% with AI but it is not much. I find that writing test cases using AI to be much less tedious, it is true.
But the cases I referred to in my first comment are completely different, of course. These are people telling AI to create the solution, then create the code, and possibly deploy it also (?). Then they might ask it to add/change things, but it is usually done in high level conversational language. For toy cases this is usually harmless, but you see where this is getting. People are doing this extensively in existing codebases, creating unmaintainable things for companies. Do we want to use AI to 'fix' these? ie. creating an even worse incomprehensible chaos? AI can help an engineer in fixing it yes, but only if the engineer knows what he is doing. There are other issues also, I know of people who think they are more productive using AI, but in the end they realized they spend the same time debugging whatever the AI created as they would if they wrote the code themselves.
Yes, I understand it is still very early, and things might become much more functional in the future. I have done extensive experimentation using AI for actual validation and auditing of code/solutions. It is promising if you guide it well, but currently it needs to be watched very carefully.
> The power of AI is that it is a force multiplier
🎯
> the successful people of the future will be the ones that know how to use these tools well
💯
Going agentic also renews some of the creative joy in the SWE endeavor. As of now, one still needs to review every bit they spit out, but that sure beats the erstwhile mind-numbing necessity to type it in on one's own, and not infrequently it teaches me something new.
DWIM machines FTW.