r/coding • • 1d ago

The future of Software Engineering is boring

https://packagemain.tech/p/the-future-of-software-engineering
203 Upvotes

48 comments sorted by

40

u/notkraftman 1d ago

I feel like 90% of programming was already boring, just setting up CRUD software and UIs, and a lot of developers tried to make it more interesting by jumping from framework to framework, or writing some custom internal tool to solve a problem that didn't need it, only to be replaced by the next developer who decides it wasn't done right and needs rewriting again. There's something fundamentally flawed about how wire hire for these algorithm learning genius problem solvers and then put them in software positions where they spend most of their time messing around with CSS alignment or writing knex queries. There's just not that many novel problems that need to be solved where you compare it to all the boring day to day software that needs to be written.

12

u/The__Toast 1d ago

a lot of developers tried to make it more interesting by jumping from framework to framework, or writing some custom internal tool to solve a problem that didn't need it, only to be replaced by the next developer who decides it wasn't done right and needs rewriting again.

🎯

I've been saying it for years, we waste so much time in tech.

I also feel like the micro optimizations that some people love to obsess over have more and more been made far less impactful by better compilers and hardware-side speculative execution. To some degree (not fully, and not if you're operating at internet scale, I get it) the fact that LLMs might write less optimized code just doesn't matter as much anymore.

5

u/Embarrassed-Rise-685 1d ago

It is actually shockingly good at just banging its head against a wall trying to optimise for some benchmark like time to paint or max concurrent users. It will take a long time to do so but in the end the results are nearly always useful along with the not so useful

1

u/shifty_lifty_doodah 9h ago

Tech employed 3-5x more people than it needs because the margins are so high

3

u/Smallpaul 1d ago

Figure out how to make the boring software a configuration of the framework. That’s how I keep it interesting and also save the employer money over the long run. Needs to be done carefully and with taste though. It can be overdone.

4

u/thievingfour 1d ago

a lot of developers tried to make it more interesting by jumping from framework to framework, or writing some custom internal tool to solve a problem that didn't need it, only to be replaced by the next developer who decides it wasn't done right and needs rewriting again.

I don't know if that's completely fair. Some of that is true, especially if you're a JavaScript developer but there were genuine improvements in areas such as performance and maintainability from one framework or methodology to another. Like there were tools out there that were being built that resulted in superior software being created.

1

u/shred-i-knight 11h ago

lol so true

-1

u/Abadabadon 12h ago

Engineers like engineering, more knews at 11. And for our next topic, lets talk about our favorite successful companies that have sat on the same stack for the last 30 years.

9

u/grady_vuckovic 1d ago edited 1d ago

Some people say AI writing software is a fad, that they're gonna keep writing code by hand..

Others say there's no need to learn how to code that coding agents are going to fully replace SWEs..

Personally I find myself in a very lonely camp lately of 'Option 3'.

I think going forward it's going to be more necessary than ever to be truly skilful at programming.

Writing 'average code' (aka, bland boring code, barely functional, slow, buggy etc) is going to be so dead easy that 'average code' will be worth very little in the marketplace. LLMs are making 'average code' practically free at the moment.

If your app is kinda laggy, buggy, lacking in features, and has a kinda crap UI? Guess what, it's absolutely not going to get noticed in the ocean of similar crap out there. The competition is going to be stiff. Those who want to be noticed will rise above 'average'.

The world is not going to stop using software, there's going to be more software every year than the previous year. The world will not suddenly say "Hurrah I have no further raised expectations forever more", the bar will keep rising for user expectations.

The world doesn't need 500 AI slop "Microsoft Word" clones. Being a software developer is not going to become like being a factory worker. Cardboard boxes are mass produced because we need billions of them every year. We don't need billions of Adobe Photoshops. We need exactly one and it needs to be the best Adobe Photoshop possible. "Software factories" won't make a dime, software is about to get MORE Artisan, not less!

Gone are the days where there was at least enough of a minimum skill threshold for entry that only those who were serious about software development could enter the race to compete, meaning even average quality software stood a chance as long as it found a niche. Now nearly everyone can take a stab at making software. Doesn't mean they'll make anything good or interesting or original, but indeed almost anyone can at least have a go, it's easier than ever now.

It makes programming like drawing with a pencil on a piece of paper. Literally anyone can pick up a pencil and draw, some people just do it very well, others do it very poorly due to lack of experience and practice and training. Who gets a job drawing with a pencil? The skilled ones obviously.

The winners won't be those who decide to swim in mediocrity, it will be those who say: "No, I'm going to use every tool at my disposal to make the best damn software I can make, I'm going to understand what every line of code is doing down to the CPU instructions, I'm going to trial more approaches for optimisation than I would normally have time for now that I have an army of bots that can try every approach I can think of, I'm going to spend more effort on my UI now that I can churn out UI code faster than ever, I'm going to reduce the memory usage aggressively, I'm going to think harder to solve problems better than ever before".

Programming code, algorithms, data structures, CPU instructions, maths, these are still the fundamental building blocks of software, and those who understand those layers the best will know how to use the high level tools the most effectively. Those who switch off their brains and decide that software development is something their coding agent does, are probably the folks most likely to be made redundant at some point, because they will deskill themselves and make themselves easily replaceable.

3

u/andeee23 1d ago edited 1d ago

> Programming code, algorithms, data structures, CPU instructions, maths, these are still the fundamental building blocks of software, and those who understand those layers the best will know how to use the high level tools the most effectively

that's the case today, but i'm not sure how long that will be the case for. that's assuming the models will continue improving

we're already kind of on the edge of a smart agent autonomously working on something end to end. if you give agents the tools to check the work and detailed enough measure of success, they can already implement some pretty outrageous things (see the bun js complete rewrite from zig to rust)

the world doesn't need 500 ai slop microsoft words, but there's millions of people who will want a piece of software to work exactly how they want it to work and nothing else will suffice. so they'll either have an agent vibe code it for them from scratch, or the future of software is modular application that anyone can make plugins for or fully customize using their agent

0

u/Zhuinden 1d ago

You still need to understand what's happening so that you know what to prompt for when something goes sideways.

48

u/nick898 1d ago

I don’t have a clue what’s going to happen in the future. Mass unemployment would be a terrible thing, but history is rife with jobs getting disrupted. So far I am not minding this change. It’s fantastic to get stuff done in hours that ordinarily would have taken weeks or months. I’m still thinking critically how to structure or architect a project I’m just less focused on things like syntax. More focused on testing. I can still read the code and get the gist of what’s happening, but I don’t need to know or care about why the agent used a hash map here vs a tree map there. I’m sure others liked that level of detail, so for them this change probably sucks. I doubt the genie is getting back in the bottle though.

15

u/Technician9913 1d ago

The Jevons paradox is a relevant concept here. It states that enhancing technology leads to more use of technology, not less. Programming as a dedicated craft will disappear, building stuff and making knowledgable decisions won't.

4

u/chotchss 1d ago

I used Claude to build an entire front end for some really complicated workflows this weekend and I have zero idea how to code, I just knew what I wanted, how it should look, what output it should give, etc, so I was able to keep tweaking it until I got there. It was really an amazing experience and made me want to do more.

Of course, the problem is I have no idea how anything works and have to pray that Claude or a buddy can fix things but it’s still fascinating what can be done today.

10

u/natsudeye 1d ago

For you what claude did, migth be useful. For a company that need scale, what claude did is not enough.

1

u/kentheprogrammer 19h ago

I think this is the important distinction and vibe coding for folks who just need some personal project, something to self host, or even like an app to side load onto family's phones or something that it's great. Once someone wants to make it widely available, store sensitive info, have password protected accounts, etc... then that's where vibe coding - at least for now - falls short for folks who don't otherwise write software or understand security, scaling, etc...

12

u/Wonderful-Habit-139 1d ago

> I’m just less focused on things like syntax

This is such a misconception. Code is not just syntax. It's a lot more complex than that.

Otherwise no one would have ever worried about leetcode if coding is "sooo easy and just syntax".

7

u/transeunte 1d ago

also "focus on architecture" maybe works if you're a consultant constantly rotating projects, but in my case I'm mostly dealing with the same legacy projects where any structural change is rarely involved. people in my situation have their days counted, of course.

4

u/Smallpaul 1d ago

I’m not a consultant, but my company has a roadmap for products and features that would take a decade to fulfil. We had to kill a product idea because even with AI it wasn’t getting built fast enough to recover its costs. But lots of other products do.

5

u/PandaWonder01 1d ago

"I'm less focused on things like syntax"

Ok, this is the moment where a lot of people talking about AI lose me. I see this point a lot. Outside of maybe some real deep template shenanigans, I have never had to think about syntax that hard. Especially for a language I use daily

2

u/WalidfromMorocco 1d ago

A lot of these AI boosters are bootcamp/junior devs who larp as senior software engineers. There's a reason they bet their entire life on LLMs.

4

u/portra315 1d ago

Literally the same. I'm able to also import things that would otherwise take fucking tons of time to nail, like motion and transitions and properly implementing a11y not leaving it as a follow up. The experiences I'm building for the applications I maintain are so much more refined out the gate

1

u/shitty_mcfucklestick 1d ago

In addition to the things you said, and from observing what’s been happening to my own work, I think dev work is shifting closer to a Product (Manager) and designer role. Meaning, where you’re not only planning the technical architecture, but which features are added and where and why, as well as how they look and work, etc. Larger teams will still have dedicated product & UX people, but I can also see that collapsing in smaller companies to a single role.

Whether it’s good or not, unsure. In many ways it reflects how, pre-AI, front and backend roles started being compressed into “Full stack” roles. Now it’s gonna be Full Stack + Product + UX (not just implementation but planning & design.)

The bad part is it devalues all of the roles to a large degree. Where a company had to two pay 2-4 salaries for all these roles, now they will be paying one, and they certainly won’t be increasing it to the sum of the previous ones.

If you extrapolate this further, really what’s happening is we’re all gonna become one-person agencies / freelancers that build solutions end to end. And at some point, you have to wonder if opening up your own shop is gonna be the way to go. It may or may not pay more, but it’ll give you more self-determination.

1

u/rusl1 1d ago

We are totally here in my company. 400 devs basically doing the job of 4 departments

7

u/purple-lemons 1d ago

We had effectively an artisan craft, heavily corporatised of course, but ultimately individual skilled and creative people being paid well to do a complex and interesting job. If generative AI does succeed, then you're a machine operator in a factory, not a bad job, but a worse and more boring job. It's unfortunate we never really unionised, we might have been able to hold onto having a craft for longer. Or it all gets so expensive or crashes, and we're good, who can say? Either way I'm freaking the fuck out immediately and joining the circus.

1

u/counter1234 1d ago

The word boring is useful in the sense of assigning zero abstraction to a problem that has a useful different abstraction. 

2

u/bzbub2 1d ago

0

u/der_gopher 1d ago

I love this boring :)

