Hacker News new | ask | show | jobs
by danfrost 2037 days ago
I've found: - amazing business running on ball of mud code maintained in an insane way - the perfect architecture, CI/CD, TDD where the business/product has little/no value for the customer

Also, I've seen the same stacks succeed and fail. The only common thing I can see is:

- when the tech team fully understand the stack they're using - when the tech team fully understand the product and business they're building (and can make appropriate trade offs)

There are a bunch of basic tech things. E.g. the underlying infrastructure has to be performance, scale, secure etc. There's also the issue of choosing a tech you can actually recruit for.

3 comments

I have seen the same, but came away with a different conclusion.

Shoddy architecture and even a bad product can be compensated by marketing, hype or a good sales team, while the most pristine architecture and codebase will not help you at all without any customers.

We technologists often focus on the technical aspects, but in many domains they are the least important part for a startup.

You are in the business of doing a thing, not having an aesthetically pleasing tech architecture.

It is true that having a nice tech stack can make doing your thing easier, but it can also distract you from doing your thing well.

Very good summary. I was going to write a similar thing.

Tech stack is important but (customer) money in the bank is importanter.

Your daily reminder that FB started with PHP. Ship and sell first, the rest can be done later (yes your customer doesn't care that you rewrote your backend to use nanoservices in Go deployed to hundreds of lambda functions).

Facebook was originally a garbage PHP app.
Technically, it still is.
From what I’ve seen it all comes down to org culture. Have a ball of mud that’s a nightmare, but senior engineers who are kind, empathetic, and enjoy mentoring, no problem. Have a perfect architecture written perfectly in $lang by elite devs that don’t have time for mentoring or collaboration, guaranteed failure.