←back to thread

127 points leoncaet | 4 comments | | HN request time: 0.672s | source
Show context
burnt-resistor ◴[] No.44539155[source]
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 doing the same thing and expecting a different result.

replies(3): >>44540097 #>>44540223 #>>44540697 #
rachofsunshine ◴[] No.44540697[source]
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-even point is usually at a lower level of quality than engineers would like it to be. Leadership and engineering managers know this and behave accordingly.

replies(3): >>44540744 #>>44540803 #>>44540961 #
1. jcgrillo ◴[] No.44540744[source]
While I agree with everything you've said, I think you might be making an assumption that quality costs time. In my experience this isn't the case, unless you're starting from a low quality codebase or working with low quality people. A high quality team can produce high quality software in less time than it takes a low quality team to produce low quality software meeting the same functional requirements.

The whole ballgame is making sure you have no low quality people on your team.

replies(3): >>44541062 #>>44541235 #>>44541437 #
2. ◴[] No.44541062[source]
3. wiseowise ◴[] No.44541235[source]
> A high quality team can produce high quality software in less time than it takes a low quality team to produce low quality software meeting the same functional requirements.

Key word is ‘can’. And it takes far more time and money to assemble “quality” team.

4. rachofsunshine ◴[] No.44541437[source]
This isn't an apples-to-apples comparison.

The quality of your team is more-or-less a pre-existing background variable. The question is whether a team of comparable quality takes longer to produce quality software than hacked-together software, and the answer appears to be "yes". The only way out of this is if optimizing more for code quality *actually helps you recruit better engineers*.

I can put a little data to that question, at least. I run a recruiting company that does interviews, so we have data both on preferences and on apparent skill level.

I went and split our data set by whether an engineer indicated that emphasis on code quality was important to them. Our data suggests that you can probably make slightly better hires (in a raw technical-ability sense) by appealing to that candidate pool:

- Candidates who emphasized quality were slightly (non-significantly) more likely to pass our interview and,

- Candidates who emphasized quality were slightly (non-significantly) less likely to have gotten a job already

The effect is pretty small, though, and I doubt it outweighs the additional cost.