Having worked at/with multiple web/software startups there are a certain set of tools I’ve gotten used to leveraging to save time and $. Some of these tools didn’t exist even 2-3 years back, so this list might / will get stale pretty fast!
The list that follows assumes these things:
- Time is money (duh!).
- Speed is everything (at least in a startup).
- Humans are expensive, machines are cheap.
- The “cloud” is safe, and everything is going to move there. If you’re a “cloud” startup and don’t buy into it, then go live in a cave.
- Your “startup” can afford $100-200/month of costs using these online services that make your team productive.
Now that we’ve gotten that out of the day, should we jump right in?
- Google Apps – Please don’t waste time using MSFT outlook, or dreamhost, or Godaddy for your email needs. Setup a Google Apps account, it takes less than an hour (at max). You get 50 users for free, can’t beat that.Its safe, fast, Gmail rocks, Google docs works, wiki is barely usable.
- Servers – Use Amazon EC2, Slicehost or Linode. If you’re new to server administration then stick with Slicehost or Linode.
- Github – Source control is important. Its so important that Subversion doesn’t cut it. There I said it. Bitbucket (mercurial) would be the only other thing thats even remotely good. Trac/Assembla/running your own git/svn server etc. are all bad solutions!Notice I am not saying “git”. I am saying Github. It gives you permissions, ssh key based access, easy branching, commenting on code, reviewing merges, integration with 25 external services etc. Its a no-brainer.
- Ticketing / issue tracking – There are many options here. On one extreme is Pivotal Tracker (a steep learning curve). In the middle are the likes of Fogbugz. On the linear/boring side are Assembla or Lighthouse app or even Basecamp todo’s!I really like Pivotal Tracker, but only if you’re a truly agile startup with realistic deadlines and goals. I find it useful even when working on a project alone (instead of in a team).
- External Monitors etc. – Every developer should have a dual monitor setup (minimum of 21″, ideally 24-27″), a fast machine and a chair to sit in that costs around 4-5 hours of their salary/pay-rate. Anything less than any of this doesn’t cut it and you’re pinching dollars where it matters least. Really.
- Payment Gateways – There are lot of (shitty) options out there. On one extreme you can go with Paypal. Thats a reasonable solution from a setup perspective. Sadly their API’s (still) suck … a lot!If you’re ok with getting your own merchant account setup etc. I highly recommend using Braintree Payment Solutions. They have amazing customer service, a well written/thought out API and an API wrapper written in most popular languages (Ruby, Java, Python, PHP etc.).
- Online contracts/NDA’s – If you’re hiring employees, contractors and vendors you’re probably going to be signing a ton of paperwork! Do your brain a favor and use Echosign. It makes getting contracts, NDA’s, I-9 forms signed a breeze.
I’ll limit myself to these 7 things. There are other problems like invoicing (solved by Freshbooks), CRM (solved by 37Signals Highrise or Salesforce), wiki (solved by pbworks.com), sharing files (solved by Dropbox) etc. that need solving too.
But I’ll leave that an exercise for the reader. Just refer to the bullet points I mention above, and if the solution/tool you choose meets/exceeds the goals specified there then you’re good to go!