Live data from Hacker News

Software Engineering fundamentals matter more

rhonabwy.com

61–70 of 266 posts

Re: Software Engineering fundamentals matter more

#61
post #42

With generated code, the directory structure, interface design and general state management is usually a haphazard mess. Even with the best frontier models. But what really gets me is the model often tries to make assumptions for me that I didn't specify in the prompt. Subtle things like which error states are "oh shit we need to bail" vs "this isn't a deal breaker." Sometimes it will ask, but more often than not it…

It absolutely hates code that would crash or error in any circumstance. So it adds a ton of dubious fallbacks.

Crash means zero reward, so yeah.

Re: Software Engineering fundamentals matter more

#62
> Making software debuggable, maintainable, layered, and composable – that’s still quite a trick. Quite a lot of that work requires extensive, thoughtful reasoning. And that’s where the LLM’s today, even the leading edge of the “capability” from frontier models, fall short.

It’s been my quest during my career to figure out what is maintainable software, what is composable or not, and how the two things, and many other things, are in direct conflict. There is no single answer. If your goal is to take over the market quick, as many here would like, maintainability is a very low priority aspect of your code base. Composability may matter for integrators but can be entirely ignored in your CRUD backend. Beyond that, I don’t know of a good way to measure most of these intangible properties. Highly competent software developers disagree in even basic things, like whether OOP is a good idea, should we all be using pure functional programming etc. Hence, how would you expect an LLM to get good at figuring this out for you? If you describe exactly what trade offs you are willing to make, and give it ways to measure how well it’s doing, then I do think LLMs will be able to not fall short. Given the current state of things, it’s just a matter of opinion whether LLMs fall short, or humans fall short for that matter.

Re: Software Engineering fundamentals matter more

#63

Earlier quoted context omitted.

Basically all the examples of LLM's building impressive things have been because they have human written tests to base the implementation on. If you have an LLM write the tests the results are far less impressive or valuable.

Yes and LLMs are known to cheat on tests written by them.

Last year when they added computer use to Claude web I was excited to try it out.

I just asked it for a code snippet and it ended up setting up a whole repo in a docker container or something.

Even volunteered a test suite. This genuinely amazed me.

...until I checked the tests.

It was just console.log("Tests passed!")

AGI 2027

Re: Software Engineering fundamentals matter more

#64
post #54

Earlier quoted context omitted.

I work on my project for 2 years now and using an LLM always came back to bite me. Learning how something works is needed, slow and painful - but pain is gain. If this works for you - awesome. Until it doesn't. As always there is 0 code or link. All talk.

And when do you expect my approach will stop to work? The core features are complete and the codebase is already sizable. I will not publish my app on GitHub for free. It's a paid app, and I am putting in the hours not for your approval, but for commercial gain. I also do not think it wise to link my HN account to my real name and expose my opinions and comments to my employer and colleagues.

Then you may as well said you've solved P=NP.

We do not require links to your app. What people are expecting is a description of your approach and sample outputs. So that someone else can try it and have the same standard of output. That's how you make a point that your approach is good.

When we buy books like "The Practice of Programming" or "The Pragmatic Programmer", it's because we are hoping to learn useful and productive behaviors. It isn't to hear boasts about how good the authors are good at using tools.

Even self-help books follow this pattern: Do this, expect that. They're not "Have you tried this too" or "I don't know about you, but I've got good results myself".

Re: Software Engineering fundamentals matter more

#65
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.

I did not try it on games.

Many features in my iOS app at first come out technically working, but with poor UX and verbose text in the UI.

One or two rounds of testing and refinement and they typically work well.

Re: Software Engineering fundamentals matter more

#66
post #35

Earlier quoted context omitted.

They're RLHF'ed to an inch of their lives to be able to one-shot complete tasks, since requiring human input defeats the purpose of being able to replace the labor force. But once the insanity ends LLMs will be packaged as tools for developers to use to boost their productivity, and we'll consider them as we do IDE's and debuggers and stuff. But we have to get through this hype cycle first.

wake up, slopinthebag. wake up..

You think LLM’s will be more than a tool?

Re: Software Engineering fundamentals matter more

#67
post #62

> Making software debuggable, maintainable, layered, and composable – that’s still quite a trick. Quite a lot of that work requires extensive, thoughtful reasoning. And that’s where the LLM’s today, even the leading edge of the “capability” from frontier models, fall short. It’s been my quest during my career to figure out what is maintainable software, what is composable or not, and how the two things, and many othe…

Thoughtfully and coherently factorized, abiding a set of architectural rules (i.e: we compose "this" way here, re-evaluated as we go) and following up-to-date framework conventions. LLMs are terrible at this.

Chosing OOP or FP is irrelevant, fundamentals matter more

Re: Software Engineering fundamentals matter more

#68

Earlier quoted context omitted.

And when do you expect my approach will stop to work? The core features are complete and the codebase is already sizable. I will not publish my app on GitHub for free. It's a paid app, and I am putting in the hours not for your approval, but for commercial gain. I also do not think it wise to link my HN account to my real name and expose my opinions and comments to my employer and colleagues.

Then you may as well said you've solved P=NP. We do not require links to your app. What people are expecting is a description of your approach and sample outputs. So that someone else can try it and have the same standard of output. That's how you make a point that your approach is good. When we buy books like "The Practice of Programming" or "The Pragmatic Programmer", it's because we are hoping to learn useful and…

I am here to discuss my opinions on AI for software development because it's interesting. Not because I am selling a book or to prove anything to you.

If I had any special approach, I would be reluctant to share it with my potential competitors.

That said, I do not. It just works.

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.

Re: Software Engineering fundamentals matter more

#69
post #54

Earlier quoted context omitted.

I work on my project for 2 years now and using an LLM always came back to bite me. Learning how something works is needed, slow and painful - but pain is gain. If this works for you - awesome. Until it doesn't. As always there is 0 code or link. All talk.

And when do you expect my approach will stop to work? The core features are complete and the codebase is already sizable. I will not publish my app on GitHub for free. It's a paid app, and I am putting in the hours not for your approval, but for commercial gain. I also do not think it wise to link my HN account to my real name and expose my opinions and comments to my employer and colleagues.

more talk
Post reply on HN