ZoomInfo relies on technology to create the world’s best directory of business and employee profiles, so we are always looking for new technologies and ways to exploit existing technologies to further that objective. As the Architect at ZoomInfo, I do my best to keep up with new technologies – but there’s only so many hours in a day, and I certainly don’t have a monopoly on good ideas. (Far from it!)
From time to time, the ZoomInfo Engineering Team takes a break for a couple of days from normal project work (such as A Need To Scale: The Cassandra Project) to explore new ideas in a lively brainstorming session we call IdeaFest. Recently, I sponsored TechFest with this stated theme: “Demonstrate how new tools will allow you or ZoomInfo to do new tricks for the business or be more productive.” I provided a few examples and told everyone to be creative, which was pretty much all the ground rules!
About a week before TechFest, a whiteboard in the Engineering area was commandeered so team members could publicly announce the technology they planned to explore and new trick or productivity enhancement they thought it would enable. This got the conversation started and built excitement for the two-day TechFest.
On the morning of Day 1, all team members described their plans. The resulting discussion enhanced the ideas and provided a mechanism for some team members to join forces.
Because we use Hadoop map-reduce and HDFS a lot, there were a number of people looking to investigate related technologies such as Mahout for machine learning and data mining; Cloudera’s distribution of Hadoop and related tools such as Scoop, Flume; and Hive for a scalable, query-able data warehouse. They created a company competitor classifier, a virtual Cloudera Hadoop cluster, and demonstrated potential ways we could use Scoop and Hive for ZoomInfo business on that cluster.
We use Cassandra for some of our large data stores, so engineers in both QA and development took the opportunity to investigate tools to query and export data in Cassandra to ease testing and debugging on those projects. They looked at off-the-shelf tools and wrote a prototype to iterate over rows and extract key data.
Since we use SOLR as our search platform and have data in Cassandra, one engineer checked out Solandra, which integrates SOLR searching with Cassandra data. He learned that it has potential to provide SOLR searches updated immediately upon writes to Cassandra.
Some others investigated tools to increase productivity such as JRebel for web development debugging, Javeleon for NetBeans development, and Review Board for web-based code reviews.
Another wrote a prototype with Apache CXF to investigate its potential for a new API.
At the end of each day, all team members gave a demo or presented what they had done. To be fair, there were some other technologies that did not pan out – but that’s okay! By going through this exercise, we were able to determine that those technologies were not a good fit for now. Some technologies were deemed quite ready to proceed with at this time, so we’ll keep an eye on them as they mature. A handful of prototypes proved successful enough to be assigned to backlogs in specific projects for further investigation. Meanwhile, a couple of the productivity tools are already being worked into our development environment.
After TechFest, we returned to project work with some new tools to increase productivity, along with improved morale from exploring things that had been on our to-do lists. The Engineering Team is now highly motivated to leverage some of the identified technologies to do new tricks for the business. Check back for future blog posts to see how we did that!
-Leo Laferriere, Web Architect