Thank you. Is that working? Yeah. Seems to be working. All right. All tech is debt. All of it. Let’s take a look at some tech debt. Let’s see. Oh, too far. There we go. Yeah. That is some shiny tech debt, am I right? Electric. It’s got self driving capabilities. Just some amazing, amazing tech debt. Whoo! Planetary scale tech debt. Hyper interconnected fiberoptic tech debt. And the latest tech debt. There one’s got 12 megapixel cameras and this
tech debt even has dark mode. All tech is debt. Are you convinced? That’s okay. 28 more minutes. My name’s Dave. I’m a developer advocate with Google Cloud. I have been doing this for a long time. And whatever this is something I have been
doing. I have been a product manager, CTO, database
type, all the things. And I’m here to talk to you about how tech
debt maybe isn’t such a bad thing. Let’s take a look. First of all, what the heck is tech debt anyway? Well, to be honest, I think it’s a bit of
a know it when I see it kind of thing, right? Tech debt is the stuff that has that tech
debt smell. But to be more specific, blah, blah, blah… But I think tech debt is this. Tech debt’s that stuff where you open up and
look at it and you say yeesh! I’m going that fix that. Later. [ Laughter ]
Now, we spend a lot of time hunting down tech debt. Trying to contain it. Exterminate it, prevent it. But I’m here to tell you, it’s not gonna happen. And that leads to some rough feelings. It feels like, you know, no matter what you
do, no matter how much time you spend on tech debt, it never gets any better, right? Tech debt get. My code is so bad. You talk about it with your friends. I’m sure you’ve done this. You’re bragging around you. Look although that application, it looks good. Underneath, it’s garbage. Check me out. Or you might get into tech debt anger. My manager won’t let me fix my stuff. My boss won’t let my fix my stuff. I’m going to be so glad what it all breaks. That will show them. And then you realize that doesn’t get you
anywhere. That’s tech debt sadness. It’s everywhere. It’s not going anywhere. Boom. Chin up, little pups. I’m here to tell you that it’s okay. In fact, it’s better than okay. It’s irrelevant. Because first of all, debt isn’t necessarily
a bad thing. So, I remember when I bought my apartment. And my friends would say, congratulations! You own an apartment. And I’m saying, I don’t own an apartment. I own a massive pile of debt. Anyone here who has ever had a mortgage, right? I went from having assets from having a huge
deficit. I am negative wealthy. so, it’s like, what are you congratulating
me for? But then I realized, they were right. It was worthy of congratulations. Because I had something. I had a cool new place to live. Bigger and better. And then you know what? A few years later, I sold that place. And I made money off of it. Now, do you think I made money by paying down
all of my principal on my mortgage? No. I made money because the price went up. So, that debt was really good debt. Here’s the other thing about tech debt. You can’t escape it. It’s always going to be there. You’re gonna have to learn to live with it. So, first of all, let’s take a look at how
everything is tech debt. And I’m gonna convince you of that. So, first of all, can we agree on this? If it doesn’t give you value, it’s debt. Now, take a look. This is all your tech stack, right? Look at all that crazy stuff in there. All of stuff is you don’t know about, care
about. It’s not helping your users at all it’s debt. The only part that might bring some value
is the business logic, right? That’s the stuff that your business runs on. Except here’s the thing. Your competitors have that too, radio I thought? So, most of that isn’t actually value. It’s just the cost of doing business. The object thing that might possibly have
some value, this tiny little bit right here. The stuff that you have and your competitors
don’t. So, that’s not debt, right? Yeah. Yeah, it is. And here’s why. Tech is constantly changing. No one’s gonna argue with me on that one,
right? Changing like crazy. And that means by the time you ship something,
it’s already old. You designed it and you built it in a world
that no longer exists. That means it’s already debt the second it
leaves leaves your repo. Here’s a debt smell. This is when you have to when it takes extra
time to work on something. Before you can, you know, make progress on
it, right? Do you have that? You dig it up. Who is the jerk who wrote this? And you realize it’s you. That time, you have to spend too much time
understanding something. It only happens in one case. You just wrote it. It’s gorgeous, it’s beautiful. And then you write it down and forget most
of it, that’s on purpose and ship it away. By the time it’s deployed to prod, it’s long
gone and it’s debt. You know another thing that’s debt? Those pesky users. Because here’s the thing about debt, right? Is that if you can’t just fix it, that’s a
debt smell. Like, I want to change that, but I’m not allowed
to. What’s a big reason why you can’t do it? Because someone is using it. That’s why you can’t just turn it off, fix
it and turn and back on again. Every user your system has is another bit
of tech debt. In fact, think about that serious hairball,
that nasty, nasty thing that you hate so much. That worst tech debt. Why can’t you throw it away? People are using it. In fact, the thing that the people use the
most is the thing you are going to have hardest time making changes to. That crappy thing, your business is built
on that thing. That dumpster file is your greatest asset. But it’s worse than that, because not only
is all tech debt, all tech is a ticking time bomb. Think about a zero day exploit. That zero day, that’s not the thing that thing
was written. That’s the day someone figured it out. It was in the code before then. It’s not code. And we’re using the fancy CI/CD systems to
pump out exploits faster and faster to our users. All of our tech is a ticking time bomb. But it kind of doesn’t matter. Let’s take a look here. So, I’m going to talk about potatoes. When I make mashed potatoes, here’s how I
make them. First, I pick out beautiful potatoes. Perfect, you know, Yukon gold, all equally
sized, unblemished skin. And then I peel them super smooth into these
beautiful pebbles. And then I cut them up into perfectly sized
cubes. And then I boil them. And then I mash the hell out of them. So, no one knew, and no one cared how beautiful
my cubes were. I had something happen like this back when
I was at my startup. It was actually as I was leaving the startup. Before we had any kind of an exit. But I had my time and I was exiting. And I had this system, it was a subscription
system. On the way out, that thing it full of tech
debt. I don’t want the next person, my successor,
to inherit that. I’m going to do a lot of work and made it
beautiful. Rebuilt the surface with a REST API which
was the hotness at the time. And I put it into the loud which and made
it scalable with auto scaling groups and really well documented. It was gorgeous. I wrapped it up in a bow. And my successor came in and to his credit
threw it away and replaced it with a SaaS service that did most of the same thing. I knew that I delivered something of beauty. I’m very proud of that. It was useless. They have this saying. No one wants to see how the sausage is made. Have you ever seen how sausage is made? I have. I’ve done it myself. I’ve been to factories. It’s disgusting. Did I stop eating sausage? No. Because sausage is delicious. So, I want to tell you a different story. Probably don’t want to watch this anymore. I want to tell you a different story. I mentioned that time that I was paying down
all that tech debt, right? What was I not doing at the time? Well, I wasn’t paying attention to our other
product. Now, this other product, this was this was
debt incarnate. It was the Java app. It had a bunch of stuff in struts. A third of that was replaced with spring,
a third of that was custom libraries. It had hibernate, it had MyBatis, custom SQL. And it had a reporting system that no one
understands. We built it, but we forgot how was with built. I was ignoring that. I didn’t want to touch it. A couple years later, the company got acquired. Did they get acquired because of the beautiful
tech debt free thing I was working on? No. Or the thing my successor replaced it with? It was the horrible hairball that everyone
got a payout and the invest everything and got their money back. Don’t just alone to me. Let’s look at tales of debt. Horror stories, you ready? All right. This is a programming language. This programming language has been around
for a long time. And it’s had a bunch of features glommed on
to it like really like clunky implementations of generics and of Lambdas. And it actually can’t run on any hardware. It needs this extra virtualization layer to
do anything. And on top of that, it has a feature in it
that its own inventor called a billion dollar mistake. So, this must be a terrible failure, right? Oh. Oh, I’d use that. How about a communications platform? All right. This one was designed for asynchronous slow
communication of text messages. And people are just abusing the hell out of
it. Putting video on and synchronous communications. It’s a stateless protocol. people generally rigged all these stateful
communications on it so people care about. Every day there’s a new security flaw. Everywhere is running away in droves, right? It’s actually kind of successful. All right. Let’s look at a container orchestration platform. I don’t think there’s anything wrong with
Kubernetes. I just have to say Kubernetes at least once
every talk or they take away my DevOps card. It does have over 2 million lines of code. Or should I say, 2 million lines of debt. Living in the beautiful, clean, debt free
world. These are success stories. You ready? This one is an operating system. They get clunky. Someone built this beautiful operating system. Object oriented all the way down. Multi threading parallelism, an awesome UI. It must be on everyone’s desktop, right? Have people even heard of this one? Okay. I don’t know. How about social networking? You know, a lot changed since the days of
MySpace. New features. A lot of cruft built up. What if you built it on really great strong
principles? Facebook is based on PHP. Surely a modern language can deliver a better
platform, right? Oooo. This next one is good. This was a system where the code, the source,
had been around for decades. Literally. And unchanged. And I mean, my god, it was so old. And so, they did a whole green field project. They completely started from fresh. They did a lot of user studies, did testing. They really went for it and made a brand new
green field reimplementation. It wasn’t quite the seller that they wanted. But I don’t mean to say that tech debt is
a good thing exactly. All things being equal, we would rather not
have any. If you have more than you want, there are
ways. I’m going to talk about ways to get rid of
some of that tech did the by getting rid of some of that tech. I just want to make a moment to appreciate
my son here. Out of the mouths of babes. My son said this to me the other day. I’m so, so proud. So, first of all, open source. If you’ve got tech that does something that
someone else is gonna do for you, use it. It’s free. And that means that problems in it, the debt,
are not your problems. They’re someone else’s problems. Even if you are, you know, really possible
and engaged and want to say, well, it’s my problem too. You have help. You can share the load. Even better, pay someone so that you don’t
have to think about it. If there is a hosted provider, a SaaS service,
any way you can simply just get that code away, that is a win. Until you can focus on what matters to your
customers. This way, you can’t even see the debt. Let alone have anything to do about it. It’s locked away. It’s proprietary. If you are a worrier, though, and you need
something to worry about, I can give you things to worry about. First off, product debt. Think about your customer service people. Think about your overloaded manuals. And think about work arounds. All of those things are likely to be places
where your product is not meeting your customer needs. That’s debt. How about relationship debt? Are you spending so much time worrying about
your tech that you’re not really paying attention to the people around you? Or self care debt. You matter too. Take yourself out to the movies to the spa. Whatever it is. Don’t worry about that perfect tech. It’s never going to be perfect. Because you know what? You can’t win. Tech is a really, really bad investment. Think about the cell phone you bought five
years ago. How much did you spend on that? 300 bucks? 500 bucks? 800 bucks? How much is that phone worth now? But I got good news for ya. I’m going to tell you about a sure fire investment. This one pays dividends. It’s your team. In this crazy fast world of tech, you can
win by investing in a team. Your users don’t care about your tech. They want a service, a product, an experience. And the best thing you can do is to deliver
something to them as fast as possible before the crushing burden of tech debt has a chance
to catch up to you. The only way to do that it is to build a strong
team that can understand your customers and deliver quickly. And that means investing in a team by building
the skills of your team, build culture, build communication practice. And importantly, build empathy. And keep teams together. Don’t think project teams that are trying
to deliver some tech. Think product teams. They’re trying to evolve a relationship with
the customer. Because, when it’s all said and done web tech
is debt. Burn it. People are gold. Cherish them. And me, I’m Dave. And that’s it. Thank you. [ Applause ]
>>We have time. DAVE: How crazy under time am I?>>We have time for questions. Which I think is good. who has got one? Come on. Okay. We’ll start over here. DAVE: So, how do you measure risk? How do you compare that with debt, tech debt? DAVE: Go back in time to last week in Columbus. It’s about how measuring risk is really hard
and we don’t know how to do it. [ Laughter ]
To the what you would call an inspirational speaker. You know, really tough question. A lot of it’s by experience. I would say. All of my feelings about risk is based on
instinct from having failed at a million things. But I would love to have more rigorous ways
of figuring out risk. And figuring out when that tech debt is a
real problem think actually have to worry about that’s messing up my efficiency. You have ideas? AUDIENCE: No, I was thinking open source. And, you know, security vulnerabilities. DAVE: Sure. And that’s in fairness, there’s a tradeoff
here. That, you know, I recommend go use open source
whenever you can. I also say you’re screwed because of all of
your vulnerabilities. Both are true. But, you know, definitely you want to have
systems that can test all these things. And a lot of great tools now in CI/CD world
for testing your open source vulnerabilities. But even better in my mind is user hosted
services. Sure, they could have vulnerabilities. But they probably won’t because someone else
is paid full time to make sure they don’t. And their risk of a vulnerability affects
their entire existence. Whereas if you’re an insurance company that’s
a bad example. Let’s say you’re selling shoes, you know,
if you have a vulnerability, it’s bad. But you might to the be out of business. And a hosted service provider, they’re done
if they messed up security.>>Okay. Who else? If you want to have the conversation on risk,
go do some open spaces. They’re still going on. And maybe you’ll get some folks who are like
minded about that. There’s also a lady called she’s from Argo
AI. And I remember her having some seriously good
thoughts about how to do what you were asking. Any other questions? Okay. AUDIENCE: What kind of feedback have you gotten
on your message from managers and executives? How do they feel about tech as debt and people
are gold? DAVE: So, managers and executives, they agree
that they don’t care about tech debt. They’re often not so good about realizing
that people are gold. But I’ve heard so many poem tell me tales
of woe trying to convince their execs that they need to spend way more time paying down
tech debt. Don’t care. Ship some City shit. I think you can have better conversation it
is you talk more about delivering for users, delivering on products and services and increasing
the value of the product. And then, you know, coming back to risk calculations,
and I don’t know the answer exactly. But looking at what point does tech debt hurt
the delivery of value? It may not be immediately or in a way that
matters. So, weaving tech debt into a conversation
with execs that speaks to what they care about. Shipping product and making money. Same is true about worrying about people. Make how are it’s relevant to them, retention
is good because retraining is expensive. AUDIENCE: Hi, thank you. First of all, great talk. So, you’ve talked about moving stuff to open
source or finding SaaS solutions. Which makes sense in isolation. But I wonder, like, down the road, am I putting
myself out of a job? Like, what’s left? Do we have any tech? DAVE: Yes, you are. And that’s the goal. There was a talk I think it was in this room,
someone had a great quote of hire people who will automate themselves out of a job and
then give them more jobs. So, you know, if someone else can deliver
that thing for a fee and do it fast and reliable, you’re gonna be out of a job of that thing. Regardless
Put yourself out that have job. Show your value to the company. Move on to the next thing. No one at this industry is at any risk of
not having job opportunities.>>Okay. And one last round? Anybody? One you have up there. Oh, that’s me. AUDIENCE: So, at what point are you willing
to deploy out a fair amount of tech debt? Sorry, I tried to formulate it. Part of it, from what I’m understanding is,
you’re trying to get to the market faster. So, I guess at what point do you accept the
debt that you have and then deem it worth to go out versus going back and actually shaving
off some of the debt? DAVE: Oh, I have an easy answer for you. As soon as you possibly flip and ship it. Do so. The value of your tech only gets worse over
time. The value of product market fit is priceless. So, anything that you can get to your user
and prove out that they want this thing, that is valuable. And if you can hold up if it is roadway liable
enough just barely for them not to sue you, that’s success. [ Laughter ]
Grow the business. Find a customer that wants what you are able
it give them. Then worry about that reliability. One thing, a slide that I sometimes present
in this topic is the Twitter fail whale. And I put that up and I say, oh, my god, that
is so beautiful. From a product perspective, that means people
wanted that thing. And, like, Twitter is still around. For every one of those there’s, you know,
a dozen companies, over productionalized and, over optimized and never got off the ground.>>cool. Once again, thank you, Dave. [ Applause ]