Live data from Hacker News

Quitting Dgraph Labs

discuss.dgraph.io

71–80 of 94 posts

Re: Quitting Dgraph Labs

#71

Earlier quoted context omitted.

I read those snippets and thought the same thing. This guy thinks he is god. 1000x engineer.

Deep familiarity with a complex code base is a thing and is not easily replicated. I have seen this first hand. In my day job - I work on a very popular but complex open source project and in my team there is a engineer who has been there since beginning and I am like second person after him. 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…

>...only me and him can pick those bugs

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

Re: Quitting Dgraph Labs

#72
post #37

Earlier quoted context omitted.

I'm not sure what "eat section 13 of Mongo's license" means, but if you're asking whether you should self-host Mongo or pay Mongo Corp to host it, I would say the latter. It's not that expensive, they have a nice management UI, failover, performance hints, backups etc.. 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,…

> I'm not sure what "eat section 13 of Mongo's license" means 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 profi…

IANAL but from what I know about Mongos current license (Server Side Public License) the restrictions of section 13 only apply if you are making a service with the express interest in providing DB functionality directly to your customers/users. IE: If you are making a Database as a Service platform, similar to Mongo Atlas or AWS RDS.

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.

Re: Quitting Dgraph Labs

#73
This topic came up in a group of early stage investors I'm associated with and I know I'm not alone when I think: they couldn't raise more than 15M? And lost control of the company??

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.

Re: Quitting Dgraph Labs

#74

Earlier quoted context omitted.

Deep familiarity with a complex code base is a thing and is not easily replicated. I have seen this first hand. In my day job - I work on a very popular but complex open source project and in my team there is a engineer who has been there since beginning and I am like second person after him. 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…

>...only me and him can pick those bugs 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

There wasn't any implication that the code is "brittle" or hard to grok due to a defect in the software architecture. It may be approximately optimal from the perspective of software maintainability relative to functionality and performance. All code has non-local side effects, but in most software that is buried below the noise floor of inefficiency.

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: Quitting Dgraph Labs

#75

We invested a fair amount of time into a Dgraph-based solution but had so many issues with it that we had to migrate away. We couldn't get basic things (like database dumping and/or reimport, or some large queries) to work at all reliably which scared us away from going with their enterprise product. It seemed neat from the outset but I can definitely see why they might have problems finding paying customers after ge…

When I first looked at dGraph, I was unimpressed. The interfacing, documentation looked like it was meant for their internal team.

A few well-known Open source projects lack user-centric product thinking. I felt dgraph had this issue.

Re: Quitting Dgraph Labs

#76
post #47
post #36

Earlier quoted context omitted.

> I don't know who you are or what your motivations are. 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 par…

> 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. 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 the…

As a lurker, I'd suggest you stop talking because you're not helping your case.

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.

Re: Quitting Dgraph Labs

#77

Earlier quoted context omitted.

>...only me and him can pick those bugs 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

There wasn't any implication that the code is "brittle" or hard to grok due to a defect in the software architecture. It may be approximately optimal from the perspective of software maintainability relative to functionality and performance. All code has non-local side effects, but in most software that is buried below the noise floor of inefficiency. Some types of software are intrinsically difficult to understand e…

> There wasn't any implication that the code is "brittle" or hard to grok due to a defect in the software architecture

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.

Re: Quitting Dgraph Labs

#78

Earlier quoted context omitted.

I read those snippets and thought the same thing. This guy thinks he is god. 1000x engineer.

Deep familiarity with a complex code base is a thing and is not easily replicated. I have seen this first hand. In my day job - I work on a very popular but complex open source project and in my team there is a engineer who has been there since beginning and I am like second person after him. 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…

I have to agree. I worked on a pretty large Java project, we hired 2-3 capable engineers, but they couldn't grasp the complexity of the problem, not necessarily the code - the code was pretty readable if you know what it does and how.

Re: Quitting Dgraph Labs

#80

This topic came up in a group of early stage investors I'm associated with and I know I'm not alone when I think: they couldn't raise more than 15M? And lost control of the company?? 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…

An open source non-sql db is a tough business model. I mean, here's a simple question: Would you use DGraph? Would you pay for it?

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.

Post reply on HN