2 min read
Specifically, when making technical decisions.
Community his hugely important any many areas of life, but lately I've found that it's particularly pertinent in making technical decisions.
Recently at Trustar we started using a graph database. We have a lot of interrelated data so the graph model has made conceptual sense for a long time. So this year when we decided to implement a graph database in production we had a technical decision to make: Which database do we use?
We're a small team (currently ~5 engineers) so we definitely don't have the bandwidth to build our own implementation. That means we need to choose among the existing solutions. There are currently several graph database providers in the wild, and they all seem to do pretty much the same thing. Technically speaking, the usual points they hit in differentiating themselves are ones of how they handle scalability and replication.
But technical points are not the only ones to consider when making a decision like this. We also wanted a strong community around the company we chose. Being in San Francisco, it should come as no surprise that one of these companies—Neo4j—not only has an office hear but they also host a meetup near our office.
I went to their meetup once and was quite happy with what I found. Everyone on their team was friendly and helpful. That was all we needed. Now we're running Neo4j in production and it's the backing data-store on top of our visualization product, Constellation:
On top of that, I also got a chance to do an interview with the Neo4j which is now live on their blog: http://neo4j.com/blog/ian-sinnott-software-engineer-trustar/
Then earlier this week two Neo4j team members came to our office and had a long discussion with us about our graph database architecture. All of this while we're still on the free teir of their product. That's excellent.
That was just one example in my own life, but if you look at other projects with significant communities the same is clear:
The point being, if you're ever struggling with a decision between two technical solutions opt for the one with the larger community.