Graph Processing Software Engineer

Internship: JavaScript and NodeJS software engineer with an interest in data science and graphs

Why you should do it?

Plutinsus is a research-driven technology start-up that develops innovative data science applications to turn complexities into opportunities. The challenge in this area is to integrate data from a large variety of data sources (fully structured tables, tree-style documents, graph-based networks, geographical maps) in an agile and flexible way with no change to the software required. This data then needs to be made available to all relevant stakeholders – from expert users to sporadic users – in order to help them understand causes and foresee effects.

There is a growing demand for such advanced analytical capabilities, and so the small, entrepreneurial Plutinsus team wants to move forward faster. Everyone makes an impact as progress is all that matters. And progress is needed as Plutinsus moves along the cutting edge and continues to invest in research. Members of the Plutinsus team have been working at various high-tech start-ups for many years, both in Silicon Valley and in Switzerland, and have studied and done research at Stanford University and at universities in Switzerland.

Do you want to be part of this technology innovation?

What you should do?

We have been building our system based on an in-memory graph data structure in JavaScript. We now would like to experiment with a novel, immutable and purely functional design and implementation of this data structure, similar to class libraries for map- and array-based data structures such as Immutable.js, lodash/fp, Ramda or Immer. Using a data pipeline approach, this data is amended in successive processing steps. The intermediate results should be materialized and cached with versions, similar to commits in Git, such that we can go back to any point in this pipeline and run just the remainder again. Data from different sources (tables, nested documents, relationships) should be mapped to this graph structure. Finally, this graph data should be written to and read back from a persistent storage such as files, databases or JSON-LD.

Do you want to take up this challenge?

How you should do it?

We certainly haven’t got all the answers. We may not even have got all the questions. This project may require reading up on some research literature in this area. You want to apply your knowledge in the concepts of data structures and algorithms and in the principles of functional programming; and, of course, in JavaScript as the programming language. We want to try out some of the newest technologies together with you. Therefore, we foster a collaborative working culture and are all in it together. Hence, you can expect to be supported by and to learn from experienced experts in this field in order to discuss your ideas and to demonstrate your code. You can enjoy great flexibility with respect to when and where you want to work. This independence should be matched with a good communication style.

Do you have what it takes to make this project a success?

If you have answered these three questions with “yes” then contact Wolfram Willuhn at wolfram@plutinsus.com to discuss your internship opportunity.