Live data from Hacker News

Thoughts on the Future of Software Development

sheshbabu.com

101–110 of 434 posts

Re: Thoughts on the Future of Software Development

#101
post #79

Earlier quoted context omitted.

I would argue future engineers should be worried a bit. We no longer need to hire new developers. I was not trained professionally yet I'm writing production code that's passing code reviews in languages I never used. I will create a prompt, validate it compiles, passes tests, have it explain so I understand it was written as expected and write documentation about the code, write the PR, and I am seen as a competent…

Yeah, it sounds to me your teammates are going to pick up the tab at the end, when subtle errors will be 10x harder to repair, or you are working on toy projects where correctness doesn't really matter.

Agreed. I use LLMs quite extensively and the amount of production code I ship from an LLM is next to zero.

I even wrote a majority of my codebase in Python despite not knowing Python precisely because I would get the best recommendations from LLMs. As a frontend developer, with no experience in backend engineering in the last decade, and no Python experience, building an app where almost every function has gone through an LLM at some point, for almost 8 months — I would be extremely surprised if some of the code it generated landed in production.

Re: Thoughts on the Future of Software Development

#102
post #92
post #79

Earlier quoted context omitted.

Yeah, it sounds to me your teammates are going to pick up the tab at the end, when subtle errors will be 10x harder to repair, or you are working on toy projects where correctness doesn't really matter.

To add to this. I was going through devin's 'pass' diffs from SWE bench. Every one I ended up tracing to actual issues caused changes that would reduce maintainablity or introduced potential side effects. I think it may be useful as a suggestion in a red-green-refactor model, but will end up producing hard to maintain and modify code. Note this one here that introduced circular dependencies, changed a function that o…

Thank you for reading the diffs and reporting on them.

And to be fair, lots of humans are already at least this bad at writing code. And lots of companies are happy with garbage code so long as it addresses an immediate business requirement.

So Devin wouldn't have to advance much to be competitive in certain simple situations where people don't care about anything that happens more than 2 quarters into the future.

I also agree that producing good code which meets real business needs is a hard problem. In fact, any AI which can truly do the work of a good senior software engineer can probably learn to do a lot of other human jobs as well.

Re: Thoughts on the Future of Software Development

#104
post #45

Earlier quoted context omitted.

Those are tools humans use to created output directly to speed up a process. The equivalent argument for AI would be if the typewriter wrote you a novel based on what you asked it to write, and then everyone else's typewriter might create the same/similar novel if it's averaging all of the same human data input. This leads to a cultural inbreeding of sorts since the data that went into it was curated to begin with. T…

Humans also need human data. You might be better than I, but at least for myself, I know that I am just a weighted pattern matcher with a some stochasticity mixed in. I don't think the idea of painstakingly writing out a book, and then having a printing press propagate your book so that all can easily reproduce the idea in their own mind, is so very different. I think this is why the real conversation here is about t…

> Just that it really isn't so different than the printing press.

The part that makes the goals of the AI crowd an entirely different beast from things like the printing press is that the printing press doesn't think for anyone. It just lets people reproduce their own thoughts more widely.

Re: Thoughts on the Future of Software Development

#106
post #83

> In summary, I believe there would still be a market for Software Developers in the foreseeable future, though the nature of work will change This is precisely what I dread. When it comes to software development specifically, the parts that the AI cheerleaders are excited about AI doing are exactly the parts of the job that I find appealing. If I wanted to be a glorified systems integrator, I would have been doing t…

Also if there are fewer humans involved in the code production there is a lot of room for producing code that "works", but is not cohesive or maintainable. Invariably there will be a point at which something is broken and someone will need to wade through the mess to find why it's broken and try to fix it.

Nah, you just throw it out and have the AI generate an all new one with different problems!

Re: Thoughts on the Future of Software Development

#107

I've been using computers since I was about 12...long time ago. What I've come to the conclusion is this: the best programs and the best tools are the ones that are lovingly (and perhaps with a bit of hate too) crafted by their developers. The best software ecosystems are the ones that are developed slowly and with care. AI coding seems all wrong compared to that world. In fact, the only reason why there is a push fo…

Are there other sites that focus more on hacker ethic projects?

Re: Thoughts on the Future of Software Development

#108

It's a good overview, but I think there's one important aspect that's not discussed. We're looking at AI competing with the jobs that programmers do today, but it's likely that these new AI tools will change software itself. I mean, why have a complicated UI with design/validation/etc when you can just tell your phone you want a plane ticket to Paris tomorrow ? I'm just going to guesstimate that at least half of the…

Underrated comment! I agree, it's like the LLM becomes all of the logic, all of the code. I guess that's less computationally efficient though for some simple things.. for now!

Re: Thoughts on the Future of Software Development

#109
post #26

As long as there is no AGI, no software engineer needs to be worried about their job. And when there is, obviously everything in every field will change and this discussion will soon be futile.

I would argue future engineers should be worried a bit. We no longer need to hire new developers. I was not trained professionally yet I'm writing production code that's passing code reviews in languages I never used. I will create a prompt, validate it compiles, passes tests, have it explain so I understand it was written as expected and write documentation about the code, write the PR, and I am seen as a competent…

I have yet to see either copilot or gpt4 generate code that I would come close to accepting in a PR from one of my devs, so I struggle to imagine what kind of domain you are in that the code it generates actually makes it through review.

Re: Thoughts on the Future of Software Development

#110
post #30

", I believe there would still be an underlying formal definition of the business logic generated in the backend" Not just business logic. Technical one too, such as "proove that this critial code can never run into an infinite loop" AI could very well be the revolution needed to bring theorem proover and other formal proof based languages ( coq, idriss, etc) to the mainstream mass of developers.

Only if they can understand the proofs first. However, LLMs aren't capable of writing proofs. They can only regurgitate text that looks like a proof by training on proofs already written. There's no reasoning behind what they produce. So why waste the time of a human to review it? If the provers' kernel and automation make the proof pass but it makes no sense, what use is it? People write proofs to make arguments to…

"However, LLMs aren't capable of writing proofs."

LLMs != AI.

I'm not worried about LLM's impact on my career. In their current form they're nothing more than a trap, who will suck in anyone foolish enough to grow a dependence on them, then destroy them, both personally and corporately. (Note difference between "using them" and "grow a dependence on them".) Code that no human can understand is bad enough, code that no human has ever understood is going to be even worse as it starts piling up. There are many characteristic failures of software programming that LLMs are going to suffer from worse than humans. They're not going to be immune to ever-growing piles of code. They're not going to be immune to exponentially increasing complexity. They'll just ensure that on the day you say "OK, now, please add this new feature to my system" and they fail at it, nobody else will be able to fix it either.

If progress froze, over the next few years the programming community would come to an understanding of the rather large amounts of hidden technical, organizational, and even legal and liability debt that depending on LLMs creates.

But LLMs != AI. I don't guarantee what's going to happen after LLMs. Is it possible to build an AI that can have an actual comprehension of architecture at a symbolic level, and have some realistic chance of being told "Take this code base based on Mac OS and translate it to be a Windows-native program", and even if it has to chew on it for a couple of weeks, succeed? And succeed like a skilled and dedicated human would have, that is, an actual, skillful translation, where the code base is still comprehensible to a human at the end? LLMs are not the end state of AI.

Post reply on HN