There are people who think of contingencies for an eventually popular product, and people who build actually popular products to think of contingencies for.
Contingengies are things like business models, scalability, high availability, and big data. People who obsess about these before something even exists tend to do so in meetings solely to utter words that keep them on a large organization's payroll.
Woah, you went all abstract real quick. You really want this dude to think there are free lunches?
Not really. I've seen people brainstorm something, and before even validating the need or the prototype, they start talking about millions of concurrent connections and scalability. They would then decide they need to do it in Scala or Erlang, use Kafka, and spend time learning a new stack for high availability, concurrency, fault-tolerance, and all the nice words, and lose years of engineering time.
All that before they even have one user or one connection. Sure, if one has spent 10 years with that stack and that's the one they used to make the prototype, then I agree. But if they're switching because they want to be ready for the "millions of users who'll use the app", that's just statistically silly.
Comments
There are people who think of contingencies for an eventually popular product, and people who build actually popular products to think of contingencies for.
Contingengies are things like business models, scalability, high availability, and big data. People who obsess about these before something even exists tend to do so in meetings solely to utter words that keep them on a large organization's payroll.
Woah, you went all abstract real quick. You really want this dude to think there are free lunches?
Not really. I've seen people brainstorm something, and before even validating the need or the prototype, they start talking about millions of concurrent connections and scalability. They would then decide they need to do it in Scala or Erlang, use Kafka, and spend time learning a new stack for high availability, concurrency, fault-tolerance, and all the nice words, and lose years of engineering time.
All that before they even have one user or one connection. Sure, if one has spent 10 years with that stack and that's the one they used to make the prototype, then I agree. But if they're switching because they want to be ready for the "millions of users who'll use the app", that's just statistically silly.