Quitting Dgraph Labs
discuss.dgraph.io
discuss.dgraph.io
https://github.com/dgraph-io/badger/issues/578 titled "Badger unable to return data after value log GC" vs https://github.com/dgraph-io/badger/issues/570#issue-3621168...
> However, if the bug only causes Badger to not return data, and the data is fully recoverable by an easy fix to the code -- that's technically not a data loss (See Badger unable to return data after value log GC #578).
Never let this person store your data.
Have you tried to build a data layer engine?
This kind of attitude is so one dimensional from my perspective... they are trying and it's hard to always be perfect when it comes to data. Inevitably if you're in the data game sometimes data loss happens, that's just the nature of the game. It's not black-and-white like you portray it.
https://github.com/dgraph-io/badger/issues/570#issuecomment-...
https://discuss.dgraph.io/t/bounty-challenge-prove-that-badg...
Given that the former CEO is here right now accusing people of shilling while he scrubs unpleasant details from his past posts, I'd say this just appears to be a dead, toxic startup.
> Unfortunately, Dgraph was always undervalued by investors.
This feels a bit like blaming the investors for why the company failed. To put it bluntly, there's a point at which you raise capital and build on vision. Your early investors and users are taking a giant leap that a. you can execute on the vision and b. customers will one day want to pay you for that vision.
Then there's point at which the rubber hits the road, and either customers pay you money for the thing you built or they don't. If they don't, you need a really convincing story to convince your investors they shouldn't cut their losses. It's a shame the company failed, it seems like they were working on some cool technology. But based on this post it sounds like no one wanted to pay for whatever it was they built.
It sounds like a version "people didn't like our product as much as we like it, obviously they are wrong".
At a guess I would say that they did an analysis of the company and recommended it be shut down. And the other VCs i.e. the Australian trio of Airtree, Blackbird, Grok who are far less experienced in the VC game went along with it.
[1] https://www.crunchbase.com/funding_round/dgraph-series-a--ca...
Archive link https://archive.is/sTfCd in case the discussion gets deleted.
Today:
"Dear Dgraph stakeholders:
As you may have read, the person who originally coded Dgraph is no longer with the company. Over the last few months it had become clear that this was inevitable. Only the final form it would take was unknown.
After resigning, he improperly used company confidential credentials to make an illegitimate post in the Announcements section of this site in which he made many statements, some accurate, some not. We are considering deleting that post to avoid misleading customers, but for transparency we will not do so for at least 7 more days to give you a chance to read or save it.
... "
https://discuss.dgraph.io/t/dgraphs-future/16751
archived: https://web.archive.org/web/20220202112429/https://discuss.d...
*cough* CockroachLabs / CockroachDB *cough*
Containous.
It doesn't sound bad in your head, but then you say it out loud. (Yes even the CEO pronounces it that way in videos too)
It seemed neat from the outset but I can definitely see why they might have problems finding paying customers after getting hands-on with it.
A few well-known Open source projects lack user-centric product thinking. I felt dgraph had this issue.
Thanks to Dgraph's query language, we were able to implement a GraphQL API server that had no resolvers and no need for dataloader—the n+1 problem simply couldn't occur! It was like magic.
Interestingly enough, we had been working with a salesperson from Dgraph Labs who was affected by the June layoff—along with the rest of the sales staff and CEO—right as we were about to pay for Dgraph Cloud! For a solid week we seriously debated switching to another database, but eventually decided to go with Dgraph Cloud anyway—telling ourselves we would self-host if Dgraph Labs folded.
I ended up leaving in November, but I think I know what my former team will be doing over the next few sprints!
I wish Manish and crew all the best, and hope they succeed in their new endeavor. Dgraph is pretty dang cool.
The investors poured ~$15m into this company, and the board is now trying to fulfill its fiduciary duty by trying to recoup some of the invested capital. I understand that open-sourcing the code base would be a better outcome for its customers. However, I am having a tough time seeing if the investors were truly political or antagonistic in any way.
Because you know AWS would be circling this news very closely for another product to add to their lineup.
This statement seems a little naive. If you’ve raised money from investors, started a company, been it’s CEO… did you not realize there would be a lot of politics involved in this role? And more importantly, why would anyone want you to be CEO again?
At the end of the post they mention they’re going on to start a new company building on the same product. What would be different this time?
It's easy to roast a CEO from the sidelines when things go south, but it's really hard to build such good tech.
Feeling sad for them but I'm sure they'll come out stronger and current users will follow them.
No clue about the politics and $$$, but the product was already promising and different from the competitors (ArangoDB and Neo4j).
I'm glad to hear that it will continue forward open source and I hope that any purchases are to the benefit of the existing community.
Not only that, if the core team moves to the open source product to "rebuild" the same features, isn't that way too dangerous IP-wise?
This is also one of the reasons I didn't use dgraph: Open source core doesn't work. All the companies that were sold to now have nowhere to go for support.
$employer had a need for some of the bits of Dgraph that are unfortunately hidden behind a paywall (bits that IMHO should have been in the community version as they were not particularly enterprisey, but hey such is life).
A frustrating conversation with Dgraph sales-droid ensued:
Us: We need access to X/Y/Z features, but on-prem
Droid: But Cloud
Us: Cloud = No-go because X/Y/Z
Droid: But Cloud
Us: Come on mate, I already explained why we cannot do cloud, plus you say on your website on-prem is an option
Droid: One meeelion dollars
Us: GoodbyeI think you missed the point. What I was making a point about was first the tin-eared nature of the salesdroid (i.e. "cloud cloud cloud cloud" despite me explaining why not). Second about the price point of on-prem. Of course I will "pay for value" but there is a difference between paying and paying through the nose.
Basically it gave the impression that Dgraph was so up itself that it thought it could dictate how their customers should run their IT and thought it was special enough to be able to ask silly money prices.
Sure, I get that it's a database, and databases are harder sells than a lot of other things, but christ on a bike they must've fucked something up if they couldn't draw the allure of any of the big funds currently throwing gobs of money around.
I know a few founders at smaller companies than dgraph, where similarly engineers are their target audience, who have complete control of their company despite raising in the ball park of 100M over two or three rounds in the last couple of years.
There's just no excuse. Either their fundamentals were so fucked, or they were too arrogant even for VCs which is almost impossible.
We'll probably never know the full story here.
With something like CockroachDB or TiDB I can easily say yes to that. The value proposition is clear.
I think Dgraph's DQL is a worse interface than SQL; there are some aspects of it that give me the heebie-jeebies.
VCs are holding onto companies much longer as, (a) the average time to reach IPO stage has gone from 4 to 11 years over the last two decades and (b) the amount of unspent money floating around is so high. There is definitely more to this story than just the VCs trying to exit.
My comment was a broader critique of the venture model, which leads to business churn that nobody other than the VCs need.
And I say this as someone who doesn't like Mongo DB and believes it's almost always the wrong technology for business to use. But if you're using it, might as well get the experts to host it for you.
Buncha weeks ago I had a paranoid fit about the legalities of this app I wanna try to launch. I read some conserning things about the MongoDB license, mainly that the open source initiative didn't approve it bc Mongo pulled out. I read the controvertial paragraph and now I am 80% convinced that I'm not allowed to self-host a MongoDB server for my own profit.. I'd have to pay.. which why should I when SQL is free. BUT I DON'T WANNA USE SQL. And frankly MongoDB wasn't living up to the stresses I wanted from it but Dgraph does.
Asking for help on stackexchange didn't do me any better https://law.stackexchange.com/questions/74510/can-i-use-mong...
I was planning on self-hosting my Dgraph database anyways, and if this app actually ends up being something, I would beable to calculate milestones that I'd need to reach before considering upgrading to Dgraph Enterprise. Now I'm more worried about future support. Is Dgraph going to be sunsetted, and will I have the features I might need in the future. IDK I think I just freaked out about something I didn't understand, sry guys.
If you are just using mongo as a backend DB to fulfill some other internal requirement in your application, like general CRUD operations, then you are fine.
Or understand that MongoDB's license is kind of a necessary evil that I guarantee DGraph will likely implement at some point. Amazon's embrace and extinguish approach is too successful to ignore.
Manish seems to be THAT person. The technically competent, unwavering to the technical vision, doesn't work well with others person at your company. He went on to found a startup so he could do what he wants, and unfortunately has now realized board members are very similar to managers at Google.
Here's a blog post where he stepped down from being CEO to being CTO: https://dgraph.io/blog/post/changing-guard/
> I’m very confident in my abilities to bring in a solid VP team and lead the GTM motion. But, I’ve also realized that Dgraph is an intrinsically technical product. While I can find other S&M folks, finding a true engineering replacement for me has been, and will continue to be a real challenge.
Reviews from Glassdoor confirm this inability to let others touch his baby: https://www.glassdoor.com/Reviews/Dgraph-Labs-Reviews-E12849...
> Massive layoffs with no warning and almost no severance pay. This is a sinking ship, not a rocket ship - avoid it! Inept founder (was CEO and CTO while I was there) who only believes in his ability and doesn't trust employee expertise. He would rather be right than make money or see his company succeed. Manish doesn't listen to employees or managers and even disputes data showing false assumptions or failed business approaches. Micromanages in departments where he has minimal knowledge or understanding, leading to low morale and poor results.
Glassdoor Reviews are anonymous (read trolls) and a lot of them were created post the layoffs, to create a story that would take the blame away from the hired CEO. Read between the lines about why the layoffs happened in the first place. If not, read this:
https://www.glassdoor.com/Reviews/Employee-Review-Dgraph-Lab...
When you have nothing to say about a leader, it always works to say, "he didn't give a shit about his employees." That's not how companies get built.
These are the core values that we had created, which accurately reflect how I operate: https://discuss.dgraph.io/t/dgraph-core-values-v20-05-31/140...
So, no. I'm NOT THAT person.
I'm a rubbernecker passing by a car crash. I have no other motivations. I don't know you personally or anyone who works at Dgraph. I'm piecing together a guess of the culture from what's available externally.
I would love to read the details when you're ready to share.
Editing to say that the only reason I remembered the blog was because there were multiple parts of it that made me cringe when I initially read it:
> I can be a good CEO. I just can not be a good CEO, a good CTO, and the top engineer on the team for a highly technical product, all at the same time. If I could have found a true engineering replacement for me, I’d have stayed on as the CEO.
> And two, we lost a couple of deals last quarter due to engineering challenges I can help solve in weeks but would take my team months on their own. Some of these problems wouldn’t get solved without my help.
Publicly throwing your engineering team under the bus repeatedly isn't something you commonly see.
And you're taking statements like "lost a couple of deals last quarter due to engineering challenges" as being a personal slight against the engineering team when an impassioned observer would not really see it that way.
I don't know the specifics of Dgraph's failings but reading the Glassdoor reviews it sure looks like the main issue is that the CEO failed to organise a bridge round and that the disputes between the CEO and CTO and poor metrics meant the VCs didn't want to provide one.
You can fix any problem at a company except running out of money.
I have no opinion on this broader company, but you focused on the wrong part of the sentence.
OP was focused on "I can help solve in weeks but would take my team months on their own" -- something that indeed is throwing your engineering team under the bus to me, an impassioned observer.
Presuming the GP must be a disgruntled employee because he can read a Glassdoor review is just naive.
I have noticed that when we get certain class of bugs from customers(and customers want fix NOW) that spans 2-3 layers of the project, only me and him can pick those bugs. Some decisions are there in the code that is not easy to figure out(like why it was done this way) and I have also seen engineers who are founders of this project - point design issues that I could not have thought (and I am doing this for 5 years!).
Can we hire someone new to provide design reviews that spans network, storage, kernel? May be - but engineers who created this thing and have been doing this for long time, have got really good at it. To me - some of them seem god like. I know they will probably suck same as me, if they had to start developing a new iOS app or write new game for Nintendo Switch.
Brittle or hard-to-grok code that other engineers avoid is a code smell. Eng leadership/senior engineers ought to prioritize refactoring that code ASAP
Some types of software are intrinsically difficult to understand e.g. due to highly visible behavioral coupling across multiple unrelated parts of otherwise tidy, modular code. This is a strictly correct and intentional design in many cases but it means even a seemingly small code change can only be evaluated for correctness relative to the detailed internals across diverse code components in various runtime contexts. Reasoning about these systems has a very high cognitive load.
This is one of the reasons writing competent database kernels is so difficult -- the best designs asymptotically converge on being exquisitely complex and subtle monoliths, even when the code appears clean and modular. In my experience, there are always parts of these code bases that only one or two engineers dare modify even though the code is straightforward, because any local change can't be evaluated for correctness without deep expertise in half the system internals.
It really depends on the nature of the software.
Re-reading my comment, it comes off dismissive - I apologies for that. I agree with most of your points
> Some types of software are intrinsically difficult to understand e.g. due to highly visible behavioral coupling across multiple unrelated parts of otherwise tidy, modular code. This is a strictly correct and intentional design in many cases but it means even a seemingly small code change can only be evaluated for correctness relative to the detailed internals across diverse code components in various runtime contexts
Sometimes - the above is the case, but other engineers are unable to maintain those hard parts because the information required to do so is in the heads of the experts (the original author, or the 2nd engineer). In those cases, docs may help, but sometimes the code exhibiting unexpected coupling and/or side-effects may need to be further modularized, OR paradoxically, consolidated and abstracted by an easier-to-keep-in-mind abstraction as the "modularization" is illusive since the seemingly independent modules covertly belong together.
I may be projecting because of my past experiences: at different points I was the only one who could make changes to specific modules, one because it was brittle and had low test coverage (and prone to race conditions), and the other time, it was because there was non-obvious coupling which resulted in high cognitive load as one had to keep several layers of state in mind. On both occasions, refactoring and improving the abstractions would have made it easier for other engineers to safely work on the code.
YMMV if the high-cognitive-load architecture is deliberately chosen - in my case, it was an accident of (commit) history.
Having said all of that. Modesty is a thing and many engineers wouldn't word things the way Manish worded in aforementioned blog.
Those were not my words. Those were the literal words used by my Engineering manager out of desperation to convey to me that the team needs my help in solving these problems.
I'm not sure why you would take these as "throwing the team under the bus." This is actually expected -- given I wrote a lot of that code, and was the most senior engineer in the whole company.
This was the result of that effort, btw:
https://dgraph.io/blog/post/manual-memory-management-golang-...
And we had the best team we could build with the resources we had access to. 4 of my team members have created 3 companies -- one is YC, one has a wild acquisition offer, and one is Sequoia-backed. And they all seem to like me a lot.
As a leader/CEO/CTO, people judge you based on your ability to lead the team, not your personal technical skills. Your posts are throwing away the former in an attempt to demonstrate the latter.
Moreover, the team in question -- I have spent countless hours working with them -- and they know exactly what I meant. No one ever complained about this blog post or this particular sentence. They knew exactly where I was coming from.
If Glassdoor is a benchmark for the effectiveness of leaders, then might as well vote for whatever Russian trolls tell you to vote for.
People are free to make their own judgments.
And yes it sounds not only like he's throwing his engineering team under the bus but also thinks they were incompetent which is beyond something any C* level person would be silly enough to write.
Could you have better optimized your personal brand? Maybe. Could you have also done the engineering you've done if you had? Who knows. Don't over think it. State is hard