Live data from Hacker News

Software Engineering fundamentals matter more

rhonabwy.com

141–150 of 266 posts

Re: Software Engineering fundamentals matter more

#141
post #78

AI generated code is like IKEA furniture. IKEA furniture embodies many elements of good cabinet making but skips many nonessential elements. And does this more consistently than cabinet makers who can be bored, incompetent, depressed, burnt out, resentful, tired, having a bad day. In the future AI code inevitably will embody most good software engineering practices. And will do this more consistently than software en…

What a sad analogy. IKEA furniture is mostly cheap particle board crap and it's a shame that we as a humanity have cheapened our lives to the point where IKEA is some kind of standard (and the only thing) most people can afford. Back in the day furniture was artisanal and hand made yet people were able to afford and have it. Isn't that in fact weird, supposedly our societies are richer than ever before but most peopl…

But..

Most enterprise software written by your colleagues is mostly cheap particle board crap.

At least IKEA furniture is usually reliable and does not fail catastrophicaly unlike the crappy bug ridden enterprise software we all have deal with...Jira, SAP, Salesforce, Oracle, etc...

Mature AI will be better than the average mediocrity that calls himself a software developer.

Re: Software Engineering fundamentals matter more

#143
post #60

The article says what many here like to hear, but in my opinion the core arguments are false. > Making software debuggable, maintainable, layered, and composable – that’s still quite a trick Not really. I have been working on a mobile app for months, and I stopped even glancing at the code about two months ago. 150k LOC, around half of that in tests, and the AI still has no problem maintaining the code on my behalf.…

I tried this recently and the results were total banana cakes. They couldn't even make changes to Pong without breaking it.

If something is bananas, it is silly/crazy. If something is banana cakes, I don't know. Banana pancakes are specifically pancakes and are delicious.

Re: Software Engineering fundamentals matter more

#144
post #70

I have an open question for software engineers out there: As someone that has never studied CS but has written basic code most of my life (accelerated now with AI), where is the best place to learn software engineering fundamentals?

I have a bachelors degree in computer science and engineering. I can tell you that throughout my 15 years of career as a software engineer (mostly backend, in fintec and JVM languages) the only things that helped me from what I learned in university were algorithms, data structure, cryptography and database internals.

Apart from that, everything else I learned when I started working (aws, design principles and coding conventions, system design patterns, domain driven design, etc.) I had to read so many books after university (pre-AI era) to learn all those things. That's what I would suggest. There are great books to learn algorithms, and data structures which is fundamental.

Re: Software Engineering fundamentals matter more

#145

AI generated code is like IKEA furniture. IKEA furniture embodies many elements of good cabinet making but skips many nonessential elements. And does this more consistently than cabinet makers who can be bored, incompetent, depressed, burnt out, resentful, tired, having a bad day. In the future AI code inevitably will embody most good software engineering practices. And will do this more consistently than software en…

The problem with this analogy (actually one of many) is that most people can make do with a cabinet that is literally identical to everyone else's. IKEA is great for that. If you want software that is literally identical to what someone else is using then you don't need AI. You need a license to that software! That is just the traditional software model. AI gives software that is bespoke with hundreds of decisions ma…

Not to overtax the original metaphor but /r/ikeahackers exists for a reason. Giving people fittings and hardware that all more or less work together and a bunch of reasonably high quality fiber boards is often enough to build quite a lot of bespoke stuff. Add a bit of paint and you can (and people have) build gorgeous interiors while saving a considerable amount of money.

I'm not a Luddite or a drooling evangelist; my take on AI coding is basically that it's a good accelerator if you already know the shape of what you want, and have the software engineering fundamentals to build it yourself. I find myself building a lot more stuff these days because I don't have to wrangle HTML and CSS; it's one of those things I know I can do myself but I absolutely hate, and translating designs from my brain to the browser is a horrible pain. But I know, for example, what flexbox is, so I can tell my coding agent that I want something in a certain shape, laid out with flexbox, and it handles the particulars.

I think we have to acknowledge that most software engineering is just putting mostly compatible fittings together to join mostly standard sized boards. That's okay, and unless you're doing something extremely specialized most of the time the standard solution is more than good enough. I've been loving Supabase recently as my backend for AI built things because it turns out that PostgREST is a great shape for >90% of the APIs I would normally build, and RLS handles auth modeling way more concisely than domain code, and it's very easily scriptable to do all the complicated business logic bits in a contained, testable way. It's not optimal, it's not elegant sometimes, but it's fine. Every other engineering discipline coalesced on standard operating procedures decades ago, maybe we software engineers have to swallow our pride a bit and start accepting them in our discipline too.

Re: Software Engineering fundamentals matter more

#148

Earlier quoted context omitted.

Yay let’s lock ourselves into the formal verification toolsets, so that we can never use new language features again.

When you board a plane, don't you love thinking about how the controllers can make use of the hottest new language features? Perhaps JSON in the stdlib?

Would you board a plane designed by AI that no engineer had ever looked at?

Or some engineer did give a cursory glance at and stamped it with LGTM?

Re: Software Engineering fundamentals matter more

#149
post #128

Earlier quoted context omitted.

> Most of the "back in the day" furniture came from tearing down virgin woods. Sorting + shredding-recycling + making new "cheap particle board crap" furniture takes a lot of energy, but not a lot of non-renewable resources. It also lasted a lot longer. I have inherited furniture that must be around a 100 years old now and a lot that is over 50 years old and doing fine. A lot of my friends have older (even hundreds o…

You've never seen ikea furniture if you think it lasts less than a decade.

There are definitely different tiers. I've bought simple shelving that began to fall apart within years (Billy maybe?). I have 10 years old bedroom furniture still going strong (Kallax/Malm).

Re: Software Engineering fundamentals matter more

#150

Earlier quoted context omitted.

> Meanwhile people here are posting the thesis that agentic development without careful code review results in an unmaintainable application. > I theorize that this is not something they experienced in practice, because it did not happen for me. Are you currently maintaining the application? Like it's in production with paying users? You've only been on the app for 4 months. Compare that to something like Emacs that…

By that standard, we could have AGI tomorrow, and I should still not comment. No, my app is not published yet. It will probably take another month, with hopefully no complications arising out of the AppStore review process. Then, I hope the ad campaign financials work out to compete with old apps of a lower quality that already boast no less than a million reviews. I get it, you want me to make a case that can object…

> you will either have to take my word for the quality of the product, or spend tens to hundreds of hours of effort in trying the approach for yourself

You're acting like everyone here doesn't have hundreds of hours of experience with LLM coding. We all do, we all know what it's like.

You're simply either lying or wrong. If it's the former, I don't care, you're just an asshole on the internet. If it's the latter, you'll learn eventually and it will be quite painful for you.

Post reply on HN