Ask HN: Where do you draw the line of over-engineering?
I am going to build a marketplace for shipment of things. Demand/supply discovery/matching (lots of variables) plays a big role. We want to make it really cheap for very small businesses to use us.
The obvious question that came to mind: should I use technologies that I know? That would be Python/PostgreSQL/React/Redux/RESTful. On the other hand introducing GraphQL seems logical to me, but it is outside the comfort-zone of REST. Or say using non-Python stack for demand/supply messaging.
So even small changes might seem over-engineering if I have a learn about them, but in the long run they might be well suited to the problem. If I was experienced in something else (Golang/Elixir/GraphQL...) I would pick that for my stack. So personal preference plays a huge role in what we call "over-engineering". Where do you draw the line?
Thanks for your thoughts
2 comments
[ 2.7 ms ] story [ 12.6 ms ] threadTo me, that's a place where the business is over-engineered. "We want very small businesses to use us," is the right amount of engineering and "we want to make it cheap for us to run" is also sound engineering. A well engineered business has lots of customers who pay substantially more money for the products and services than it costs to provide them. Nothing else really matters. Even REST or Python.
Good luck.