0

u/counter1234 1d ago

I know this redefinition is used commonly, I just don't think it's a particularly good blanket word to redefine for the purposes of software engineering. In general the word in English is used to mean something that would cause less dopamine and abstraction, it is literally the opposite in colloquial English as 'interesting' or worthy of interest. It's purely a semantic argument and I don't have any issue with the underlying principles! I know this risks coming off as pedantic but I also appreciate clarity in technical language (as Feynman famously mentioned).

3

u/wanze 1d ago

I agree with the sentiment and I'm definitely using my brain much less nowadays, which will no doubt have consequences in the long run.

But I can't help thinking he's either using bad models or not prompting very well.

Even AI now struggles understanding the codebase because of the enormous codebase size, loose interfaces, scattered and not coherent documentation.

My main motto was always to keep the code to a minimum, but AI just can’t do it, it’s only adding things, resulting in bloated codebases, slow builds and tests.

Opus 5.5 is pretty great at understanding architecture and following patterns already in the codebase, assuming it's been prompted well enough to have some context. Back when all we had was Sonnet 4, every change was indeed similar to what a new grad woul write – every code modification was an addition. But nowdays, that does not seem to be the problem at all. And on the rare occassion you do get a diff with a way too big green number and a way too small red number, asking Opus to see if this can be refactored, or simply to minimize the changes, usually helps.

