Hacker News new | past | comments | ask | show | jobs | submit
Reminds me of the old joke "90% of the code is 90% of the work. The last 10% of the code is the other 90% of the work."

I have spent almost my entire adult life (since 1986) shipping products. One of the very first things that I learned, was that "shipping" > "designing".

There's so much work in delivering products that will carry your brand, and then must be supported.

I liken it to having children. Conceiving them is fun. Delivering them is painful. Raising them, is a lifetime of work.

In my experience, the same type of thing applies to products that we ship (and charge money for).

> There's so much work in delivering products that will carry your brand, and then must be supported.

People think otherwise with AI partly because Anthropic kept telling us that they didn't have to write code or review code any more for most of their work. Their agent swarms just comb through their github, slack and wikis to figure out what to do next, and another swarm of agents just review, test, merge, deploy, A/B test, and revert the code. Boris alone merged nearly 300 PRs in the past week (or two?). So the top research labs seem have broken the productivity seal.

And then they talk about this recursively self-improving AI that is so powerful, so autonomous that they advocate that every company should be prepared to "pause" the effort. And their Fable/Mythos has this specific restriction as mentioned in their model card[1] that they are going to reject requests to tune and train models because, well you guess it, the models are too powerful to be used by mere mortals.

[1] We’ve implemented new interventions that limit Claude’s effectiveness for requests targeting frontier LLM development (for example, on building pretraining pipelines, distributed training infrastructure, or ML accelerator design). Using Claude to develop competing models already violates our Terms of Service, but enforcing this restriction through our safeguards avoids accelerating the actors most willing to violate these terms. Unlike our interventions for cybersecurity, biology and chemistry, and distillation attempts, these safeguards will not be visible to the user. Fable 5 will not fall back to a different model. Instead, the safeguards will limit effectiveness through methods such as prompt modification, steering vectors, or parameter-efficient fine-tuning (PEFT).

loading story #48470490
> the safeguards will limit effectiveness through methods such as prompt modification, steering vectors, or parameter-efficient fine-tuning (PEFT)

Holy crap that is dark. I like learning about ML for fun, and now I have to assume that their model is intentionally misinforming me to sabotage my learning? It is absolutely bananas that somebody decided that was ok behavior.

loading story #48470497
loading story #48470373
loading story #48469979
Fully agree. Shipping a complete product with a functioning user acquisition funnel is much harder. It's like; you have to build the whole product first with lots of features and then you have to try to create a highly condensed overview of all those features to expose them all on the landing page.

If you can't make the visitor understand your entire complex product in 10 seconds, then you've lost them.

Your product has to be complex because that's where the software market is at. All of the low-hanging fruits have been taken by the time you identify them. Sure, someone will find a way to make money using new low-hanging fruits that arise due to technological changes but it's not going to be you. You probably don't have the business connections to make that work.

I'm not entirely sure how that dismisses the CEO's putative argument: they go big on AI precisely because shipping end-to-end is hard, so they think they shouldn't waste resources on tasks that can be automated.

The structure of a good argument would be something like: certain tasks are fundamentally human and impossible to automate (which and why?) and by pushing AI use beyond what is optimal you are actually hurting your employees ability to do those hard parts.

A weaker but still useful argument is that most everything can probably be automated, but frontier models aren't there yet.

loading story #48469738
I hate to use a throwaway, but this bit:

> with a functioning user acquisition funnel

How do you actually get this. I've got a product, the site is hand crafted, shows the complex product really well (and had good feedback on it) but how do I acquire the users?

It seems as the cost of creating software has plummeted, it's the actual sales side of it that's going to matter even more. I'm stuck at this point.

"How do I acquire users" is the entire function of sales and marketing. A single HN comment explaining how to do sales and marketing, which is highly dependent on your product and market (and much more difficult than technical people tend to believe), is a bit unrealistic. And a great opportunity to use Claude/ChatGPT for something other than code. There's no silver bullet but as a springboard you can think about:

Who is your ideal customer profile (look up buyer personas) -- if you're B2B figure out both the profile of the company who would buy, as well as the person who would actually buy, and the person who would actually use the software: remember that buyer != user in B2B scenarios, and you'll have to figure out if the buyer, user or both is the best path to getting a sale. If you're B2C figure out your buyer personas so you know where to advertise.

