intermediate 2 min answer

A team must choose between four candidate technologies. What method produces a defensible decision, and what makes most technology comparisons useless?

typesensemeilisearchselectionevaluationcriteria
Show the full answer Hide the answer

What makes most comparisons useless

Feature matrices. Every candidate supports every feature, the matrix is a wall of ticks, and the decision is made on something not in the matrix — usually familiarity or a vendor conversation, unrecorded.

And benchmarks run by vendors, or run by the team on a workload that does not resemble theirs. A benchmark on uniform synthetic data tells you nothing about behaviour under the skewed, hot-key-heavy access pattern that real traffic has.

The method that works

  1. Write the requirements as constraints before looking at candidates, including the non-functional ones: the scale in two years, the latency requirement, the operational model the team can sustain, the failure behaviour needed, the compliance constraints.
  2. Eliminate on the hard constraints first, which usually removes most candidates and takes an afternoon.
  3. Run a genuine spike on the shortlist with your own data shape and your own access pattern, deliberately including the awkward case rather than the representative one.
  4. Weight operational familiarity heavily. A store the team can debug at 3am beats a better-fitting one they cannot, and this factor is systematically underweighted because it is not a feature.
  5. Assess the exit cost, since every choice is temporary and the ones that are hard to leave deserve more scrutiny.
  6. Record the decision with the rejected options and the conditions that would change it.

The specific trade in this domain

A simpler engine with predictable behaviour and a lower ceiling frequently produces better outcomes than a more powerful one a team tunes badly. The ceiling is only a problem if you reach it; the tuning burden is paid every day.

That is a genuine architectural choice rather than a maturity difference, and the deciding inputs are where the corpus will be in two years and whether the team has expertise to spend.

The question that shortens the whole exercise

"What would have to be true for us to regret this in two years?" It surfaces the scale assumption, the operational assumption and the exit cost in one question — and if nobody can answer it, the evaluation has not been done.