Eugene Lee ’15, Spry, Inc.

The first day of our Princetern­ship, the six of us we were brought to the spa­cious offices of Spry by Mar­ket­ing Direc­tor Meg Nacios, who told us briefly about the com­pany on our drive. After we arrived, we spoke with Brooke Steven­son ‘01, CEO of Spry Inc., who walked us through the company’s method­ol­ogy and phi­los­o­phy. Sev­eral other employ­ees spoke with us, elu­ci­dat­ing the struc­ture and tech­ni­cal side of the technology.

Spry’s Agile Ana­lytic approach to data man­age­ment works through a fast-paced, or ‘agile’, devel­op­ment cycle, tak­ing advan­tage of seman­tic ontolo­gies to link dis­parate data­bases which enhances flex­i­bil­ity while main­tain­ing the ana­lyt­i­cal power of tra­di­tional meth­ods. To explain more sim­ply, Spry uses a novel way of con­nect­ing data with seman­tics, specif­i­cally ontolo­gies. An ontol­ogy works by con­nect­ing objects to sub­jects with pred­i­cates, like “Bob is a stu­dent of Prince­ton Uni­ver­sity” and “Bob is a Com­puter Sci­ence Major.” This allows the struc­tur­ing of data through log­i­cal “triples,” which is much like a human men­tally struc­tures infor­ma­tion. Because a major part of their work involves seman­tics, Spry employs the inter­est­ing com­bi­na­tion of Com­puter Sci­en­tists and Philoso­phers. Like other data ana­lytic tech­nolo­gies, Agile Ana­lyt­ics allows for mak­ing con­nec­tions between dif­fer­ent data sources. For exam­ple, with enough stu­dent data, you could assume from the two pre­vi­ously given prop­er­ties of “Bob” that he stud­ies Com­puter Sci­ence at Prince­ton, almost def­i­nitely lives on cam­pus, is prob­a­bly between the ages of 18 and 22, and is most likely a mem­ber of at least two stu­dent groups. How­ever, one major dif­fer­ence is that Spry’s tech­nol­ogy allows for real time updat­ing when the source data is changed, does not require rework­ing of the ontol­ogy when adding new descrip­tors, and is sim­ple enough for non-technical work­ers to edit the ontology.

After exten­sive expla­na­tion of the company’s work­ings, we began to work hands-on with some of the soft­ware the com­pany uses, allow­ing us to gain a more inti­mate under­stand­ing of how the tech­nol­ogy is run and what kinds of activ­i­ties are per­formed by employ­ees there. First, we looked at Knoodl.com with Meg, a web­site devel­oped by part­ner com­pany Revolyt­ics, which allows for the cre­ation and stor­ing of ontolo­gies online. Sev­eral major projects are on Knoodl, includ­ing Bio­BIG, a data­base cur­rently under con­struc­tion intended for phar­ma­ceu­ti­cal com­pa­nies that can be used to ana­lyze drug infor­ma­tion. Next, we learned RDF, a stan­dard­ized method of writ­ing ontolo­gies, and wrote our own ontolo­gies in Tur­tle, a more stream­lined method of writ­ing RDF, as RDF is a rather dif­fi­cult lan­guage to read. We were guided by Christina, as well as other mem­bers of the com­pany, includ­ing Michael, another Prince­ton alum, who in addi­tion to teach­ing us the new lan­guage, gave us valu­able infor­ma­tion for the future, as well as their indi­vid­ual expe­ri­ences dur­ing and out of college.

Eugene, Brooke Steven­son, and Princeterns

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. Dur­ing lunch, employ­ees (and we) had an oppor­tu­nity to take a break and chat freely or use the ping pong table. Spry in gen­eral is rather infor­mal (although the work they do is very seri­ous), as there is no dress code, few restric­tions on how you work, and oppor­tu­ni­ties to work on some­thing out­side of your niche. Employ­ees also can sched­ule weekly mas­sages and appar­ently have group yoga ses­sions. Clearly, there are some advan­tages to work­ing at Spry, in addi­tion to the inter­est­ing posi­tions here.

The sec­ond day was filled with SPARQL – a spe­cial­ized query lan­guage for data ontolo­gies. We were guided by Christina, again with other mem­bers of the com­pany talk­ing about other sec­tions of Spry that they spe­cial­ized in. We used SPARQL queries to go through the Bio­BIG data­base — and retrieve the num­ber of drugs in each cat­e­gory listed in the data­base. While chal­leng­ing at times, par­tic­u­larly due to our lack of expe­ri­ence in this new lan­guage, we were all able to suc­cess­fully pull this off, and cre­ate a pro­gram that uses actual data to per­form a prac­ti­cal task.

Our third day, we went in early to watch a ‘stand up’, where the ana­lyt­ics team of Spry have a short con­fer­ence where they ask each other about any prob­lems they may have  encoun­tered the pre­vi­ous day, and oth­ers offer poten­tial solu­tions to their prob­lems, pre­vent­ing any one per­son from suf­fer­ing from a par­tic­u­larly annoy­ing prob­lem for more than a day. This is an inte­gral part of Spry’s ‘agile’ devel­op­ment process, as it allows them to over­come obsta­cles, and avoid prob­lems that pile up as the project goes on. The rest of the day was spent writ­ing in another lan­guage called MDQO (Model Dri­ven Query Ontol­ogy) which is so spe­cific to Spry that inter­net searches come up with no rel­e­vant links. This pro­gram is used to con­vert user input from the UI to send cus­tom SPARQL queries to the data­base. Our task was to mod­ify a com­pleted MDQO pro­gram used to search through a mil­i­tary mis­sion data­base for the Depart­ment of Defense so that it would work with the Bio­BIG data­base. This was very dif­fi­cult, as we were not given much instruc­tion on the work­ings of the pro­gram, which is under­stand­able. It is nec­es­sary to learn a pro­gram your­self if you know you will be unable to eas­ily get help. Thus, we had to charge head first into the code, result­ing in many stum­bles, but also a very fast under­stand­ing of the pro­gram. For­tu­nately, we were able to talk with some of the employ­ees who had pre­vi­ously under­gone this same strug­gle. The pro­gram we edited will be used by Spry as a start­ing 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 ana­lyt­ics team, and oth­ers about their opin­ions on col­lege, edu­ca­tion, dif­fer­ences between col­lege and work envi­ron­ments, and the real­i­ties of what the future held.

This Princetern­ship affirmed my plans to study Com­puter Sci­ence, but helped me change my men­tal­ity towards how I should treat my col­lege edu­ca­tion, what I should focus on, and how I should approach the end of my col­lege career when it comes. It also showed me a bet­ter pic­ture of what life would be like work­ing in a small com­pany, where every­one is very close, work is fast– paced, and employ­ees’ roles are far less restricted than at a larger company.

I would def­i­nitely rec­om­mend this Princetern­ship to any­one inter­ested in tech­nol­ogy; how­ever, I would like to stress that ANY Princetern­ship would be extremely help­ful for any­one look­ing towards get­ting a job or lengthy intern­ship in the future. Even if one has plenty of prior work expe­ri­ence, get­ting a Princetern­ship at a dif­fer­ent com­pany will reveal a very dif­fer­ent set of peo­ple, envi­ron­ment, and work methodology.

I would like to thank every­one at Spry; Christina for instruct­ing and guid­ing us through our code, Meg for help­ing orga­nize the Princetern­ship, both online and in per­son, and Brooke for giv­ing us this great oppor­tu­nity to come to Spry in the first place, as well as con­tin­u­ing to offer future Princeternships.