4 ms·
The AI Situation in Software Development
- DJBunnies 2mo agoIt's kind of like folks wielding gen ai and calling themselves artists. Questionable output, generally shunned by artisans. But possibly good enough for some.
- azan_ 2mo agoArtists are biased when evaluating AI art (same with programmers evaluating AI code).
- DJBunnies 2mo agoI'm not so sure. I think it's fair to say that only people who can output good art / code are qualified to evaluate the output of ai. It's like how product people / C levels have absolutely no understanding of what makes for good code or a good engineering shop (aside from perceived costs.)
- bluefirebrand 2mo ago"Experts are biased when evaluating non-expert output" is what I would expect and think is probably the correct thing to be
- azan_ 2mo agoI was thinking more in line “people whose jobs are threatened by technology are biased when evaluating that technology”. Note that I don’t make quality judgement about quality of LLM output.
- N_Lens 2mo agoThe entire post reads like a tautology.
- rco8786 2mo agoI'm not really sure what point this article is trying to make
- qprofyeh 2mo agoWith previous engineering trends like blockchains and microservices, you could choose not to jump on the bandwagon. However the coding agents trend is different and is changing the very fabric (sry for Claudeism) of software engineering, for better or worse. I do know we will never go back to mainly programming through code again, that’s for sure.
- solomatov 2mo ago>you could choose not to jump on the bandwagon I think it's not an option. The benefits are just too large for me. >I do know we will never go back to mainly programming through code again, that’s for sure. I think, in some niches, i.e. where there's something not well represented in the training set, it still makes sense to write code by hand. But I am not sure that it will continue.
- kreativ_py 2mo agopoor reading comprehension, re-read and try again
- reactordev 2mo agoThere are still companies who refuse to believe this and still put Senior+ devs through hell during an interview process with junior level algorithm memorization. In all aspects there will be dinosaurs and deniers and there will be embracers.
- JSR_FDED 2mo agotl;dr - you still have to think when developing software
- livvy 2mo agoAnd you immediately give up your IP for someone else to use. The 4th option, if you have something in your mind worth building, is to just build the thing, without an LLM.
- comandillos 2mo agoSure if you use remote AI services, but any companies working on niche markets where they want to protect their IP, or they simply work with sensitive stuff, will rely on local AI instead.
- deleted 2mo ago[deleted]
- flyinglizard 2mo agoThere’s no company that has “no sensitive stuff”, from HR to financials to customer data to board presentations to engineering IP and they all, without exception , entrust their data to cloud services for at least a decade now. Even governments do that, although they sometimes use special regions. So I don’t think AI will be much different.
- Foobar8568 2mo agoWhat IP? Everything can be duplicated within a 1week to a month...
- r_lee 2mo ago?? almost every inference operator either has ZDR or an opt out from training unless you think they're just lying and training on business users data
- alertchecker 2mo agoMy personal experience is the larger the task you ask it to do, the less attention it pays to the details - for a very large task it seems more prone to missing test coverage, writing duplicate code, not refactoring where it should etc. So I try to split into smaller tasks where possible (also makes it easier to review).
- newsicanuse 2mo agoC in author's name stands for chu**
- petilon 2mo agoOne aspect AI is weak in is controlling complexity. If you tell it to implement something it will go ahead and implement it, without considering how much complexity it adds to the system or weighing alternatives. An experienced engineer on the other hand may decide the feature is too minor relative to the complexity it adds, and may decide to not do the feature. Or he may make some clever compromises to get most of the functionality while keeping the codebase simple. AI is weak in this judgement, it doesn't spontaneously exercise architectural restraint. As a result the code may progressively become too complex even for AI manage, and it becomes whack-a-mole where you can't make a change without breaking something.
- demibabs 2mo agoYeah but on the other hand, if you asked an LLM to implement a spec and it was like “I skipped this part because I didn’t like the complexity tradeoff” most people would be like “wtf why doesn’t Claude just listen to me”
- petilon 2mo agoRight, and that's why humans are still needed in the loop.
- guilyguily 2mo agoI use openspec in addition with the /grill-me skill and it really helps clearing the path before starting to code. I think the goal of engineering, when using AI, is to maximize your value upfront instead of every five minutes.
- technotony 2mo agoHave you found any solutions to this? It would be a big unlock to give it this kind of judgement
- conception 2mo agoI haven’t used it yet but https://github.com/dietrichgebert/ponytail https://github.com/dietrichgebert/ponytail is somewhat popular.
- usremane 2mo agoCoding with AI has now introduced feature dopamine. At times this results in the system being prone to more failures because AI may have missed edge cases. Also i am experiencing a decline in job satisfaction and i'm more prone to procrastination because I know the agents will do the work 10x faster than me. I am personally worried about this shift and I fear becoming less knowledgeable over time or not feeling the need to keeping up with new tech stack as agents do the work.
- cautiouscat 2mo ago> You can’t just give a 3000-word, 4-page detailed dense spec and expect it to follow everything, and the larger the codebase, the less it can pack everything in, nor are the vast documents you can feed it worthwhile. This point seems lost on a lot of principals. I’ve had very little success with these grandiose designs and change requests from RFCs/specs. The context windows just can’t keep it all together and very quickly the approach unravels. I posit that the further ICs were from writing code at this point in their career, the more they suffer from AI psychosis. It’s the same ivory tower they were already on, just a different order they’re giving.
- madaxe_again 2mo agoIt really depends on how you use it. I’ve switched up how I interact with LLMs repeatedly over the years, as the technology has developed. Now, it’s at the point where it’s like running a development team of very eager amnesiacs. I’ve found the trick is exhaustive documentation by a lead agent, and then having a fresh agent work as a coordinator across as many subtasks as the project sensibly allows. This way the individual components stay on spec, as does the ultimate integration. It’s only really this year that this workflow has started to actually function, and it still needs human supervision - but less and less over time. I give it two years, tops, and everyone everywhere is building bespoke software because it’s trivially easy.
- sagabai 2mo agoAbout "implementing by words bit": I don't believe English is a great language to program. It's not type-safe, not object oriented, not functional. Has poor tools to highlight syntax or navigate through "wordbase", doesn't fail fast. It has no tests and has too large room for machine or other humans to interpret it. Very often it's easier for me to express my thoughts in Java, which is ironically known to be a "wordy" language. But it's nowhere close to wordiness of English.
- agaj-nimm 2mo ago[dead]
- unified101 2mo agoThe proponents response is: Natural language (in any language) is much more accessible - almost 100 times more.
- TheRoque 2mo agoAI coding is not that efficient. 2x increase at best, depending on the usage. Doesn't seem like a lot is gonna change tbh.
- soulofmischief 2mo agoI have agents that have been running nonstop for several days working through tasks. At some point I have to go to sleep, and wake up to more progress. Even with preplanning and post hoc analysis thrown in, I am seeing way more than 2x return on my investment. Where are your numbers coming from?
- Nextgrid 2mo ago> wake up to more progress I wonder how that progress is being measured. Lines of code or counts of PRs? Sure... but I thought the matter of measuring productivity by lines of code was already well-understood as being misguided. I'm having trouble reconciling all that supposed productivity with the real world where software isn't getting better, delivered faster, or becoming cheaper - unlike virtually all breakthroughs in industrialization (printing press, weaving loom, etc) which led to a quick increase in at least one of such factors. I'm not denying that AI helps with and excels at parts of the software development lifecycle, but from my experience those parts overall contribute to a small increase in output or merely shift the work elsewhere (where it may just not be part of whatever measurement is being used).
- soulofmischief 2mo agoI measure adherence to preestablished acceptance criteria, the same as I've done before while either coding myself or managing other engineers. It sucks, but you don't usually have the time to pour over code when you manage multiple engineers either, so you have to learn how to do thorough but targeted reviews, minimize distraction, maximize efficiency, etc. A lot of these skills transfer over to managing agents. We've only had truly decent agents capable of running long-horizon tasks for less than a year, I think it's worth calibrating around that: it's too soon to expect the entire industry to visibly shift. That said, every senior engineer I know has gone all-in on agentic development, and juniors I mentor are getting a lot done as well. With juniors it's important to make them understand that these models can't be blindly trusted and the output needs to constantly be critically evaluated. But engineers who know exactly what they are doing have really been able to make some awesome things this year. I'm also working on a few really cool things, more than before, more ambitious as well, without sacrificing quality or craftsmanship. I can also seem where some trends are headed. The breadth of software available to both harm and help you is going to explode, and computing is going to look a lot different soon. I'm already building targeted health apps for myself, bespoke personal apps and tooling, development tools, I'm working on games, libraries, various kinds of research, you name it. It feels like an intellectual Renaissance, and within a decade I expect things to look a lot different even if models stopped improving today. You do have to work differently with these models. Your code evolves in a different way, and testing habits have to adapt. Clients are going to accept less stable but more ambitious demos. Prototyping and research have suddenly become very cheap. We're going to see the effects of the spread through STEM and the arts.
- liendolucas 2mo agoAnd yes, there is also another sane and rewarding option: write everything just by youserlf without any assistance. Let's not forget about that one, shall we?
- r_lee 2mo agosane as in your boss will let you do that?
- liendolucas 2mo agoAre you being forced to use AI? I'm not. But if the person that is above me forces me to use the latest craze tool to do *my* job then that is no longer a place for me to stay.
- agentultra 2mo agoYou have to be able to write the software yourself in order to judge the results and get good software out. Otherwise the system claims the goals are met, the tests pass, and the human driving the system puts up a new PR. If they don’t know any better it must seem like the AI system is better than them and knows what it’s doing. All the loops and agents don’t protect you from generating garbage. Which sucks because then how are you supposed to improve your skills when you’re just getting the answers all day… answers you can’t verify? People are more confident than they ought to be. Always have been. But AI throws gas on that fire.
- siliconc0w 2mo agoWhat I like to do is to go back and forth on the spec, break it into very detailed tasks and milestones, and then set a /goal to complete the milestone and verify. Each task is verified with 'fresh eyes' or a clear context. That said, I'd really like to see data to compare which approach works the best.
- soundworlds 2mo agoAs a hobby coder, not a professional programmer, I have recently found one of the biggest advantages is being able to very quickly prototype ideas in HTML/CSS/JS and iterate on the UI/UX upfront. This way I get "tangible" feedback and can get a better feel of whether an idea is worth pursuing before investing big time on proper implementation. Just wondering if the professional programmers here are finding the same thing? Or different?