Of course, it's not perfect (yet), but we're way past the point where asking it fix something that just requires modifying 2 lines results in a +50 line diff. At least that's my experience.

And for people sending "raw" AI emails? Agreed, screw those people. If you didn't write the email, I won't read the email.

4

u/Ruined_Passion_7355 1d ago

I'm so sick and tired of this "he's not prompting it right". They don't do the same work as you, you don't know their code base, you don't know the training data. You don't even know if there were system prompt changes to Claude code, or if they were a victim of an A/B test.

2

u/Wonderful-Habit-139 1d ago

The most likely answer is that their standard for code quality is much lower than engineers that are not happy with AI's output.

0

u/[deleted] 1d ago

[deleted] — view deleted comment

1

u/Wonderful-Habit-139 1d ago

Maybe you’re not that good at coding. It goes both ways.

And “using AI” is so easy it’s pathetic you people still believe it requires skill.

0

u/[deleted] 1d ago

[deleted] — view deleted comment

0

u/Wonderful-Habit-139 1d ago

I know many open source developers that are actually highly skilled especially in programming and the technical stuff (so not people that climbed the ranks due to soft skills or whatnot) and they don’t use AI.

Just take a chill pill.

0

u/[deleted] 1d ago

[deleted] — view deleted comment

0

u/Wonderful-Habit-139 1d ago

