Hacker News new | past | comments | ask | show | jobs | submit login
“your app will fit on two Heroku Standard 1x dynos and one Standard 0 database” (twitter.com/garybernhardt)
30 points by tosh on Dec 30, 2020 | hide | past | favorite | 6 comments



I know this is in jest, but this will never work in practice if you did actually try it.

Over-engineering is never done by accident; there's a reason for it. The reason is that someone's personal goals took priority over the actual business problem that the software should resolve. Someone wants to be a CTO or head of engineering and speak at AWS conferences about very complex (but self-inflicted) problems, someone wants to manage multiple people under them (even though the combined business value delivered is often below what a single employee on a non-crazy stack can deliver) or play with latest Terraform, serverless, JS framework of the day, etc.


ego-driven development

If I am a senior engineer with a huge salary and I am asked to come up with an architecture proposal, and the end result is a proposal so simple (but correct) that a first year university student could've come up with the same thing, it might lead to uncomfortable questions being asked. So I'll add a few unnecessarily complicated pieces in there, call them safeguards, something to help with scaling, maybe throw in some caching here and there, just to be safe.


I sort-of agree with that, but have also seen the complete opposite.

Note that the original tweet is by a consultant - so his clients are prone to hiring consultants.

Maybe they just hired a very expensive consultant that really really really sold them on microservices, and no technical person at the company was brave enough to challenge that.

I've worked for a company before where just that happened.

As a software engineer, it's hard to be more convincing than someone in a suit whose day job it is to be convincing.


25 engineers isn’t a small team. If you want to push code with 25 people working on one codebase, some kind of interface will need to be put up between all of them. CI becomes a pretty big challenge too.

I don’t think you can expect the complexity of the code to stay contained to just the code at that point - it will leak into the infra. Fighting it just means you will have more debt to pay down later.


I'd go one further and say your app can run on an old dell desktop salvaged from the back of the local high school if you spent a bit of effort on actual performance


Or just didn’t go out of your way to do things in a way that’s both more difficult and slower.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: