Tobias Lindaaker - Senior Engineer @ Neo4j

I first heard of Neo4j by going to university in Linköping together with Neo4j co-founder and now CEO, Emil Eifrém. This was before Neo4j was a product, when it was just a (newly invented) technology used internally at the company where Emil had worked before taking a break in order to get an actual degree. The two of us started a study group together with two other students in order to get the best possible grades we could in calculus. Based on our initial success we continued studying together for most of our exams.

I don't remember exactly when Emil first mentioned the "NEO Engine (Of course)", but I know we had quite a few conversations about what what the API of such a network data storage library would look like if/when it was released under an open source license. The first time Mr. Eifrém shared some actual Neo4j code with me was in December 2006 in the office he had just rented for taking the initial steps towards creating a company around this database. I received a binary build of the single 500kB jar-file that constituted the initial core of what was to grow into Neo4j. The very first thing I tried to do was to store a Date as a property, which failed with an error message that was far from helpful. This makes me quite happy that we now, almost 12 years later finally gotten to the point where the product roadmap had me spearhead getting temporal types into Neo4j version 3.4 - the result of which are far better than they would have been back in 2006.

After that initial failure I quickly became more productive. Over the holiday that year I built the first python driver for Neo4j. While this was compatible with both CPython and Jython, the lagging language support of Jython made it less pleasant to use. In order to fix this, I joined the Jython team and helped kick some life into the project by re-implementing the compiler to support version 2.5 of the Python language. This also kick-started my own open source and public speaking career.

In summer of 2007 Emil had incorporated the company behind Neo4j together with the other co-founders. Emil was starting to spend most of his time finding investors, and Johan was focusing on making the engine as good as it could be. None of this brought any money to the bank account in the short term. In order to get some cash to cover the day-to-day expenses Emil hired me to do consulting contracts, some for early users of Neo4j and some for companies just needing developer expertise. The first Neo4j customer I worked with during the late months of 2007 I helped to build vehicle tracking system using GSM profiles for positioning and a geospatial index in Neo4j.

When we finally got an investment deal in 2009 I moved with the company to Malmö, where I work at our main development office.

Through the years I have been involved with most parts of Neo4j. Right now I am mostly involved in the various query language aspects, both strategic and technical. I still maintain a solid technical grounding in the implementation of the database.

In this forum I would be able to discuss most technical aspects, as well as all aspects of query languages. I will probably not be a very frequent poster though, primarily relying on my colleagues to notify me when there is something here that I should pay attention to.

Happy hacking,
Tobias Lindaaker


Welcome Tobias, thanks for the insights and all your work in and around Neo4j! I make sure to point you to relevant posts.