logoalt Hacker News

fuzzfactoryesterday at 7:03 PM0 repliesview on HN

I'm with him 100% on these points:

>For no particular reason, I've always liked designing experiments and measuring things. This was true long before I ever thought about careers and it's still true today. As discussed here, measurement is one of the primary themes of this blog, maybe the primary theme. Lucky for me, this lifelong hobby has been something I've been able to make a career out of. And even luckier, this skill seems to have been made relatively more valuable by coding agents3.

>3.And, coincidentally, as with testing, it happens to be a skill that gets developed a lot more at CPU companies than in typical software companies, even ones that produce highly performance sensitive products, like databases. Above, we estimated that the effort spent on testing at the CPU design shop I worked for was maybe a ~2:1 ratio over what you'd see in a traditional software company. When it comes to benchmarking/evals/experimental design, the denominator is low enough at traditional software companies that it's hard to estimate the ratio, but it's surely at least 10:1 and 100:1 and 1000:1 are plausible numbers as well.

>Of course, by focusing on and developing much more expertise than software companies in these areas, chip companies are often relatively in the stone ages in a number of other areas. Relatively speaking, I'm also relatively weak in most of those areas. I think this works out ok in the context of a company, where it's valuable to have people with complementary skills, but it can definitely cause some problems in interviews. [return]

Notice how much numerical difference Luu attributes to highly performance sensitive software products versus a traditional software company.

As for Claude and Codex in mid-2024:

>At the time, I didn't find this useful enough to use for anything where I knew what I was doing, but it enabled me to embed a little web game into that post and do other tasks that would've required me to learn something about an area where having actual expertise will probably never be particularly interesting to me, such as building a web app.

Me neither when it comes to web apps. I always thought the fundamental thing with the greatest room for improvement was getting the most out of stand-alone electronics, before it made as much sense to even network them to begin with. Looks to me that performance progress was less than halfway there when it got to be reversed in personal computers, and now more resources than ever are being put to keep personal computers from allowing users to get as much advantage as they could have been. Basically more effort than ever imagined since before the 1990s, toward a return to centralized data centers instead, not much differently than we had with mainframes. The difference is that "everybody" has a "terminal" now but those user PCs are going to need to become less-capable as stand-alone personal computers, and more like "dumb" terminals otherwise a growing number of high-rollers will not be able to fulfill their massive vision as overwhelmingly.

So what if I thought it was fairly intuitive learning to program on mainframes back in the 1960s. I was pursuing natural science not computer science, in ways people like Wozniak and Gates were not. For me the programs are supposed to be a tool, and one that's still not always necessary to achieve the optimum outcome in the research lab. It took a number of years before I was able to pay for the experimentation by doing chemical testing in the lab, and was basically the only computer pioneer in my field for a while after that, as alternative labs also had some emerging "computerized" or "digital" instruments but not for user-programming.

Anyway, by the tine the 1990's rolled around, with all the overtime at the bench, it gave me about the equivalent of 40 years of intense testing in only 20 years. From where I have never stopped, but it was mostly chemical testing. Not as applicable to things like CPU design as it could be, but the hardware I build has to handle chemicals not only electrons. Usually quite toxic materials, hazardous in other ways, and highly regulated.

And I was even more out-of-date by then on computer languages. Much more of a disadvantage compared to digital hardware engineering like where Luu is coming from, since I was not the coder those folks were, and they don't have the time to put most of their effort into the kind of code that software engineers have to do.

I didn't code every year, just as needed, and "shipping" code was not an objective at all. By then I had founded my first company and I made more money using my code than I was before, or developed routines that made the work easier. The LOB was mostly scientific and automation. I figured anybody would prefer NASA-type performance if they could, so why not, I had no deadlines, and these are some risky chemicals.

It should be easy to see that the only unfair advantage I had was a lifetime of testing up the wazoo, even if only a baby part of that was testing code. And I already could tell that testing had to be at least a bit lacking in the commercial software that had appeared (and is still often raising its ugly head). As a total laboratory system I had always been more reliable than that and I was not ready to stop at all.

Ended up at 100:1 in testing:development ratio to hit the sweet spot. That's not relative to any other companies, just what it took to give lab business clients their money's worth. Of course lots of "unit tests" and code reviews were included. With chemicals you must leave no stone unturned even more so than plain electronics. Never could have done it if I wasn't already giving clients their money's worth without the code.

Otherwise the likelihood of unforeseen regrets is far too high for mission-critical application, and can not be very accurately estimated either.

The whole time it was on my mind how I would incorporate AI into some advanced automation, if PCs got powerful enough, but that was a bit of a dream 30 years ago. AI was just unheard of for any type of everyday use. I had to accept that if I ever did want to ship some software I would have to be more of an architect and let professional engineers rewrite my stuff in a more modern language that they have experience in.

Now with things like Claude and Codex I could be doing it all on my own, but nah. I've already got a well established lack-of-momentum and a couple years ago it looked like LLM autocoding was impending so I figured it would be good to see how AI develops from the sidelines. While I'm past "retirement age" anyway. Why would I settle for my own single-handed code when now I could have a team of software engineers who are using AI to help them. Just like I always figured I would need a team to do all the coding in order to make a "product" out of my efforts since before the '90s.

If I get such a wild hair I'll still have to do all the testing myself regardless :\