When the topic of graph databases — specifically Neo4j — has come up in the IRC chatrooms I lurk in, I hear a common refrain: “Neo4j is really awesome, and there’s no way my boss will ever let me use it.”
I also hear from its sibling a lot: “Neo4j looks really cool, but I have no idea what I’d use it for.”
Both are pretty common issue for developer types. They’re interested in exploring a technology or platform, but don’t think it has a place in the work they do on a daily basis.
That’s where our friend the side project comes in.
The side project lets you make whatever you feel like on your own time. You get to build something substantive, and in the process, it gives you opportunities to:
- Learn new technologies and techniques
- Follow a passion or curiosity
- Demonstrate expertise and a willingness to learn new skills. Career++!
- Ask 20 people you know for their top five favorite movies. Put the friends and movies in a graph. Find interesting patterns (my friends who like this movie often also like that movie). You’re now well on your way to making a simple recommendation engine.
- Build a blog driven by a graph instead of a relational database. While it doesn’t sound like one of the traditional “sweet spots” for graphs, there’s no reason you can’t do it, and you could explore both relationship/discovery and the simpler, easier model of nodes and relationships vs. tables and joins.
- Create a graph-driven version of the Open Movie DB. This is a big data source, so a lot of the work would be in conversion, but even if you got a subset you could do a lot of interesting stuff, and it would be a good examination of the power of the graph model vs. relational databases.
- Grab your last X tweets from Twitter (because everyone uses Twitter, right?) and put them into a graph. Make sure to separate entity types like users, tweets, hashtags, etc. Then you can easily examine your posting and interaction patterns using Cypher queries. Extra credit for making fancy charts and visualizations.
It doesn’t need accouterments like a well-designed UI or an authentication system, until you decide it does. You can explore the stuff that interests you, and leave the bits that don’t.
OmNomHub by Michelle Sanver is a great example of a side project that uses Neo4j. You can also see her talks on Neo4j, which use OmNomHub as an example of how graphs can be useful and powerful.
It can be hard to find the time for a side project, especially if you have lots of other responsibilities, but making time for one can be extremely rewarding, both personally and professionally.
If you have an idea, sign up for our free trial and give Neo4j a spin.
Register below to meet and network with Ed Finkler and Greg Jordan of Graph Story – and many other graph database leaders – at GraphConnect San Francisco on October 21st.
About the Author
Ed Finkler, Lead Developer & Head of Developer Culture at Graph Story
He served as web lead and security researcher at The Center for Education and Research in Information Assurance and Security (CERIAS) at Purdue University for 9 years. Now he’s a proud member of the Fictive Kin team. Along with Chris Hartjes, Ed is co-host of the Development Hell podcast.