I've been working with the MongoDB community for over a year, and a number of people often ask me why they should learn MongoDB. There are a number of technical considerations involved in choosing a database for a new project, but if you're looking to learn
a new technology, you need the reassurance that there is traction in the field, and resources available to grow as a developer or ops professional. Here's why I think it's the right time to learn MongoDB.
1) The Technology has matured
New technology will have always a rough beginning. Product maturity grows due to increased usage and familiarity. MongoDB has grown along with the community--thanks both to code contributors, community testers and those who vote on new features. A few new features in MongoDB worth noting:
- The aggregation framework provides a quick alternative to MapReduce
- An experimental text search feature will appear in the 2.4 series and will evolve with user input
- v2.2 removed the global lock on the mongodb process. The write lock is now at the database level and additional, more granular concurrency improvements come in future releases.
If you’re learning MongoDB now, you will find that MongoDB has similar functionality to many RDBMS systems you’ve encountered before with improved performance. When using MongoDB you also have the support of a community of experts-- in real life, on Stack Overflow
and on the Google Groups mailing list
--who have over three years of production experience.
2) You Need to Stay Relevant
Interest in MongoDB spiked in 2010, according to Google Search Insights
, and the momentum has only continued to grow.
In May 2012, James Governor posted Indeed Job Trends
for various NoSQL products, all heading uphill since 2010. The chart below shows job postings that mention MongoDB compared to other NoSQL products.
3) You Need to Get Ahead.
Similarly, the LinkedIn Skills Index by 451 Group
illustrates that MongoDB accounts for 45% "of all mentions of NoSQL technologies in LinkedIn profiles"
[caption id="attachment_670" align="aligncenter" width="524"]
NoSQL LinkedIn Skills Index - December 2012[/caption]
Employers are looking for talented engineers who stay up-to-speed on new technologies. But even if you’re not looking for a new position, learning MongoDB can place you in line to lead a new project or oversee a large database migration.
Companies like eBay, the New York Times, Cisco and Disney are running high volume production deployments of MongoDB. Companies like the Guardian have committed to prototype all new projects on MongoDB--calling it the “Mongo First” philosophy. If you work at a large engineering company, it’s likely that some new projects for social communications or advanced analytics products could use a MongoDB backend. With the right expertise, you can position yourself to lead the project.
4) The Resources are there for you!
As I mentioned at the beginning, MongoDB has matured, and so have the the resources for getting up to speed. The docs
, mailing lists
and user forums
are all at least three years old and are available in a number of languages. Additionally, there are community developed resources for getting started, including Karl Seguin's project "The MongoDB Collection
" full of interactive tutorials essays and the popular "Little MongoDB Book
"--which has been translated
into a number of langauges. Here are some more materials for getting started with MongoDB:
- Online Education Courses: 10gen launched online education classes in November, and with the rise of MOOC, it’s likely that more online training will be available soon. 10gen’s 7 Week classes will help you learn the basics of data modeling, application design and operations with MongoDB. The next set of courses begin January 22.
- Training: 10gen offers training regularly for Developers and Administrators in New York, Palo Alto and London, and will be expanding to other cities in the US and EMEA in 2013. This is ideal for those interested in getting started on a new MongoDB project right away.
- Webinars: If you’re chained to your desk all day, try attending an introductory webinar. At 10gen we host at least 1 webinar a week. These offer an in-depth, technical overview into a specific topic, and you’ll always get slides and video after.
- Conferences: Full-day conferences are an excellent way to get a good overview of a particular technology and its ecosystem. Not only will you leave with practical knowledge on how to get started with MongoDB, but you’ll also get to hear from production users who have valuable experience in onboarding development teams designing and scaling applications. 10gen begins our 2013 conference tour in Detroit on January 9, and we’ll be traveling around the world all year. Check out our conference schedule for the rest of 2013.
- A vibrant community: There are MongoDB communities all over the world. Join a user group to become part of the face-to-face community, and learn tips and tricks from other MongoDB users.