Live data from Hacker News

A software conference that advocates for quality

bettersoftwareconference.com

131–140 of 160 posts

Re: A software conference that advocates for quality

#131
post #28

Earlier quoted context omitted.

> which is not so much concerned that their software might be buggy as that it might be lame This is not at _all_ my interpretation of Casey and JBlow's views. How did you arrive at this conclusion? > They're more concerned about user experience and efficiency than they are about correctness. They're definitely very concerned about efficiency, but user experience? Are you referring to DevX? They definitely don't priz…

From what I've seen, they are very much in a game developer mindset: you want to make a finished product for a specific use, you want that product to be very well received for your users, and you want it to run really fast on their hardware. When you're done with it, your next product will likely be 80% new code, so long term maintainabity is not a major concern. And stability is important, but not critical - and the…

One of the slides in Blow's talk about why he was starting work on Jai said, "If we spend a lot of time wading through high-friction environments, we had better be sure that this is a net win. Empirically, it looks to me like [that] does not usually pay off. These methods spend more time preventing potential bugs than it would have taken to fix the actual bugs that happen."

I think that's an overall good summary of the crowd's attitude. They think that mainstream programming environments err too far in the direction of keeping your software from being buggy, charging programmers a heavy cost for it. Undoubtedly for videogames they are correct.

Jai in particular does support array bounds checking, but you can turn it on or off as a compilation option: https://jai.community/t/metaprogramming-build-options/151

Re: A software conference that advocates for quality

#132

Earlier quoted context omitted.

I've seen projects that failed, or were killed, likely at least in part due to a culture that encouraged poor quality and tech debt. This is preventable, and for no additional up-front engineering effort or time investment.

Yes, parent says "people leave" as if it is not a problem in itself; you lose the time it takes to train these people, and they probably take some knowledge about the products with them. Or maybe we are actually talking about commodity developers? But I'm curious about how one prevents this dysfunctional culture.

We’re talking about different scales.

At a big company “you” don’t lose anything. You only lose if you’re a fool trying to fix dysfunctional culture when you’re not even close to C level.

Re: A software conference that advocates for quality

#133

Earlier quoted context omitted.

> This is not at _all_ my interpretation of Casey and JBlow's views. IMHO this group's canonical lament was expressed by Mike Acton in his "Data-Oriented Design and C++" talk, where he asks: "...Then why does it take Word 2 seconds to start up?!"[0]. See also Muratori's bug reports which seem similar[1]. I think it is important to note, as the parent comment alludes, that these performance problems are real problems,…

This is a bit of a simplification of the ideas of Blow, Muratori et al, a much better source for the ideas can be found in "Preventing the collapse of civilization" [0]. The argument made there is that "software quality" in the uncle bob sense, or in your domain version, is not necessarily wrong but at the very least subjective, and should not be used to guide software development. Instead, we can state that the soft…

> it is about a perceived explosion in complexity both in terms of number of developers & in terms of allocated hardware, without an accompanying explosion in actual end user software complexity.

Do we want software to be more complex? Can you explain what you mean here? The explosion from my POV seems to be related to simply more software.

> at its core we all understand that nobody needs 600mb of npm packages to build a webapp.

Perhaps, but isn't this a different argument/different problem?

If the argument is that these software packages are bloat, which can be detrimental to performance (which BTW is a bank shot as you describe it here), we all understand we don't need npm at all to build a webapp. However, it might make it easier? Isn't easy really important in some domains?

Again -- software engineering is an economic activity. If Word startup speed was important then more engineering resources would be expended to solve that problem.

>> I think it is important to note, as the parent comment alludes, that these performance problems are real problems, but they are usually not correctness problems (for the counterpoint, see certain real time systems).

The thing is we agree that performance problems are real problems. The problem is imagining that they are the same problem for every programmer in every domain. A high speed trading firm or a game dev studio simply has different constraints than Microsoft re: Word or a web dev.

"Why does this software not behave like my (better) software?" is a good question. Unfortunately I think Blow, et. al, only give this question a shallow examination. Maybe one doesn't treat the engineering of a thermostat the same way one treats a creative enterprise like a game? Maybe the economic/intellectual/self rewards are not similar?

Re: A software conference that advocates for quality

#134

Earlier quoted context omitted.

> This is not at _all_ my interpretation of Casey and JBlow's views. IMHO this group's canonical lament was expressed by Mike Acton in his "Data-Oriented Design and C++" talk, where he asks: "...Then why does it take Word 2 seconds to start up?!"[0]. See also Muratori's bug reports which seem similar[1]. I think it is important to note, as the parent comment alludes, that these performance problems are real problems,…

> Their argument is more like -- what if all programmers were like John Carmack and Michael Abrash? Instead of recognizing software is an economic activity and certain marginal performance gains are often left on the table, because most programmers can't be John Carmack and Michael Abrash all the time. At least for Casey his case is less that everyone should be Carmack or Abrash but that programmers often through the…

