Live data from Hacker News

Software Engineering fundamentals matter more

rhonabwy.com

101–110 of 266 posts

Re: Software Engineering fundamentals matter more

#101

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 is responsibility. Same set of problems if you have a self driving car imho. Not?

Re: Software Engineering fundamentals matter more

#102

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…

No, coding is more like building.

A garden shed can easily be built by an AI. A house? Maybe with supervision. A skyscraper? Good luck with that!

And no, garden sheds do not represent 99% of software.

Re: Software Engineering fundamentals matter more

#103
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?

This applies to more than just CS, but pick a concept and relentlessly ask why it exists until you hit a physical, mathematical, or logical reality that we cannot change/control.

For example, why do web apps use a cache? Because pulling from the main DB is too slow. Why is it slow? Because storing massive amounts of permanent data requires large, dense physical disks that must be located further away from the CPU. Why does that physical distance matter? Because we cannot rewrite the laws of physics -> (Fundamental: data transmission is constrained by the speed of light) -> an electrical signal traveling across a 5cm motherboard will universally take longer to arrive than a signal traveling 1mm from a temporary local cache.

Once you’ve found the fundamental, ascend back up to the surface concept you descended from, and that may solidify the theory a bit. To reinforce it you’ll need to pair it with practice.

Re: Software Engineering fundamentals matter more

#105
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 recommend Execute Program to all new learners. I like the "learning by writing small snippets of code" approach.

https://www.executeprogram.com/

Covers Python, SQL, Javascript and Typescript.

Re: Software Engineering fundamentals matter more

#106
post #78

Earlier quoted context omitted.

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…

I disagree with this sentiment, IKEA furniture is much more sustainable than artisanal furniture. 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. With increased electrification this problem is being drastically reduced and the wood is sourced fr…

This seems delusional to me, being older and more experienced with how long IKEA stuff actually lasts.

8 years is long for IKEA furniture, usually something has irreplaceablely broken by then.

IKEA also refuse to sell you spare parts.

Give me real furniture anyday.

Re: Software Engineering fundamentals matter more

#107
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 would read (and work though the exercises in) "how to design programs", then follow it up with "the pragmatic programmer". that should catch you up with a lot of best practices.

Re: Software Engineering fundamentals matter more

#108
post #59
post #48

Earlier quoted context omitted.

Having not been formally verified, almost all software today feels cheap. Maybe an AI can change that at some point.

By Dijkstra's standards, we've been vibe coding for an entire century! I had similar thoughts recently, that now that machines are good at writing proofs, this could help with their reliability in software development. Then I had a funny incident where an LLM implemented a feature completely backwards. Plenty of tests were supplied which demonstrated that the completely broken feature was correctly implemented. I rea…

Of course, but that doesn't mean formal verification isn't a huge step forward.

Re: Software Engineering fundamentals matter more

#110

Earlier quoted context omitted.

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

OR new languages and frameworks ever again, since they'll slow down code generation due to lack of training, and from LLM generation standpoint this is a terrible thing to trade off.

Both this and the parent takes are exceedingly odd - don’t you think that it’d lead to the language features also just getting the same proofs, as well as better libraries and frameworks? And do you not think that this would also lead to the LLMs both outputting better code since they’d be trained on the verified stuff and also because we’d have tooling to let agent loops autonomously resolve most of the issues with what they output?

I’d rather wait 5-10 years for a stdlib way of handling JSON, XML, YAML, TOML and other formats than using unproven libraries made with unserious practices that have edge cases. The same applies for processing requests, doing any sort of multiprocessing, DB interaction, validations, hell even any and all front end work all they way down to CSS. Don’t even get me started on desktop and server software and OS stuff.

Maybe then software engineering can be treated like real engineering.

Post reply on HN