Live data from Hacker News

Thoughts on the Future of Software Development

sheshbabu.com

271–280 of 434 posts

Re: Thoughts on the Future of Software Development

#271
Software Engineering as a professional discipline without any specialization (and writing CRUD applications or websites don't count in my opinion) never made sense to me. Software engineers producing web applications are modern day equivalent of production line workers who were mostly replaced by automation. So, AI will likely replace such software engineers.

In contrast, automation and technology did not replace "real" engineers. If anything, it made their job more productive.

All this to say that a generic software engineer with no specialized skills might be replaced by other professionals (engineers, accountants, etc.) who might be able to leverage AI to create production quality software.

Re: Thoughts on the Future of Software Development

#272

Software Engineering as a professional discipline without any specialization (and writing CRUD applications or websites don't count in my opinion) never made sense to me. Software engineers producing web applications are modern day equivalent of production line workers who were mostly replaced by automation. So, AI will likely replace such software engineers. In contrast, automation and technology did not replace "re…

Gonna go ahead and strong disagree. Dismissing a huge portion of engineers as "production line workers" whose work takes no thought or creativity is incredibly reductive and makes me wonder if you've ever tried doing their job.

Web applications are a category of software with just as much variance in their complexity as anything else. Are mobile apps and desktop apps also trivial? What's the difference? And if none of mobile apps, desktop apps, or web apps require "real engineering," then what does? Presumably games are just "repetitious production-line-like usage of a game engine." So what's real? The Linux kernel? Are the only real engineers those writing never-before-seen C code?

This reads to me like a self-serving humblebrag setting yourself aside as a real engineer, not like those other engineers.

Re: Thoughts on the Future of Software Development

#273

I don't really think that thinking of LLMs and related technologies as "Artificial Humans" is the right way to think about how they're going to be integrated into workflows. What is going to happen is that people are going to be adopt these tools to solve particular tasks that are annoying or tedious for developers to do, in a way similar to the way tools like Ansible and Chef replaced the task of logging into ssh se…

It's also paints a narrow picture of how results are described. I suspect that there will be a lot more by example like this, and iteration on the output, except that... where the inputs/outputs are multi-modal.

Everything is going to be close enough, not fully spec'ed out. Full-self-driving is only the beginning of everything.

Re: Thoughts on the Future of Software Development

#274
post #216

Earlier quoted context omitted.

You might be underestimating the potential of an automated evolutionary programming system at discovering novel and surprising ways to do computation—ways that no human would ever invent. Humans may have a better distribution of entropy generation (i.e. life experience as an embodied human being), but compared to the rate at which a computer can iterate, I don't think that advantage will be maintained. (Humans will s…

ASI?

Artificial Super-Intelligence

Re: Thoughts on the Future of Software Development

#275

Earlier quoted context omitted.

I'm not sure that there is an endpoint, only a continuation of the transitions we've always been making. What we've seen as we transitioned to higher and higher level languages (e.g., machine code → macro assembly → C → Java → Python) on unimaginably more powerful machines (and clusters of machines) is that we took on more complex applications and got much more work done faster. The complexity we manage shifts from t…

> But also more of our time thinking about higher level, hard, technical problems (e.g., how do we use math to build a system that dynamically optimizes itself for whatever metric we care about?). It’s likely that a near-future AI system can suggest suitable math and implement it in an algorithm for the problem the user wants solved. An expert who understands it might be able to critique and ask for a better solution…

This kind of optimization is what I did for the last few years of my career, so I might be biased / limited in my thinking about what AI is capable of. But a lot of this area is still being figured out by humans, and there are a lot of tradeoffs between the math/software/business sides that limits what we can do. I'm not sure many business decision makers would give free rein to AI (they don't give it to engineers today). And I don't think we're close to AI ensuring a principled approach to the application of mathematical concepts.

When these optimization systems (I'm referring to mathematical optimization here) are unleashed, they will crush many metrics that are not a part of their objective function and/or constraints. Want to optimize this quarter's revenue and don't have time to put in a constraint around user happiness? Revenue might be awesome this quarter, but gone in a year because the users are gone.

The system I worked on kept our company in business through the pandemic by automatically adapting to frequently changing market conditions. But we had to quickly add constraints (within hours of the first US stay-at-home orders) to prevent gouging our customers. We had gouging prevention in before, but it suddenly changed in both shape and magnitude - increasing prices significantly in certain areas and making them free in others.

AI is trained on the past, but there was no precedent for such a system in a pandemic. Or in this decade's wars, or under new regulations, etc. What we call AI today does not use reason. So it's left to humans to figure out how to adapt in new situations. But if AI is creating a black-box optimization system, the human operators will not know what to do or how to do it. And if the system isn't constructed in a mathematically sound way, it won't even be possible to constrain it without significant negative implications.

Gains from such systems are also heavily resistant to measurement, which we need to do if we want to know if they are breaking our business. This is because such systems typically involve feedback loops that invalidate the assumption of independence between cohorts in A/B tests. That means advanced experiment designs must be found that are often custom for every use case. So, maybe in addition to thinking more like product managers, engineers will need to be thinking more like data scientists.

This is all just in the area where I have some expertise. I imagine there are many other such areas. Some of which we haven't even found yet because we've been stuck doing the drudgery that AI can actually help with. [cue the song Code Monkey]

Re: Thoughts on the Future of Software Development

#276

Earlier quoted context omitted.

Most knifes today are mass produced. But there are still knife craftsman. You could become a software craftsman/artist if you enjoy writing software.

The market is different, and so is the supply. The market for artisanal cutlery is basically an art market. The programmer supply today is an approaching-standardization factory worker. There IS an art market for software, in the indie gaming space, so perhaps that will survive (and AI could actually really help individual creators tremendously). But the work-a-day enterprise developer's days are numbered. The great…

> The great irony being that all the work we've done to standardize, framework-ize the work makes us more fungible and replaceable by AI.

I mean, at some level, this is what frameworks were meant to do: give you a loose outline and do all that messy design stuff for you. In other words: commodify some amount of software design skill. And I’m not saying that’s bad.

Definitely puts a different spin on the people that get mad at you in the comment section when you suggest it’s possible to build something without a framework though!

Re: Thoughts on the Future of Software Development

#277
I'm quite unconvinced. If anyone can get a LLM to fix the geometry kernel bugs in solvespace I'll quit engineering today. From what I've seen, just understanding the intent of the algorithms is infinitely beyond an LLM even if explained by a human. This is not going to change any time soon.

Pull Requests accepted.

Re: Thoughts on the Future of Software Development

#278
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…

I'm the opposite. I enjoy engineering and understanding systems. Manually coding has been a necessary to build systems up until now. AWS similarly was great because it provided a functional abstraction over the details of the data center. On a personal level I feel bad for the people who enjoyed wiring up small data centers or enjoyed writing GitHub comments about which lint rules were the best. But I'm glad those ar…

People still wire up data centres.

Re: Thoughts on the Future of Software Development

#279
post #268
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…

These are exactly my thoughts. I comfort myself by thinking that it is still a while away and also not certain, but this might just be willful ignorance on my side. Because TBH, no clue yet what else I would like to (or even could) do.

Whatever you decide to do next will be automated soon after anyway…career change ? Don’t bother. Jump on the progress train

Re: Thoughts on the Future of Software Development

#280

Earlier quoted context omitted.

Humans can't be copied. It seems like the inability to copy people is one of the pillars of our morality. If I could somehow make a perfect copy of myself, would I think about morality and ethics the same way? Probably not. AGI will theoretically be able to create perfect copies of itself. Will it be immoral for an AGI to clone itself to get some work done, then cause the clone to cease its existence? That's what com…

If humans fundamentally work in the same way as any such hypothetical AGI, then they can be copied in the same way.

If we ever do find a way to copy humans (including their full mental state), I suspect all law and culture will be upended. We'll have to start over from scratch.
Post reply on HN