Visualizing Codebases – Shanea Leven, CodeSee
CodeSee CEO Shanea Leven explains why tools for visualizing codebases are becoming more important in the wake of expanding its alliance with GitHub and Microsoft
Transcript
This is Textron TV. Hey guys. Thanks for the throw.
We're here with Janae 11 is the CEO for code C and they're just coming off getting some additional funding video. One of those funds that they GitHub Microsoft folks set up to help a little startups and they're also going to be working with a few more startups. I think who are putting stuff up on Azure and it's all gonna be one happy little ecosystem as I understand it SHINee welcome the show.
Thank you so much for having me. So what are the plans for this funding? What do you guys going to do with that money in terms of growing the company?
What's the strategy Where Do We Go From Here Yeah, so we have really big Ambitions to be able to provide code visualization and code visibility to all repos and and all users. And so we that's a very long way to go as far as like trying to help you understand your code. And so that money is gonna go to making sure we can visualize all the layers of your code base to answer any question that you have in a visual and really fast way.
And what exactly is the relationship with Microsoft and GitHub going forward? How does that partnership look and what are the benefits? Microsoft and GitHub have been tremendous Partners.
We were already technology Partners before this happened. And so we are better able to One support any startups in the Microsoft for startups Founders Hub. So that means giving exclusive discounts to be able to help startup setup code visibility from day one that they can continue to onboard new people to their code bases.
If you haven't seen like a part of the code base before you can essentially onboard really really quickly. If you need to quickly pivot or refactor particular area of code code visibility really helps with that process. And so we want to make sure that all startups moving forward can have that really really fast so they can you know s*** value to their users.
In what exactly is the problem we're solving here. I mean people have been working with code basis forever. So when we say we're going to visualize that code what does that actually do or manifest itself as yeah, so we you're right.
We've been working with code basis for a really long time. But the way that we understand our code bases haven't changed in 50 years. And so all we do is we recode line by line and we visualize in our heads we create a mental model of how that code works and we do that before we're able to write new code or ship new code, right particularly, if you're not starting from a hello world application and so visualization helps you quickly create that mental model of how all of your legacy code is working.
So you don't have to do it. We're saving developers, you know somewhere between 30 and 40% of their time because you Artists reading and understanding your code. We take care of all of that for you.
And essentially what happens is there are a lot of problems that come after that that are really challenging if you don't understand your code, so that could be onboarding, you know, onboarding a brand new developer that could be you've never seen a new a part of this code base before you switch teams. It could be that you know, some developers have left your company and they didn't leave any documentation that happens all the time or you need to refactor or you need to do a bunch of you to migrate from microservices and it's a monolith and vice versa all of those different things really stem from not having visibility into your code. Do you think as we go along because we have more visibility and of course you're working with Microsoft these days and you can't hear the word AI without these so many talking about chat GPT one way or the other.
Um, do you think that will be applied to this because if I can visualize the code then I can probably throw some machine learning algorithms to analyze. Yeah, I think that we definitely will be able to incorporate AI to do a lot of different things there today. There's a lot of tools that can do very surface level things, you know, writing functions and doing surface love understanding but when you're talking about major applications production ready code on like a company's code base at scale you're gonna need a lot of effort behind that and that's gonna still take us some time.
I don't think that will replace developers, but we will be able to super charge their productivity even more and the code visualization really gives a mental model for your entire code base whether you're at the service level or you're at the function level or anywhere in between and AI will enhance that instead of Of replacing it. I don't think I ever met a developer who didn't think that their ability to write code was better than the next guys compatibility to write code and this debate goes back and forth. So if I can visualize this code base, can I get to some maybe rational analysis of what's going on in these code bases that we don't enable these arguments to be less opinion driven in more data driven.
Absolutely, so we actually enabled this today. So there's a lot of time spent sometimes particularly in large organizations where you're trying to really dive in and they would call it codeiving or spelunking where you need to go and map out all of the different pieces. And when you're trying to explain to maybe a non-technical stakeholder, you know why this thing's gonna take this long that conversation is hard when the other person really doesn't understand the code and so creating a visualization helps with that cross functional communication.
Again, everybody on the same page and communicating effectively with each other. That's the power of having a visualization that's high directly to the code. You can identify how actually the code is working with that other stakeholder.
one of the things that nobody likes to talk about in this industry is technical debt turns out quite a lot of it is absolutely Is this a way to kind of maybe find things that need to be prioritized over others? Because I think part of the issue is just so daunting. Nobody gets started hundred percent.
So we actually have a kind of subset a way that our users use for Tech use cozy protect that by showcasing and labeling like coordinating and prioritizing different colors and different labels and kind of laying out a bunch of areas in Tech day and kind of seeing where there are large clumps of it so you can tackle it all the same time and get you know, if you're gonna add to Tech debt you can essentially Just tackle it in pieces. The other way that we do this today is by refractive when you refactor code. There's always Tech debt, right?
So we try to when we help users refactor their code base. We also have a feature called code automations. That's like hey you refracted this it needs to be this way moving forward.
So let's create an automation to teach everybody moving forward how this works so that you don't actually create you take that as after you you're done refactoring. So we really try to help with that process as well like that visualization really give that visceral reaction. I'm like, oh my gosh, all this technical is littered everywhere.
But to your point right it's more than just visualizations. It seems like you are giving helpful hints to how to improve the code itself as people go along so and you know do people start thinking of you guys is kind of a virtual coach for code rent. So I think Day, we allow for a senior Dev or the CTO or an architect to really get that knowledge out of their heads in the way that it exists and make sure that it's disseminated across the team at scale and so we can give that visualization but you can additionally have a senior Dev or an architect really say like this is actually the way it's supposed to be and you can if you're not the senior deaf you can take all of those insights as the coach.
So, you know, when you make a code change you can actually see, you know, any notes that been left for you or you can see the dependency Maps so you can actually articulate, you know, oh I change this file, but it's connected to the spell, but I wasn't aware. So there is a lot of help but I think we can get a lot better at like a AI driven. Code coach in time.
There's a lot of folks, you know, they believe in various agile methodologies and there's usually, you know, as part of that two developers in a box and one is kind of riding the code and the other one sits that their elbow reviewing it and they switch roles back and forth But ultimately do I need that model or you know, have you become the platform where they the other developer that sits at their elbow and looks over their shoulder and says, hey you missed this and maybe we don't need to in a box and the whole thing will become much more efficient 100% We do that today where you know, if you are the pr author or you are, you know, trying a team lead on the team you can actually create async walkthroughs and you can also use our visualizations in real time collaboratively. So absolutely you can do all of that coaching. I think so that you know in case someone goes out on vacation you're in a different time zone or anything that you can really provide that pairing that you need to but a little bit more with a little bit more convenience.
Do you think it's the developers themselves who are finding your tool or is the management finding the tool? Because you know to be honest, there are probably some developers out there that you know a little anxiety ridden when somebody says they're going to go visualize their codes and kind of walk, you know generate some sort of report from there. I'm pretty sure that that's kind of like right up there with, you know, waking up naked somewhere.
So um and like yeah get people over there natural fears. Yeah, so we actually find that both devs and their and dead leaders use code C. So we provide value and showcase value to individual developers.
We also visualize open source projects, right? That's kind of where we got our start where we helped maintainers visualize their projects to make sure to on to help them onboard contributors, right? And so we have all of these open source repos that have code C visualizations kind of in them showcasing the value to developers Hands-On with the code.
And so that allows for a developer to see the value showcase what it really looks like how they can utilize it and then they're and then help the managers also see why it's helpful and vice versa. So we really do try to practice what we preach so developers it trust us essentially that we are Developers building for other developers and so we want to make sure that we're all in the same page. All right folk share it here.
Nothing to fear but fear itself. And we'll see what happens next Shanae thanks for being on the show. Thank you so much for having me.
All right back to you guys in the studio.