> At least for Casey his case is less that everyone should be Carmack or Abrash but that programmers often through their poor design choices prematurely pessimise their code when they don’t need too.

I think this is far enough since Casey, unlike Blow, does offer some practical advice.

Re: A software conference that advocates for quality

#135

Sounds good, but unless it advocates for HR practices that retain talent, and corporate practices that incentivize Quality, it probably won't result in any changes. Personal Quality Coding practices have been around for as long as software has been a thing. Way back when, Watts Humphrey, Steve McConnell, and Steve Maguire wrote books on how to maximize personal Quality. Many of their techniques still hold true, today…

> Sounds good, but unless it advocates for HR practices that retain talent, and corporate practices that incentivize Quality, it probably won't result in any changes.

Overwhelming majority of companies have no interest in even approaching the idea of what that would mean.

"we need 7 years experience with Mulesoft and Kubernetes."

sure, yeah, whatever.

Re: A software conference that advocates for quality

#136

Earlier quoted context omitted.

>Quality is a measurement No it isn't, as in it literally isn't. Quantification is the process of judging something numerically, objectively and in measurement. Qualification is just the opposite, judging something by its nature, essence or kind. Software quality, like all kinds of quality, is always a subjective and experiential feature. Just like, when someone says, this piece of furniture is a high quality, handma…

> No it isn't, as in it literally isn't. Yes, it is. It is a well known field in hardware development, and generally treated as a sub field of manufacturing engineering. It deals with things like testing, sampling, statistics of yield, and process improvement. If you’ve ever done a DFMEA, an 8D report, a Five Whys review, a sampling quality analysis, or a process map, you’ve used tools produced by this discipline. Th…

> Software, as a profession, collectively talks about quality with all of the rigor of joint passing English majors sharing their favorite sections of Zen and the Art of Motorcycle Maintenance.

Yet people throw around the term "engineers" with reckless abandon for seemingly anyone that wrote Javascript once in their lives. It all strikes me as very silly.

Re: A software conference that advocates for quality

#137

Earlier quoted context omitted.

Yes, parent says "people leave" as if it is not a problem in itself; you lose the time it takes to train these people, and they probably take some knowledge about the products with them. Or maybe we are actually talking about commodity developers? But I'm curious about how one prevents this dysfunctional culture.

We’re talking about different scales. At a big company “you” don’t lose anything. You only lose if you’re a fool trying to fix dysfunctional culture when you’re not even close to C level.

You said that right! Absolutely. It's one thing to fix a mess in a culture that cares. It's darn near impossible to fix it if the culture around is hostile, indifferent, or any of the other 82 million other reasons organizations come up with to not care. In that situation you can end up being the pariah despite good intentions engineering and otherwise like satisfied customers.

Re: A software conference that advocates for quality

#138

I'm disillusioned because it never happens, but purveyors of conferences and books are happy to sell the promised land™ of how "it's really going to be different this time." Processes, tools, and diligence vigilantly seem the most apparent path. Perhaps rehash the 50 year old debate of professionalization while AI vibes coding is barking at the door, because what could possibly go wrong with even less experience doin…

It doesn't happen because building the best software is not the goal of a software engineering job. If you want to do that on your own time, that's fine - but the purpose of a job is economic. Of course you should write software of some reasonable quality, but optimizations have diminishing economic returns. Eventually, the returns are lower than the cost (in time, money, etc) of further optimizing, and this break-ev…

The more systems it is (distributed databases, leader election, strong serialization, safety critical) the more so cheapest path looses.

Making a bug fix on jira or web page there's less to loose.

Re: A software conference that advocates for quality

#139

Earlier quoted context omitted.

> No it isn't, as in it literally isn't. Yes, it is. It is a well known field in hardware development, and generally treated as a sub field of manufacturing engineering. It deals with things like testing, sampling, statistics of yield, and process improvement. If you’ve ever done a DFMEA, an 8D report, a Five Whys review, a sampling quality analysis, or a process map, you’ve used tools produced by this discipline. Th…

> Software, as a profession, collectively talks about quality with all of the rigor of joint passing English majors sharing their favorite sections of Zen and the Art of Motorcycle Maintenance. Yet people throw around the term "engineers" with reckless abandon for seemingly anyone that wrote Javascript once in their lives. It all strikes me as very silly.

Love your username btw lol

Re: A software conference that advocates for quality

#140

Earlier quoted context omitted.

Yes, parent says "people leave" as if it is not a problem in itself; you lose the time it takes to train these people, and they probably take some knowledge about the products with them. Or maybe we are actually talking about commodity developers? But I'm curious about how one prevents this dysfunctional culture.

We’re talking about different scales. At a big company “you” don’t lose anything. You only lose if you’re a fool trying to fix dysfunctional culture when you’re not even close to C level.

Change usually has to come from the top and the bottom and meet in the middle to really have a chance.

Little guy can't do it, and neither can speeches from the bosses.

Post reply on HN