Ever wondered how other people are making the most of MongoDB and MongoHQ?
Over the coming months we’re hashing it out with some of our esteemed users, giving you the story on why and how they use MongoDB on MongoHQ to make both their applications and their businesses better.
This week, we talked to Dan Croak from thoughtbot about the thoughtbot team's experiences using MongoDB and MongoHQ. thoughtbot are a very talented group of expert designers and developers doing consulting work for clients that include MITx, Yammer, and LevelUp, and have been using MongoHQ since 2010.
Please tell us about your product/service and customers
thoughtbot is a team of expert designers and developers available for web and mobile app contract work. We have one of the largest Ruby on Rails consulting teams in the world and were one of the first in the world to specialize in Rails. We run product design sprints to focus on building the right product for our customers and reduce the chances of building things no user wants.
How many folks work at your company?
63 people work at thoughtbot. We currently have 28 people in Boston, 18 in San Francisco, 8 in Denver, 5 in Stockholm, 2 in Raleigh, 1 in New York City, and 1 in Philadelphia.
How large is your development team?
We have 12 designers, 40 web developers, and 5 mobile developers.
What infrastructure or platform services do you use?
Heroku for our Ruby app and background processes. Heroku Postgres for our Postgres databases, Redis to Go for Redis databases, MongoHQ for MongoDB databases, SendGrid for email delivery, New Relic for performance monitoring, Airbrake for error notification, Parse for iOS/Android push notifications.
Why did you choose MongoDB?
We've chosen MongoDB when we felt we were modeling a domain that needed extreme flexibility, such as an application that allowed users to create many different kinds of quizzes.
What do you know now that you wish you knew at the beginning?
We wrote many data migrations in a style similar to using ActiveRecord with Postgres. At the time (2009) there weren't existing Ruby libraries to make the process easier so our client wrote one. I wish that library existed before we started.
How does MongoHQ help you leverage MongoDB?
For the vast majority of our clients, hosting their own databases would be absurd. They are early stage companies or companies working on early stage products. They have higher-level problems they need to focus on like "who has the problem we're trying to solve?", "are we able to reach those people?", "of the people who use the product, do enough of them love it for us to scale up our operations now?", and "how can we make this product better so we retain more customers?" MongoHQ, like Heroku Postgres and Redis to Go, have solved the database hosting problem very well for their respective databases. Our clients and we gladly pay for highly available hosting, automated backups, and the peace of mind that the critical data layer of the business is handled well by partners who specialize there.
How does MongoHQ help you leverage your business?
The ease of getting a Mongo database on MongoHQ allows us to "spike" a potential solution quickly and share it with early stakeholders and beta testers. Even if we don't turn that into a long-term production application, the speed with which we can start validating our and our clients' business assumptions is hugely valuable in terms of time and money saved.
How has MongoHQ helped you scale your team or your operations size?
We are an application development shop. We go home at night and are not on pager duty. MongoHQ, Heroku Postgres, and Redis to Go allow us to live a lifestyle that's important to our company culture, our employees, and their families.
Are you hiring?
Yes, we are always looking for developers and designers. http://thoughtbot.com/jobs
Thanks to Dan Croak and the team at thoughtbot for taking the time to speak with us.
Become one of our blog post stars! We’d love to share your story. If you are interested in taking part in a Q&A session with us, please contact firstname.lastname@example.org and let us know!