I'm sure that's gonna grow into its own product line eventually, but right now you're getting it for free. So those security type questions are being answered currently. They're not perfect by any means, but I think with DevOps implementing that to handle the people portion, it is a separate issue than the version control systems and the reason why we have monorepo talks, or this conversation, my opinion.
I think we come from large industries, right? I'd love to hear what Luke, for example sees, because we're very skewed in the big Microsoft, Google's, and Facebook's, so I'd love to hear what Luke thinks. That's awesome. Luke? Yeah, so I'm in the red tape industry, man, with the financial. The shit. With the financial. Yeah, so he's not so small, right? Right.
And, look, one of the things that I find really challenging, and I would love to hear your opinions on this, is when you have huge teams working on a mono-repo, so they believe in the benefits that a mono-repo would provide, but they're trying to enforce that kind of system, and how does that work in terms of commit standards, and even standards in terms of best practices? So that's why I really do lean even towards, there's definitely a people element to this, and maybe starting from there. Tools, obviously, are an important factor, but I think I've seen a lot of the people problems, and that maybe if we started from there, and try and solve things from there, and build from there in terms of the paradigm we should be using, as opposed to, because not every project is alike, not every company is alike, and there's obviously gonna be a temptation with the bigger companies in the industry.
I've seen it where it's like, oh, but Google are practicing this, therefore, let's do that too. It was like, we're not Google. Our team is not structured like the teams they have there. We don't have the same kind of maturity they have in terms of the additional tooling they're using to make things more efficient. So yeah, those would be my thoughts on that particular area. Yeah, I just wanna clarify that, I mentioned teams, or the tooling piece being kind of the genesis of the problem, but I agree 100%. It's all about scale. So I'm talking about running these repos at scale, but yes, of course. And that's why I said hybrid, right? Like, remember that? Oh, yeah.
Victor, could you please share your thoughts? Sure, it's actually a very good, very interesting point, and I think that, like, it really depends, again, how you define a monorepo. If you look at the Google scale, or like Facebook scale, Microsoft scale, well, yeah, a lot of tools, for sure, do not work very well. You have to use like GVFS. A lot of interesting things, so you can actually, like, traverse the repo. So we, like, I personally work with a lot of large, I mean, large companies building large systems, but they don't have, like, one Uber monorepo that, you know, like, around the whole organization, right? It's usually like, we have 10 teams running a monorepo contribute to one system, right? Once you go to that scale, it's not that, you know, it works, right? Okay? So, like, you have to go past that, so I think that for most organizations, one Uber monorepo won't work anyhow for organizational reasons, right? It's like, you won't be able to, they can't even pay for the same, like, the same Azure box, right, to run CI, CD, and because two works have different budgets, right? So, like, let alone tooling, like, just, most organizations cannot agree just for business reasons, right, to move together. Right? So when I talk about monorepos and the benefits of those, I don't mean, like, Google monorepo scale-wise. I mean, Google monorepo style-wise, right? You have same type of tooling, but a smaller, a much, much, much smaller system, let's say, where 1,000 developers work only, right? Where you have maybe tens of millions of lines of code, right? We're not talking about a massive system that's around the world. More like, you know, we have ten apps that comprise this, you know, experience that most customers, perhaps, so, like, let's say, of a bank, right, interact with. Right? So at that point, tooling is less of an issue, right? When it comes to, like, how teams should coordinate, I think that it's true that, at the end of the day, everything ends up being, like, a people issue, and that, like, you have to work together, agree on standards and stuff, right? But it's not, like, people, like, I don't know which one goes first. So, like, if you, like, take some, like, social media as an example, right? And say, yes, if we were all normal people, it wouldn't be difficult in social media, it would be nice to each other, but we are not, right? But it's partially because social media forced us to be not nice to each other, right? Because of the way it, you know, the incentives that are there, right? Same with tooling.
Comments