Hacker News new | ask | show | jobs
by habitue 1252 days ago
> customers are not paying for, nor give a shit about, these things.

Yes, but they do give a shit if:

- your product is slow, so they assume it's crap and leave your site

- your product breaks, no one notices or fixes it

- your product is bad, because your wrote it in a safe boring technology like cobol and therefore couldn't access the best developers. (exaggeration, but variations on this are true)

My point isn't that you must use the newest shiniest tech and infra to do everything, my point is that when people write blog posts like this, they want to make it seem like there's a clear line between what's "cool shiny tech" and what's "hard nosed business focused shipping".

In reality, it's a lot fuzzier and these things feed back into each other. For example, you shipped bad code early on to get velocity, but it turned out to be foundational and hard to replace, so your best developers leave as your codebase becomes a ball of mud that it's become clear will never be fixed. So now your worst developers are working on a ball of mud and making it worse... etc etc.

As always, the answer is that this stuff is hard, and you can't make a technology decision by just considering things a user wants to buy and saying everything else is navel gazing and messing around.

3 comments

(author here - oh gee, hi hn!)

Yes, those things are always important (if not critical); it's not meant as a defense of bad architecture, merely to try to make those decisions through a product/customers-first lens.

(I did try to connect quality/reliablity, perhaps unsuccessfully, later in the post, e.g. in goals: "If the system is unreliable, we won’t ship as much product ... If we don’t replace this system, more and more customers will experience a broken product.")

Maybe I was overly swayed by the rhetoric I see fairly frequently and you caveated it appropriately. I apologize if so
Or maybe I just wrote too much - I always wish I could be more concise. It's all good!
> - your product is slow, so they assume it's crap and leave your site

I don't think there any tech stack that will have any significant (or even just measurable) impact the speed of the product, for 99% of the startups.

> - your product breaks, no one notices or fixes it

This has nothing to do with the tech stack. You can setup monitoring, alarms and metrics for any tech stack.

> - your product is bad, because your wrote it in a boring technology like cobol and therefore couldn't access the best developers.

99% of startups won't be able to afford the best developers anyway. 99% of startups don't need the best developers. Average developers can make great products.

---

You are taking "your tech stack does not matter" and twist it into "You will have problems if you have the worst tech stack and the worst developers!". Cool, but that's not what the article is about.

> your tech stack does not matter

> You will have problems if you have the worst tech stack

Cool, so we've established that I'm saying the tech stack matters. All of the problems above have to do with the tech stack. Yes performance is part of your tech stack. Yes, how easily you can monitor it and is part of your tech stack.

> 99% of startups won't be able to afford the best developers anyway. 99% of startups don't need the best developers. Average developers can make great products.

Here again, the tech stack matters. If you have known mediocre developers, you should pick a language like Java or Go because otherwise it's going to be a mess. If you have good developers, you should trust them to pick the technologies.

> Cool, so we've established that I'm saying the tech stack matters.

Yes, and I'm telling you that all the problems you've raised are not dependent on your tech stack.

To make it clearer, it doesn't matter if you use CloudWatch Metrics or if you publish your metrics manually in an Excel file, as long as you have metrics being looked at.

"Having metrics" is not a part of your technical stack.

Similarly for speed, it doesn't matter if you use C or Python, as long as you write efficient algorithms and choose the right datastructure.

"Writing efficient algorithms and choosing the right datastructure" is not a part of your technical stack.

tbf how often did twitter and reddit break in the 2010s? how often does reddit STILL 503 under load?

if the product is really good compared to everyone else, people won't care (as much) that it's broken as long as it comes back up quickly