At a recent MongoDB SF event, I had a chance to meet Rick Copeland. He was in town and stopped by the event to sign copies of his book, MongoDB Applied Design Patterns. While I am not Rick’s editor, I approached him to see if he would be okay with me filming the book signing as well as participating in a follow-up written interview. He agreed. It was great to catch a bit of footage of the event as well as have a chance to ask Rick about how he started working with MongoDB, why he wrote the book, and how he balances a busy schedule filled with working, writing, and speaking.
How did you get started working with MongoDB?
Rick Copeland: I started using MongoDB at Sourceforge in 2009. Just before I came on board, the decision had been made to base the next generation of SourceForge on MongoDB instead of relational databases. The driving factors behind this decision were some internally-conducted benchmarks and a developer love of the document-oriented model.
Why did you decide to write MongoDB Applied Design Patterns?
Rick Copeland: One of the things that relational databases have that MongoDB doesn’t is over 40 years of academic research and best practices around the data model. The document-oriented design gives you a lot more freedom than a relational model, freedom to either get great performance, to shoot your self in the foot. I wanted to give people who have some familiarity with MongoDB the tools and patterns they need to design their applications to get the most out of the database, short-circuiting some of the trial-and-error approach we had to use at SourceForge.
What is the most common thing you are asked during book signings?
Rick Copeland: Probably either how I got started with MongoDB or how hard it is to write a book (or what the experience is like).
Speaking of MongoDB events, I see that you recently spoke at MongoDB NYC. What was session about?
Rick Copeland: My startup Synapp.io recently had to build a distributed job queue to support our web application. We investigated a few different existing options, but ended up building our own job queue atop MongoDB. The session described some of the techniques we used to get good performance in a context (publish/subscribe and queueing) that people don’t normally consider MongoDB’s forté.
As you are able to successfully balance working, writing, and speaking, do you have any advice for someone who is interested in writing a book or speaking?
Rick Copeland: I would say the best advice for writing is to pace yourself, and don’t self-edit when you’re drafting. The most important thing is to get words on paper (well, on screen) and do the editing later. For speaking, I’ve been lucky to have worked on a number of interesting projects over the years, so it’s been a pleasure sharing what I’ve learned. I will say that one trap some speakers (including myself) fall into is simply reporting. It’s important to focus instead on what you want your audience to get out of your talk other than “wow, that speaker is really smart.” Make sure there’s either actionable information, inspiration, or ideally both, that forms the basis of your talk. In both cases (writing and speaking), the most important thing is to just get started. Give yourself the freedom to screw it up in the beginning, and adjust and improve as you go along.