The first day of our Princeternship, the six of us we were brought to the spacious offices of Spry by Marketing Director Meg Nacios, who told us briefly about the company on our drive. After we arrived, we spoke with Brooke Stevenson ‘01, CEO of Spry Inc., who walked us through the company’s methodology and philosophy. Several other employees spoke with us, elucidating the structure and technical side of the technology.
Spry’s Agile Analytic approach to data management works through a fast-paced, or ‘agile’, development cycle, taking advantage of semantic ontologies to link disparate databases which enhances flexibility while maintaining the analytical power of traditional methods. To explain more simply, Spry uses a novel way of connecting data with semantics, specifically ontologies. An ontology works by connecting objects to subjects with predicates, like “Bob is a student of Princeton University” and “Bob is a Computer Science Major.” This allows the structuring of data through logical “triples,” which is much like a human mentally structures information. Because a major part of their work involves semantics, Spry employs the interesting combination of Computer Scientists and Philosophers. Like other data analytic technologies, Agile Analytics allows for making connections between different data sources. For example, with enough student data, you could assume from the two previously given properties of “Bob” that he studies Computer Science at Princeton, almost definitely lives on campus, is probably between the ages of 18 and 22, and is most likely a member of at least two student groups. However, one major difference is that Spry’s technology allows for real time updating when the source data is changed, does not require reworking of the ontology when adding new descriptors, and is simple enough for non-technical workers to edit the ontology.
After extensive explanation of the company’s workings, we began to work hands-on with some of the software the company uses, allowing us to gain a more intimate understanding of how the technology is run and what kinds of activities are performed by employees there. First, we looked at Knoodl.com with Meg, a website developed by partner company Revolytics, which allows for the creation and storing of ontologies online. Several major projects are on Knoodl, including BioBIG, a database currently under construction intended for pharmaceutical companies that can be used to analyze drug information. Next, we learned RDF, a standardized method of writing ontologies, and wrote our own ontologies in Turtle, a more streamlined method of writing RDF, as RDF is a rather difficult language to read. We were guided by Christina, as well as other members of the company, including Michael, another Princeton alum, who in addition to teaching us the new language, gave us valuable information for the future, as well as their individual experiences during and out of college.
Our time at the offices of Spry went from about 10 am to 4 pm each day, and we were offered lunch from the office’s kitchen. During lunch, employees (and we) had an opportunity to take a break and chat freely or use the ping pong table. Spry in general is rather informal (although the work they do is very serious), as there is no dress code, few restrictions on how you work, and opportunities to work on something outside of your niche. Employees also can schedule weekly massages and apparently have group yoga sessions. Clearly, there are some advantages to working at Spry, in addition to the interesting positions here.
The second day was filled with SPARQL – a specialized query language for data ontologies. We were guided by Christina, again with other members of the company talking about other sections of Spry that they specialized in. We used SPARQL queries to go through the BioBIG database – and retrieve the number of drugs in each category listed in the database. While challenging at times, particularly due to our lack of experience in this new language, we were all able to successfully pull this off, and create a program that uses actual data to perform a practical task.
Our third day, we went in early to watch a ‘stand up’, where the analytics team of Spry have a short conference where they ask each other about any problems they may have encountered the previous day, and others offer potential solutions to their problems, preventing any one person from suffering from a particularly annoying problem for more than a day. This is an integral part of Spry’s ‘agile’ development process, as it allows them to overcome obstacles, and avoid problems that pile up as the project goes on. The rest of the day was spent writing in another language called MDQO (Model Driven Query Ontology) which is so specific to Spry that internet searches come up with no relevant links. This program is used to convert user input from the UI to send custom SPARQL queries to the database. Our task was to modify a completed MDQO program used to search through a military mission database for the Department of Defense so that it would work with the BioBIG database. This was very difficult, as we were not given much instruction on the workings of the program, which is understandable. It is necessary to learn a program yourself if you know you will be unable to easily get help. Thus, we had to charge head first into the code, resulting in many stumbles, but also a very fast understanding of the program. Fortunately, we were able to talk with some of the employees who had previously undergone this same struggle. The program we edited will be used by Spry as a starting point for the UI they will be using as a demo for future clients. We also were able to talk with Christina, Topher, Andy, the leader of the analytics team, and others about their opinions on college, education, differences between college and work environments, and the realities of what the future held.
This Princeternship affirmed my plans to study Computer Science, but helped me change my mentality towards how I should treat my college education, what I should focus on, and how I should approach the end of my college career when it comes. It also showed me a better picture of what life would be like working in a small company, where everyone is very close, work is fast- paced, and employees’ roles are far less restricted than at a larger company.
I would definitely recommend this Princeternship to anyone interested in technology; however, I would like to stress that ANY Princeternship would be extremely helpful for anyone looking towards getting a job or lengthy internship in the future. Even if one has plenty of prior work experience, getting a Princeternship at a different company will reveal a very different set of people, environment, and work methodology.
I would like to thank everyone at Spry; Christina for instructing and guiding us through our code, Meg for helping organize the Princeternship, both online and in person, and Brooke for giving us this great opportunity to come to Spry in the first place, as well as continuing to offer future Princeternships.