Live data from Hacker News

Ask HN: What Makes Software Great?

news.ycombinator.com

11–15 of 15 posts

Re: Ask HN: What Makes Software Great?

#13
Great software feel obvious, it does not hide what it is doing, and where abstractions occur they are explained and they use descriptive structures and variables. Great software does not require you to learn something complex or non-trivial just to use it for a trivial task. Great software follows standards where standards exist, and follow conventions without variation where no standards exist. Great software is written securely, and where security issues are being handled great software doubles down on being obvious, documented, and documented with examples. Great software rarely comes from corporations, great software tends to come from lone programmers or lone teams with a non-trivial history developing together.

Re: Ask HN: What Makes Software Great?

#14
I like the quote “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”

I think great software is all about organization, code should be predictable. Legacy code should not become a problem over time, it should provide a solid foundation for growth. Poorly organized code will set you up for failure.

Re: Ask HN: What Makes Software Great?

#15
You are conflating good software with good workflow. You can have great software with terrible a code base. You can have a great code base and developers and have terrible software.

Two totally different topics really, but narrowing down what question you are trying to ask seems more important here.

With that said, I think a good code base is necessary if you don’t have good software yet. You need to be able to try things in a relatively painless way so you can iterate.

Software can also be good and bad at the same time. AWS is great for scaling, but terrible developer experience. Things can be both things at once, or even three things (their codebase could be immaculate, or not).

Seems like a trite conversation when we try to generalize it. Everything is so case-dependent with this stuff.

Post reply on HN