I'm a student at the University of Virginia and a founder who hopes to use Zapier to "scale" my business processes as my venture moves from high-touch to more mass-market products. I took a class called Internet Scale Applications where we implemented a scalable application with Docker, Django, MySQL, ElasticSearch, and Kafka. It's great to see that what I learned is immediately applicable in the industry.
My questions has to deal with problem recognition and tool selection. From my understanding of Zapier, you guys went into YC after university, with little time in the industry. As you were scaling, how did you recognize problems in your technology which were present / were approaching, and how did you choose tools to address these problems?
I ask because many times the information overload of tool selection can lead to analysis paralysis. This is most often seen with the "Django, Node, or Rails" debate of student programmers who want to make something, but I presume it's a flaw of human nature, and not of youth.