Thanks for reading. Let me break down your question in two.
“Why did you guys build up the technology from scratch…”
We didn’t. This is an aspect of the story that I didn’t cover here to keep the write up at reasonable length. Under the same scarcity principle that drives many other of our decisions, we try hard not to reinvent the wheel. We build on open source extensively, and this includes large portions of our infrastructure. We use Lucene and Elasticsearch at the core of our search infrastructure; we also reused the fancy natural language processing stack that the Office and Bing folks maintain, and are actively picking up new open source components right now for new capabilities we’re about to announce. While the choice of Lucene, ES, Solr, IndexTank, etc. is debatable, rewriting all of this stuff from scratch would not make sense for a startup and didn’t make sense for us.
Microsoft is a very different place these days. We can build and ship a major Azure service that makes use of open source components at its very center.
“Having something that you put in front of them and asking “do you want to buy this?” is the best way to get feedback”
I don’t completely agree with this point, to me it depends on which stage of product definition you are in.
At first, when you start testing your very first hypotheses, you want to ask non-leading questions and look for behaviors that indicate a real need. You’re trying to learn whether your potential customers see what you’re tackling as a real problem and are willing to spend time, money or other resources on it.
Once you have a strong signal on that and have refined your pitch then sure, you want a prototype and later an MVP as soon as you can build it, and in that sense whatever helps accelerating getting your product to market is a good thing.