Conference Speaking And Presentation Skills: Mike Hall Interviews Chad Fowler | GOTO Conference 2015

Conference Speaking And Presentation Skills: Mike Hall Interviews Chad Fowler | GOTO Conference 2015

β€’ UGtastic Archive
Full Transcript Available
πŸš€ Discover how Chad Fowler built Wunderlist to outlive its creators and the lessons learned along the way. Learn about the importance of architecture that can evolve over time. #softwarearchitecture #ChadFowler #Wunderlist #evolutionarydesign #CTA https://just3ws.github.io/interviews/chad-fowler-goto-conference-2015
The Interviewer

Mike Hall

Interviewer, UGtastic

The Guest

Chad Fowler

conference speaking and presentation skills

The Conversation


Mike Hall Interviewer, UGtastic
Hi, it's Mike with UGtastic . I'm here at GOTO Conference 2015 and I'm standing here with Chad F owler, who's giving the closing keynote for the event. Thank you very much for taking the time to speak with me, Chad. So what is the story, what is the message you want people to take away from your keynote?
Chad Fowler conference speaking and presentation skills
Well, I'm going to tell a story of the recreation of Wunder list, which is the app that I work on, app and service. So it's going to be a story, literally in that sense, one of those kind of here's what happened from, I hope so, yeah, I'm not sure, I'm not sure if there's a hero yet. The humble task list rises up to become the Wunderlist. And it rises up from the flames, literally. But yeah, my overarching message is that I am sort of on a mission in my career to learn how to build software that can outlive me and outlive us. Ideally without us dying. I'm going to talk about some of the things that I've learned in my career and that I've applied on this most recent project in hopes that they inspire ideas in other people, that they can create software that can survive longer. That is one of the, sometimes I think, things that people, we try not to think about the mortality of our work, that it's, I don't know if my work's going to survive the next framework upgrade, much less. But yeah. I think that's one of the things that I've learned. I think that's one of the things that I'm going to be able to go into the future and support. You know, something that might actually be useful for my kids. Well, most of our work actually doesn't survive even the project that's never born, so that's the sad thing. Most of the work that we do in the software industry is stillborn, or not even that, it's just canceled. You know, if you look at the Standish Chaos Report, which is of course kind of a maligned thing, but everyone references it and it feels direction ally correct, most software projects either fail or are significantly changed. And by the Standish language, I would say significantly challenged means failed. So most projects basically fail that we work on. And then as you and I know, we build software and we tend to have to throw it away, someone has to throw it away at some point in the not so distant future. So if most projects fail, and then things that get launched , they live maybe five years, it's kind of like you spend all this time, this passion, this energy of your life working on stuff. That is ultimately kind of meaningless. So that's sad. And I've spent a large portion of my career euthanizing software systems. Going into a situation, finding a dying or sick system, and trying to humanely put it to sleep. And I'm tired of doing that. So are you going to be looking at some of our tools that we use, or is it mostly about techniques? It's mostly about architecture. The thing that has inspired me the most is looking at how biological systems work, specifically like human bodies, how someone like I can still be alive after 41 years, given the poor maintenance that I've done on the system, and take some of those metaphors of like cellular regeneration and homeostasis and apply them to software architectures. But I think that's the main kind of overriding theme.
Mike Hall Interviewer, UGtastic
Yeah.
Chad Fowler conference speaking and presentation skills
I mean, like I'm going to talk about micro services, but I don't really care about that term. And I think it's silly for people to be excited about the term. It's more about creating an architecture where the system can evolve and change frameworks like you mentioned, or even change languages, technologies, whatever, and the system can still live through all these things, even if the components are being regenerated on a regular basis.
Mike Hall Interviewer, UGtastic
Yeah.
Chad Fowler conference speaking and presentation skills
Well, I mean, thinking about a lifetime of software and whether it evolves, I mean, one thing is... From what I understand, the human body basically, after a certain number of decades, has completely replaced all the cells except for some really core stuff in our marrow. Software, when you're saying alive, if it's just being ref actored, not entirely just replaced outright, is that still staying alive, or is a rewrite just another way of perpetuating the ideas that were inside of the original software? Yeah, it depends on how you think of it, of course. Although I would say that the parallels of a rewrite to cellular generation, they don't really map. When a rewrite occurs, though the ideas still exist, the software is completely replaced. It usually looks and behaves differently. It doesn't have to, but it almost always does, because that's how it works. That's how rewrites go. So, to me, the ability to have the system continue to stand in place and continue to work is an important part of considering it to have lived or survived. So, you're right, the idea that here we are, you're Mike and I'm Chad, and we're the same people that we were when we were born, but not really the same physical substance. That's what I'm getting at. Notably, we didn't notice. We didn't feel when the cells were regenerated, and no one around us noticed. There wasn't an impact on our continuing function, actually , and improved our function. That's the way systems should evolve and the systems should survive. Well, I can also look at that as kids, as a parent. I'm watching, I am watching that evolution of the cells changing in over years. And you do, I mean, you might not feel it on a day-to-day basis because it happens so slowly. I mean, I don't know if that has any kind of correlation. I don't know if that has any kind of correlation to the idea of the evolution of software. And even though it's changing, it's still the same entity, but it slowly changes, it develops, it gets a little bit stronger, and eventually, after a while, well, I mean, everything dies and it gets weaker. It gets weaker, it gets sicker. So, sure, you know, and there's also, there's something to be said.
Mike Hall Interviewer, UGtastic
Like, I used to think about, what if we could just build software so quickly that it didn't work?
Chad Fowler conference speaking and presentation skills
It didn't matter, we could just throw it away.
Mike Hall Interviewer, UGtastic
Right.
Chad Fowler conference speaking and presentation skills
So then we don't worry about longevity of software. And now I'm sort of meeting the middle where you can build components so quickly, you can throw them away, and you should. But, you know, so over time, the system might be irrelevant , and that's when it should die.
Mike Hall Interviewer, UGtastic
Not when the implementation is irrelevant, right? Okay.
Chad Fowler conference speaking and presentation skills
I can imagine in software systems, depending on who's working on them and how focused they are and all sorts of other factors, they might get weaker over time if they were to evolve in this way. Or maybe subsystems would get weaker over time. But you would then notice that they're weaker and it would work on them in the same way that a doctor would work on a patient or, you know, whatever. Yeah, you get bad knees. Okay, we're going to just replace those. We don't have to replace, we don't have to take you out back and put an old yeller on you and then say, "Oh, well, we built a new one that has new knees.
Mike Hall Interviewer, UGtastic
" Well, anyway, thank you very much for taking the time to speak to me. I appreciate it. Sounds like a fascinating keynote. Looking forward to it. I hope so.

Critical Insights


durable
"Most software projects fail or are significantly changed, leading to short-lived systems."
durable
"The ability to refactor software without completely replacing it is crucial for its longevity."
durable
"Biological systems like human bodies can regenerate and maintain function over time, providing inspiration for software architecture."