Why would people want your product; sounds like you may already have this down but be ready to explain your value proposition concisely.

How will these people hear about your product -- a SaaS that falls in the woods doesn't make a sound, you need people to learn your product exists before they can pay for it. This is the point of figuring out buyer personas, you need to meet your customers where they are, and you can't know where they are unless you know who they are. This is highly dependent on your product/personas, and could range from running LinkedIn ads to SEO to having a Bluesky brand account to going to local meetup groups or conferences and trying to get your first handful of users in-person.

Get a dozen users word of mouth? They will tell friends? Won’t scale forever but it gets you going.
loading story #48470207
I like this analogy; raising children well like delivering products well pays dividends. They’re less likely to cause problems and if they do, they tend to be smaller in scope.
loading story #48470493
loading story #48470195
> 90% of the code is 90% of the work. The last 10% of the code is the other 90% of the work.

Don't think I've heard that one but certainly rings true to my experience.

Reminds me of "ninety percent of the game is half mental"

I've heard it as "once you think you're 90% done, you're really halfway done."

Tangential: it's always made me wonder about teams that believe "80% effort" is optimal.

loading story #48469866
I skimmed the article, guilty, but I think what I got from it is that CEOs will CEO? No disrespect meant, I’ve seen your name here often and thoroughly enjoy the folklore that you share, but I don’t understand what context you reacted to. Cheers.
The context that they think that shipping is simple. Shipping (what you need all those annoying peons for) is really terribly difficult, and has a lot of moving parts that designers often fail to take into account, until the deployment people lock them into a restroom stall, and refuse to let them out, unless they listen.

That's common with newer engineers (and now, non-engineers). I believe that Mr. Dunning, and Mr. Kruger had something to say about it.

I also spent most of my career at hardware-oriented companies, and shipping hardware is orders of magnitude more difficult than shipping software.

Thank you. You spent some time at Apple, no? There is that “real artists ship” or “great artists steal”, but I wonder what he’d say now. Just fun to think about.
loading story #48469666
> Conceiving them is fun. Delivering them is painful. Raising them, is a lifetime of work.

Then there's the technical debt!

Shipping is frankly the easy part. It's the operating overhead that often breaks you.

I liken it to free puppies.

This is true.

I have always prided myself on writing concise, high-Quality code, because it tends to be quite debt-free.

So far, LLMs seem to deliver code with "Louie Da Loan Shark"-levels of tech debt.

The problem is that the lines of code are riding on a stack of other dependencies that all need care and feeding. Things reach EOL. Frameworks have major breaking changes. CVEs are discovered.
You mentioned in another part of this thread that you worked in hardware mostly?

It seems like the cost of changing hardware code is high enough to still insist on building it high quality, is that accurate?

loading story #48469868
You can actually get high-quality code out of them -- at least with Claude; not had a great experience with Gemini -- but for complex tasks requires riding them very, very hard and really understanding where things can go wrong and poking at them repeatedly. Iterate, iterate, iterate.
> Iterate, iterate, iterate.

That describes my last week. What made it most annoying, was the need to release through TestFlight, because the memory issues would not appear, when tethered. Also, I was checking in constantly, because I had to revert and reset the context, several times.

Every line of code is a liability
Yup. In another post, I was grumping about having to accept a truly obese bunch of code from an LLM. This particular issue is the only one I could imagine even considering accepting that much pasta, but I sort of have to, because the LLM was able to quickly solve a problem that would have taken me a couple more weeks to address.

I remember a .sig that went something along the lines of:

    I hate code, and want as little as possible in my software.
loading story #48469608
loading story #48469588
now it's closer to 95% of work can be done by AI and requires 5% mental effort, but 5% of the work requires 95% of the mental effort to finish because of all the unoptimial decisions AI has taken. I find that AI works best in small micro-service type architecture where each component has a clear goal and doesn't have interconnected parts within the same application that can break. But you do run into an issue where changes in microservice a need changes in microservice b and updating it is not ideal since it usually cascades thru the entire system or requires stacks of legacy support.
IME it’s possible to have good clear APIs, limited scopes/goals, etc in a normal (macro?) service. But it requires a level of discipline and process many teams are unwilling to engage in.