How to Decide Which Software to Use for Your Startup
Tech companies quietly transmit a lot about themselves through the software they use to build their products; engineers call it their software stack, or technology stack. Though these choices can be babel to non-engineers, to fellow developers, a company's stack flaunts its values and priorities, its technological ambitions, and what it expects of its products. So the fact that Twitter, for example, uses in-house Java technology (after years of "fail whale" error messages with Ruby on Rails) reflects its priorities of reliability and scale.
There's a fertile concept here. Imagine interpreting not only the software a company uses to build products but all the software it uses to conduct its operations, from communication to collaboration to human resources. This is, so to speak, the full productivity stack. Just as the software stack says much about your company's technological ambitions, the choices your startup makes with its full stack of tools speak volumes about the culture you are creating.
Yet though most tech startups think deeply about what their software stack should be, they rarely think hard enough about all the other tools they adopt. It's no small thing; building the right company culture is a startup fixation these days, and there's much energy expended upon awesome office décor and dogs-in-the-office policies. But it's surely more important to think through whether you will use HipChat or Yammer, Asana or Basecamp, Dropbox or Box.
At Iodine, my startup in San Francisco, our technology stack is Node.js using Google Closure and Facebook React on the front end, and Elasticsearch on the back end, reflecting our Google-bred roots in data and analytics. But our full stack includes all the tools we use to communicate as a company--Asana for task management, Slack for instant messaging and company chatter, Gmail for email. It includes products we use to communicate to the outside world: Twitter and Facebook, of course, as well as Buffer and Sprout to help us manage our social media. Then there are the tools to run analytics and user testing (Crazy Egg and Optimizely and Olark and Qualaroo), and those we use to prototype (OmniGraffle, Keynote, and the sadly discontinued Adobe Fireworks), to manage passwords across the organization (Mitro), and to create and share documents (Google Docs).
Choosing these tools has been painful at times. Each product has its quirks, tradeoffs, and learning curve. And even the best must be calibrated to suit our team's habits and priorities. Some tools have had huge fans on our team, only to be rejected by the consensus. Indeed, for every tool we have adopted, we've spun through at least one other. We tried using Google Hangouts and Plus for internal communication, but people just couldn't integrate it into their daily flow. And though Dropbox seemed promising for sharing files, we forgot to use it, despite paying a $15 a month per desk subscription fee.
Unlike office supplies or incorporation plans, there's no common checklist for what a startup may need. Each company needs to decide--even with plenty of other stuff to get done--whether one more analytics program is worth the pain of learning and testing and tweaking. And so we have tried many and chosen some, and hold out hope that some will be replaced one day by a better product.
Along the way, we've learned that these products aren't just pro forma back-end decisions. Our tools create our process, and the process creates the culture--whether intentional or not. These are the choices that will determine how happy our team is and how much we accomplish. After we've adopted our ideal full stack, we can decide whether to install a kegerator.