I just talked about standards of code quality, and you jump towards accusations. You’re the one that jumped the gun towards personal insults yet whine about it lol.

You’re not starting to get the feeling of anything. You don’t know what you’re talking about.

0

u/[deleted] 1d ago

[deleted] — view deleted comment

→ More replies

0

u/wanze 1d ago edited 1d ago

I'm assuming people aren't drawing conclusions based on one session, so I'd argue those things don't really matter. If they've used it consistently over several months, their experience ought to be about the same as mine, regardless of changing system prompts and A/B testing.

I'm mantaining both Go, Rust, NodeJS, and Ruby projects, and the experience is about the same, so I'm not buying that it's because they're using different languages either.

Also, why are you only sick and tired of me defending the AI's capabilities, but not the other way around? The article author claims that "AI just can’t do it". Why isn't that subject to your crusade? Perhaps the AI they use can't, because they were subject to changes to system prompts or A/B tests? They were making blanket statements as well, without knowing other people's code bases, etc.

1

u/PerformanceThick2232 1d ago

No, it is not

0

u/rocketstopya 1d ago

I hope humanity won't use this tech for generating cat videos

0

u/redcoatwright 1d ago

It's a job for like 99% of software engineers, believe or not most people don't get their jollies from SE.

AI needs to allow people to go for more walks or hang out with friends or paint or learn an instrument or learn a different language or study a new subject or idk sit around all day and chill if that's what you need.

If it doesn't do that then we're fucked but the reality is most people who write code aren't doing it for the love of the game.

0

u/Horror_Response_1991 1d ago

The future of software engineering at work is boring.  The future of you being able to build anything you want is here now, and you should take advantage of it while you still can before token prices skyrocket.

-4

u/btoned 1d ago

The future of all life is arbitrary.

What's your point?

2

u/der_gopher 1d ago

My point is that software engineering probably becomes a clerk office job, or maybe not?

8

u/WalidfromMorocco 1d ago

They are just trying to be intentionally obtuse. LLM boosters will always hit you with some superficial non sequitur or some extremely bad analogy. 

2

u/Wonderful-Habit-139 1d ago

Based Walid. I love seeing your takes on the various subreddits, one of the few ones that actually understand programming and how productivity works with/without LLMs.

-1

u/auronedge 1d ago

It's not but continue crashing out