HACKER Q&A
📣 dirkdiggler2

What Is Going on with Neo4j?


Neo4j Inc just laid off 10% of its employees.

The negative reviews in GlassDoor are piling up, and seem to share common themes - and it is not pretty.

There are accusations that management tried to lie to early investors about revenue sources.

Does anyone have any idea or insight into what is going on with them?


  👤 WirelessGigabit Accepted Answer ✓
Part of our team uses Neo4j. It's a giant pain in the ass. The amount of time we've spent on the phone with their support trying to unravel bugs that they caused is insane. We don't get that with a paid product like MSSQL. Hell, Postgres isn't that bad and it's FREE!

The cost of Neo4j also went up with their new model. (see https://neo4j.com/blog/open-core-licensing-model-neo4j-enter...)

And they did the thing with the closing their source which nasty.

Then there's the separation of OnGDB which we looked at, but that didn't go well either. One day they deleted all of their packages. All gone. Thank God we had caches, but it took them a while to come back online. In hindsight because Neo4j had sued them. I understand that but that caused a LOT of headaches.

I feel that Graph databases are one of those things like Document databases. You probably don't need it...


👤 rippercushions
Spicy take: graph databases are the blockchain of the database world. Sounds sexy, scales badly, has very few if any use cases that traditional databases can't handle better.

👤 wharfjumper
We're in the process of migrating off Neo4j/OngDB to Postgres. Happy with how it's going so far.

👤 Terretta
Too many of these "Company X laid off y%, what's going on?" threads.

In general, a healthy emerging technology workforce should likely have ~ 20% turnover annually to stay fresh and modern. That means an average outside knowledge age of five years, which is quite long.

Some percentage of that 20% should be voluntary. If everyone stays 5 years before moving on, that's 20% turnover, with people leaving in 2 years balanced by people staying eight years, a long time in software years. Some percentage really should be so-called desired attrition, helping people find a better place.

It's unlikely all hires are great fits -- impressive if only 1 in 10 would be a better fit somewhere else -- so unlikely that 10% is as indicative of problems as you worry. For reasons, most firms are incapable of grappling with that day to day, so it takes adverse externalities to push them to encourage fit and upskilling mobility that should be normal.

If a firm can learn to help people find better fits and bring in current outside skills as a regular everyday part of business (rather than once a year layoffs), the firm will be much healthier.

// Finally, consider Postgres. ;-)


👤 iod
When it comes to graph databases, my favorite is still ArangoDB, definitely worth checking out if you are worried and looking for alternatives.

https://www.arangodb.com


👤 1attice
I think probably memgraph.com is what's going on with neo4j

👤 mardifoufs
The negative glassdoor reviews seem to be mostly if not almost from sales staff. Not sure what that means but it's a bit weird to see such a skewed ratio!

👤 bottlepalm
Any relational database can be represented as a graph, which means any fresh hot dev is going to want to port the entire company over to a ‘graph’ database. That’s just common sense right. It’s a slam dunk when pitched to management.

👤 rkwz
I was leaning towards Neo4j as it had support for graph algorithms such as WCC, louvain etc

What would be a good alternative for it?


👤 yehudalouis
Neo4j was a terrible experience as a developer. It crashed constantly, local dev required me to finagle around with Java SDK versions and packages. I'm not gonna mess about with that. Their managed offering was equally as shitty, and their own Go SDK was so poor that I ended up scrapping it all together.

We landed on running RedisGraph atop Redis, and got it up and running in 45 minutes. Zero downtime. Zero complaints. Awesome.


👤 halfmatthalfcat
Funny I just had a recruiter reach out about a 6mo CTH position at Neo4j. Never took it seriously but wonder how that squares with these layoffs.

👤 jerven
Graph, alone does not make a selling feature list. You need to bring more to the long term enterprise problem space. i.e. otherwise it is just one more specific database for one or two projects, with annoying sales and contract negotiations. And each time that contract comes up for renewal the project will be looked at and investigated for migration to a more common stack.

At the same time they seemed to have put out quite a bit of marketing to developers, but hard to see their pitching solutions for the "enterprise" problems. Comparing this to the RDF Graph players, whom seem more focussed on playing well with all the other parts of the existing infrastructure. e.g. Virtual graphs on SQL dbs etc. (Personal bias to RDF so take that into account).

In the end we will see if the 500$ million investment in market share will materialize as long term sound investment.


👤 Railsify
I use neo4j in a sideproject, they did a bait and switch with the license model, I was not happy about that.

👤 datawonkTO
What does neo4j have that networkX or other free graph python packages don’t? I tried using neo4j api from dataiku and it scaled so poorly compared to networkX which was such a breeze and interacted seamlessly with other python objects in the code.

👤 john-mark
I touched on the negative Glassdoor reviews in this thread. Do you see a common pattern/theme? https://twitter.com/jmsuhy/status/1600093327130431488?s=61&t...

👤 usesqlreally
I once wrote a project (that is still in production) that used a graph database. It was definitely a graph workflow and I thought using a graph database was the right solution. I apologize to whoever has to maintain that system now, and if they have not already replaced it with SQLite or PostgreSQL, I hope they will.

👤 b800h
About 7-8 years ago it was almost impossible to avoid Neo4j in tech circles, certainly in London. They must have had the most incredible funding - the PR was nonstop and wall-to-wall.

👤 PaulHoule
I have been involved with graph databases and always thought Neo4J was a joke, it was based on an execution model which is not scalable at all. I heard story after story from people who tried it for projects which were just too big and wanted to ask, “what did you think would happen?”

👤 mavelikara
Why did you ask? Are you a customer? Or an (ex)-employee?

👤 hermitcrab
>R is extremely slow at a lot of tasks, for one thing, even more than Python.

Base R is quite slow. R + data.table is faster than Python + Pandas in a benchmark that I did recently.

For a 1 million row CSV file, Read + Sort + self-Join + Write took on a Windows box:

Base R: 47.56s

Python + Pandas: 6.44s

R + data.table: 2.99s

More details at:

https://www.easydatatransform.com/data_wrangling_etl_tools.h...