Live data from Hacker News

"Be Different" doesn't work for building products anymore

iamcharliegraham.substack.com

111–120 of 140 posts

Re: "Be Different" doesn't work for building products anymore

#111
I'm becoming more convinced that this kind of rhetoric is usually peddled by individuals who haven't actually built anything notable (granted, that's most of us).

If all you're doing is using AI to build products, by definition, you're gravitating to the mean.

The AI doesn't care about a delightful product, it cares about satisfying its objective function and the deeper you go the more the two will diverge simply because building a good product is really complex and there are many many paths in the decision maze.

Re: "Be Different" doesn't work for building products anymore

#112
post #84
post #70

Earlier quoted context omitted.

> It's also worth noting that a crud app can be quite complex too. There can be a lot of complexity even if the core is simple. I suppose technically a database is just a CRUD app

Yeah, that's essentially what I mean when I say crud app. It's basically a web api written in something like C# or whatever you prefer, which receives HTTP requests and translates them into DB operations. CRUD and views basically. For this type of development you want the DB to handle basically all the heavy lifting, the trick is to design the DB schema well and have the web API send the right SQL to get exactly the…

I think you're missing the point of the comment you've replied to. That comment is talking about implementing the DB. When you're implementing a DB, you can't just forward reads and writes to another DB. Someone has to actually implement that DB on top of a filesystem, raw disk, or similar storage.

Re: "Be Different" doesn't work for building products anymore

#113
> The best way to avoid the red ocean is to build for an obscure and complex niche.

This seems like the counter-argument... You need to build something incredibly different. You need to message differently, you need to distribute differently.

If the argument is that convincing the world that you're different is harder than ever I buy that. So much fluff and noise out there that it's harder than ever to break through that noise and cut through the skepticism. But for that, it's more important than ever to be different.

Re: "Be Different" doesn't work for building products anymore

#114
post #84
post #70

Earlier quoted context omitted.

> It's also worth noting that a crud app can be quite complex too. There can be a lot of complexity even if the core is simple. I suppose technically a database is just a CRUD app

Yeah, that's essentially what I mean when I say crud app. It's basically a web api written in something like C# or whatever you prefer, which receives HTTP requests and translates them into DB operations. CRUD and views basically. For this type of development you want the DB to handle basically all the heavy lifting, the trick is to design the DB schema well and have the web API send the right SQL to get exactly the…

I was actually going for the opposite point - databases generally meet the definition of CRUD app. You create rows, read them, update them and delete them (literally SQL verbs INSERT, SELECT, UPDATE, DELETE). But they are highly complex pieces of software. People who program them are generally hard core.

Re: "Be Different" doesn't work for building products anymore

#115
post #71

Earlier quoted context omitted.

> Most apps are simple crud apps and if they aren't it's usually because the devs are bad. I heard this a lot from candidates who had only worked on software that could be described as an app. They bounced from company to company adjusting a mobile app here, fitting into a React framework there, and changing some REST endpoints. There is a large world of software out there and not all of it is user-facing apps.

>I heard this a lot from candidates who had only worked on software that could be described as an app. Similar to that thinking, I made a previous comment how many developers in the "L.O.B. Line-Of-Business / CRUD" group are not familiar with "algorithms engineering" type of programming: https://news.ycombinator.com/item?id=12078147 Vibe coding is easiest for CRUD apps. However, it's useless for developing new scient…

I can attest to that. I was using Gemini to help with some spherical geometry that I just couldn't figure out myself. This was for an engineering system to define and avoid attitude deadzones for a system that can rotate arbitrarily.

About 75% of the time the code snippets it provided did what it said they did. But the other 25% was killer. Luckily I made a visualization system and was able to see when it made mistakes, but I think if I had tried to vibe code this months ago I'd still be trying.

(These were things like "how can I detect if an arbitrary small circle arc on a unit sphere intersects a circle of arbitrary size projected onto the surface of the unit sphere". With the right MATLAB setup this was easy to visualize and check; but I'm quite convinced it would have taken me a lot longer to understand the geometry and come up with the equations myself than it actually took me to complete the tool)

Re: "Be Different" doesn't work for building products anymore

#116
post #71

Earlier quoted context omitted.

> Most apps are simple crud apps and if they aren't it's usually because the devs are bad. I heard this a lot from candidates who had only worked on software that could be described as an app. They bounced from company to company adjusting a mobile app here, fitting into a React framework there, and changing some REST endpoints. There is a large world of software out there and not all of it is user-facing apps.

>I heard this a lot from candidates who had only worked on software that could be described as an app. Similar to that thinking, I made a previous comment how many developers in the "L.O.B. Line-Of-Business / CRUD" group are not familiar with "algorithms engineering" type of programming: https://news.ycombinator.com/item?id=12078147 Vibe coding is easiest for CRUD apps. However, it's useless for developing new scient…

is Claude Code actually useless or is is a prompt engineering/context issue?

Re: "Be Different" doesn't work for building products anymore

#117
post #71

Earlier quoted context omitted.

> Most apps are simple crud apps and if they aren't it's usually because the devs are bad. I heard this a lot from candidates who had only worked on software that could be described as an app. They bounced from company to company adjusting a mobile app here, fitting into a React framework there, and changing some REST endpoints. There is a large world of software out there and not all of it is user-facing apps.

>I heard this a lot from candidates who had only worked on software that could be described as an app. Similar to that thinking, I made a previous comment how many developers in the "L.O.B. Line-Of-Business / CRUD" group are not familiar with "algorithms engineering" type of programming: https://news.ycombinator.com/item?id=12078147 Vibe coding is easiest for CRUD apps. However, it's useless for developing new scient…

Do you have any advice for entering group 2? I graduated university expecting to at least see jobs that needed those skills at least some of the time, but the hardest problem I've worked on was a variant of the knapsack problem and it happened in my first year out.

Re: "Be Different" doesn't work for building products anymore

#118

Can't say I agree with this article at all. This has not been my experience. I don't quite know how to articulate this well, but there's something that I'd call a "complexity cliff" in the software business: if you want to compete in certain spaces, you need to build very complex software (even if the software, to the user, is easy to use). And while AI tools can assist you in the construction of this software, it ca…

> there's something that I'd call a "complexity cliff" in the software business: if you want to compete in certain spaces, you need to build very complex software (even if the software, to the user, is easy to use) I recognized something similar when I first started interviewing candidates. I try to interview promising resumes even if they don't have the perfect experience match. Something that becomes obvious when d…

Embedded systems using memory-mapped I/O are just dozens of CRUD apps, each "register" in the memory map. You don't even need to worry about the C & D parts, just read & update. We can structure each peripheral's access via a microservice…

Everything is a CRUD app if you're high on buzzwords.

Re: "Be Different" doesn't work for building products anymore

#119
post #107

Earlier quoted context omitted.

I prefer to just use Dapper for most DB interactions with C#... EF (and ORM tooling in general) can come with a lot of gotchas that simply understanding the SQL you are generating can go a long way to avoid.

Dapper is nice, but what you don't get as far as I know is migrations. With EF the app just spins up the whole DB from scratch which is great for onboarding or when you just needed a new laptop etc. Also EF is fine as long as you know what you're doing, or at least pay attention to what you're doing.

I use grate for migrations. I prefer a more manual, hands on approach to that as well.

Re: "Be Different" doesn't work for building products anymore

#120

Earlier quoted context omitted.

> there's something that I'd call a "complexity cliff" in the software business: if you want to compete in certain spaces, you need to build very complex software (even if the software, to the user, is easy to use) I recognized something similar when I first started interviewing candidates. I try to interview promising resumes even if they don't have the perfect experience match. Something that becomes obvious when d…

Embedded systems using memory-mapped I/O are just dozens of CRUD apps, each "register" in the memory map. You don't even need to worry about the C & D parts, just read & update. We can structure each peripheral's access via a microservice… Everything is a CRUD app if you're high on buzzwords.

What’s the endpoint for the interrupt service? Does it use OAuth?
Post reply on HN