Brief summary
In the latest episode, our regular co-hosts Rebecca Parsons and Neal Ford are joined by colleague and software luminary, Martin Fowler, to talk about his journey with Thoughtworks. Together they explore Martin’s life before Thoughtworks, how he came to join and what it is that’s persuaded him to stay for more than 20 years. They also delve into how Martin’s bliki emerged as an essential guide to all things software and about his passion for enabling everyone to take more control of their computers
Podcast Transcript
Rebecca Parsons:
Hello everybody. My name is Rebecca Parsons and welcome to the Thoughtworks Technology Podcast. Today we thought we'd do something a little different and we have with us as a guest, Martin Fowler, our chief scientist, and we want to talk to him a little bit about his experience, how and why he came to Thoughtworks, what kinds of things that he does and how he sees technology now. I'm joined by my cohost, Neal.
Neal Ford:
Hello everybody. Welcome to our podcast. It'll be easy to distinguish our voices because Martin will speak next and you'll be able to tell his voice from mine quite easily.
Martin Fowler:
Well, you mean because you have this nice American Southern accent.
Neal Ford:
Exactly. I don't think anyone will have trouble telling us apart. So welcome to the podcast, Martin. One of the things that we discovered is people are interested in career paths, particularly for people who have a nontraditional career path. And I think yours may be the most nontraditional of them all. So we thought we would chat with you about that today.
Martin Fowler:
Okay. Yeah. So I don't think of myself as having had a career path with Thoughtworks, but, oh well, we'll explore it and see where it goes.
Rebecca Parsons:
Was it a meandering stream or...
Martin Fowler:
Because, I mean, many people talk about a career path, they talk about sort of a progression through roles and changes. And actually, my role has been pretty much the same the whole time I've been at Thoughtworks. I mean, there hasn't really been much alteration and I'm actually quite happy with that. Because a lot of people want a career path and change and growth, and I've kind of found a nice niche and I'm wallowing in it.
Neal Ford:
So how did you run across Thoughtworks? How did that joining happen?
Martin Fowler:
Well, I was for quite a long time an independent consultant based in the United States and I would sort of travel around to various companies giving my consulting wisdom or whatever. And I got an email from this guy at Thoughtworks saying they wanted me to come along and help them with some, I think, it was domain modeling because they were working on this leasing system. So I showed up and started doing what ended up being quite a long-term consulting gig. A lot of my consulting gigs at that time were fairly short term, do a bit of training, show off a little thing and go away. But this actually lasted over time.
Martin Fowler:
The project was in an interesting state. It had rather overambitious targets and some difficulties with it. And I gradually introduced various bits of ideas, most of which not to do with the original request for domain modeling, which was normal as a consultant. You got asked to do something and then your first thing is to find out, okay, that's what they asked for, but what actually do they need? And then try and give them that. So we talked about testing and continuous integration and things of that kind, and at the same time getting a sense of what should happen in terms of the project. I mean, the team knew that was a problem. What they perhaps needed was some ideas and inspiration to help them figure out how to sort it out. But they sorted it all out. I didn't do anything other than perhaps a little product here and there. And they gave the project a big rebooting and re-shift. But, I guess Roy felt I deserved some credit for this or something and asked me to join the company full-time.
Martin Fowler:
And at the time, they were my favorite client because the way I looked at it is every other client I went to would say, "Oh, these are really good ideas about agile and extreme programming and that kind of thing. But there's these really big problems in the way and therefore we can't do it." And Thoughtworks' attitude was, "Oh, these are really good ideas about agile and extreme programming and there's these really big problems in the way. What can we do about tackling these problems?" And that was the big difference. It was just my favorite client. So I thought, "Hey, I know I promised myself I'll never ever join a company as an employee, but yeah, maybe it can't harm for a couple of years." That was 20 years ago.
Neal Ford:
And approximately how big was Thoughtworks at the time?
Martin Fowler:
About 200 people. I'm employee number 200 and something. I'm looking at Rebecca, she's a little bit earlier than I am on the stack.
Rebecca Parsons:
I'm 186.
Martin Fowler:
186. Yeah, I'm from the 220's or something. Yeah.
Rebecca Parsons:
Mm-hmm (affirmative). Yes, I'm told, if you're under 200 you're considered an old-timer, so I guess you're not an old-timer.
Martin Fowler:
Oh, that's good to know. But I did actually start consulting to Thoughtworks before you joined.
Rebecca Parsons:
That's true.
Martin Fowler:
So it depends when you consider our start dates.
Neal Ford:
And Thoughtworks had transitioned from Forte to Java at that point. Is that correct? Or was that during the transitioning?
Martin Fowler:
It was in the midst of the transition of it, so the project I was consulting with was a big Java project as was the one that Rebecca joined. There were two projects that were big java projects in Chicago at the time. But Thoughtworks was still in a fair bit of Forte work as well. But that was ramping down.
Neal Ford:
For the 99% of the people who are listening to this podcast, Google Forte, F-O-R-T-E, which was a 4GO platform, a lot of things were built in during that era, but is little known now.
Rebecca Parsons:
Yes. So then Roy asked you to join the company. What do you do?
Martin Fowler:
What do I do? A good question. Well, I always think of it, my life is in two parts. Parts when I'm at home and parts when I'm on the road. So when I'm on the road is in many ways the most visible part and at least until the last couple of years that was very much dominated by me going to various places and giving talks. So Brazil might say, "Hey, we're wanting you to come down to Brazil and give a couple of talks." And when I do that, if I can, I do try and spend some time with the Thoughtworkers on the ground to listen to what they're doing about projects. Because I don't do any real work anymore. So the only way I find out what's actually going on is to talk to people who do.
Martin Fowler:
I met a lot of big name consulting figures in the 90s and was struck by how detached they were from the realities of day-to-day software development and recognize that that's a very, very real danger for someone like myself. Because I don't actually want to do real work, because that would involve traveling and that kind of stuff. As if I don't do enough traveling as it is, but that would be worse, because I would have to travel then all the time. And so I need to... But still be connected to reality and connection to reality for me comes through talking to people who are actually on the ground and doing things. It gets difficult to do that, particularly over time, but I try to mix that in with the speaking. So it's a combination of speaking events and these things.
Martin Fowler:
So then over the last couple of years that speaking side has actually dropped. Partly because I hate giving talks or I'm trying to reduce speaking as much as possible, but also because I'm being involved more and more in Thoughtworks' global management meeting things. So there's the Doppler meeting, which is why I'm here in San Francisco, there's our global leadership team meetings. And I do put a very hard limit on how much travel I want to do because it's just very draining. So for a long time I've put a budget on that so that I don't go completely bonkers. So that's half my life basically. So my travel limit is I only want to be traveling half time.
Martin Fowler:
And then the other half of the time I'm back at home and then I'm concentrating as much as I can on writing, either on my writing projects or working with other people who are writing primarily through my website. So that's about reviewing their work, acting as a developmental editor on articles usually ones that are published on my website. Sometimes some book stuff as well. And there's a lot of Thoughtworks management leadership stuff as well that takes up time, plenty of phone calls and things. Rebecca is knowingly nodding she has to do way more of that than I have to do. But that sucks up a certain amount of time. So I'm just dealing with correspondence. I mean, it's amazing. I can easily spend hours a day just answering emails.
Martin Fowler:
And we think of this is a very modern problem, but it hit me. Actually, many years ago, I went and visited the home office of Frederick Law Olmsted, who you probably not heard of, but he's now well-known in at least some parts of America because he was the great landscape gardener of the Victorian, sort of late 1800s in America. He did Central Park, the Emerald Necklace in Boston. As I found out, Mount Royal and Montreal was done by him. I mean lots of public parks and spaces, the Chicago Exhibition, all sorts of things. And we visited. He had a home office in Brookline, near Boston and posted on the door was his daily schedule. And about half of that time was spent dealing with correspondence.
Martin Fowler:
So dealing with email is not a new problem. So I felt kind of comforted by that. That, that was a problem going back a long time. But it is a significant one, because you spend a hell of a lot of time just answering emails and you get all sorts of stuff out of the blue. It's not the spam that's the difficult stuff, because the spam you can just delete. It's the things that require you to actually do something or think about things and then deal with it, which chews up an astonishing amount of time.
Neal Ford:
So do you think Olmsted managed to get mailbox zero back in the day?
Martin Fowler:
Who knows? Of course, it took a lot longer to write answers. But I guess he probably dictated. I don't know. I don't know how the hell they managed, he did it in those days, but clearly it's not changed.
Neal Ford:
Well, part of your visiting with Thoughtworks teams actually facilitates the other great role that you're known for in the world, which is the martinfowler.com website. In many ways you're known as a great definer of things in the software world, but part of that is getting to talk to lots of people who solve problems and deriving what works and what doesn't work. So when did the website come about? Was that there before you joined Thoughtworks or is that a phenomenon afterthought?
Martin Fowler:
It was just about before I joined Thoughtworks. I had various Jerry Reed stuff together to sort of capture bits of stuff that I was writing in the late 90s. And I finally got my act together and got my own domain, martinfowler.com in probably something like '99. And Object Mentor, which was Bob Martin's company at the time hosted it initially. And then when I joined Thoughtworks I switched over and Thoughtworks hosts it now, does all the admin side of it.
Martin Fowler:
And originally it was just, if I wrote an article, I'd slap a copy of it or it'd be on my notes to support the talk I gave or something like that would go on the website. And then I gradually added more. I started the Bliki, which was... I didn't really want to have a blog because I don't like the very temporal nature of blogs. You know, it's always the latest thing you've written. And I didn't want that because I like to feel that if I'm going to write something, it's going to have lasting value, not just be useful for the next week. So I did this thing called the Bliki because it was a cross between a blog and the wiki. And I described that to Ward Cunningham and he said, "Oh, call it a Bliki." So when Ward gives you a name, you take it.
Rebecca Parsons:
Mm-hmm (affirmative).
Martin Fowler:
And so I did that and it's more modeled on a dictionary. So my inspiration in many ways is things like Voltaire's Philosophical Dictionary or however many dictionary things have appeared since. And that was kind of the inspiration for the Bliki. And then other writing that doesn't really fit that format went on there. And then over time I realized, "Ooh, I've built this platform that a lot of people pay a lot of attention to and I know a lot of people with really good ideas who could do with a signal boost. And so maybe if I give them space on my website that'll give them a signal boost."
Martin Fowler:
And then over time that became more and more important. So I mean, most of the decent articles that have been written over the last few years on my website have not been by me, which is great because it's getting more writers getting their stuff very visible. Sometimes I do a joint article with someone. Sometimes it's really all theirs and I just do developmental editing, which can sometimes be a lot of work or sometimes hardly any work at all, depending on who you're working with. And that's quite interesting. I kind of regretted that it's called martinfowler.com because it gives the impression that it's all mine, which is no longer really the case. But the whole thing is once you've created something like that you're stuck with it, so I guess I'm stuck with it. But that's not necessarily an awful thing. It's just a name. But I like the fact that it has become a vehicle and we get some really good material on that site.
Martin Fowler:
The great thing about it is I have complete editorial freedom. And it's also, although I see it as a Thoughtworks thing because it's... Although it isn't only Thoughtworkers who post on it, it is definitely captures sort of... It's very much in keeping with Thoughtworks' philosophy. Because it's detached a little bit from the corporate side, it gives that kind of... A level of separation and independence, I think, is quite useful as well as making it easier then for non Thoughtworks people to contribute when they can, which is nice.
Martin Fowler:
And the fact that I've got editorial independence means I can do whatever I like with the site in terms of how I structure the content. So I don't worry about article length limits because, hey, if the material takes many pages to get out then it's going to take that long. If we want to do something funky with the layout because... I mean, a good example was Paulo Caroli's piece on Lean Inceptions. It really made sense to make this structured like a timetable because that's the way he conveys it and thinks about it. So we could do something a little bit different with the layout and I can experiment with things like that. And that is a great thing and I like having the independence to be able to do that.
Martin Fowler:
And in fact, I want to do more experimental ways of trying to use the web more. That's been one of the themes that I have that's kind of got dropped down a little bit in recent years, because I got distracted by The Second Edition of Refactoring book. But it's something I want to pick up on again and trying to find ways to really use the web a little bit more for conveying information.
Neal Ford:
Yeah, you have some very nicely done info decks on your website that are more like magazine layout slash presentation, which is a nice innovative way to present material.
Martin Fowler:
Yeah, and that was... I mean, I experimented with that a few years ago and by far the most... It's kind of ironic, I did several info decks, but by far the most successful info deck was done not by me, but by Toby Clemson, his excellent piece on testing microservices systems, which is actually more general test portfolio piece generally. But yeah, it's an interesting style because it uses the slide deck metaphor, but uses it in a way that none of the slide deck things on the web work. So particularly, it makes a strong use of animation. And the idea that this is something you purely read, it's never meant to be presented to, which is the purpose of an info deck in my view.
Martin Fowler:
So it does the integration of graphics and texts which a good info deck does, but what most info decks never do is the animation. And I know Neal, because you're a big user of careful and a thoughtful animation in your live decks when you present. And I wanted to capture something like that in the info decks. Because if you're showing a diagram, if you've got animation you can actually move a lens around the diagram to say, I'm highlighting this part of the diagram and some texts underneath it, then move it, and you can actually nukes the animation in those kinds of ways and there's certain graphics elements where you can do that.
Martin Fowler:
And that's the kind of thing I'm interested in, is things that we couldn't do on paper. Because most stuff on the web is just paper stuck on the web. But we're not really using what it can be done. But to do that requires both the imagination and also some programming ability, right? So you've got to figure out how the hell to make it work.
Neal Ford:
Well, that's the other thing I think that has proven to be a really good idea of long term is the hyperlinking on your Bliki, because it allows you to gradually build up this body of knowledge that is all interrelated to one another. Because it all fundamentally talks about software development in one flavor or another or process, but all those topics inevitably sort of intertwined over time. And using the web the way it was meant to do, like you do, I think it's a very good way to stitch that story together.
Martin Fowler:
Yeah, and in fact, most of the time the item comes up on the Bliki, it's because I'm writing something else and I've had the term, it's not well defined, or I go out on the webinar, look at the definitions on the web and I don't like them. And so I write my own or that happens to somebody else who's writing and saying, "We haven't got a very good definition of this," we can write it. And so it grows organically in that kind of way.
Rebecca Parsons:
So you are well connected within the technology industry. I'm sure you follow a lot of people on Twitter. What's going on that's interesting to you in technology these days?
Martin Fowler:
That's always an awkward question because a lot of what interests me in technology is stuff that actually doesn't change that much, which is why these radar gathering meetings are kind of strange in a way. Because they're all about new and interesting stuff, and what I'm most interested in is often the old and less interesting. Well, not old, but still very interesting. And of course, that's a theme that constantly crops up is the old ideas being rediscovered or being forgotten, having to be people reminded of again. And also a lot of the technology stuff at the moment is a lot of the focus is on very much the internals of deployment networks and things like that. People talking about Kubernetes and that kind of stuff. I can't get excited by that. I'm much more excited by how it impacts people.
Martin Fowler:
So areas, where am I most interested at the moment? One of the things that interests me a great deal at the moment is how can we better make use of data to help people understand what's going on in organizations and in the world generally. And that's not so much on the... And a lot of the background to this is, of course, very much how do we move data around the data engineering side of things. That's not actually the area that I'm most interested in. I'm more interested in the communication and understanding parts of this. How do we help people ask the right questions of data and understand things from data? So some of that is visualization, some of that is just understanding, getting the feel for numbers and things of that kind.
Martin Fowler:
I was very struck by a recent pair of tweets by Nate Silver. He's the guy who runs FiveThirtyEight, which is the data-driven news, and he also does a lot of stuff in sports. And I completely ignore that, but he does the data-driven new stuff. And he made some posts where he said that, "If you want to be a data scientist at the moment, 49% of your effort needs to be on getting an intuitive sense of data and the questions you can ask of it. 49% of your effort is understanding the domain that you're working in and 2% is statistical methods."
Martin Fowler:
And I thought, well, that was a very interesting point to me because I think that's a lot of what we need to convey to people. If we want to use data to drive businesses and organizations, which I think we do, more people need to get a better understanding of how to make use of that data, what kinds of questions they can ask and how to picture in their minds what's going on together and marry that up with understanding of the domain. And if we can make progress on those fronts, which is a communication thing, then we can achieve a lot with that. So that's perhaps not so much a technological thing, but it is one of the areas that I've been interested in. I'm not quite sure how I can actually make a difference in this area at this point, but it is an area that very much interest to me because I feel we're losing a lot both in terms of how businesses operate, but also in terms of how our world operates.
Martin Fowler:
A hell of a lot of people just don't have a good sense of how to interpret the numbers that we have available to us and that's causing us a lot of problems. I mean just look at issues like climate change for instance, which has a lot to do with people just not understanding what's going on out there. And we have to somehow figure out how to fix that and how do we get people to understand probabilistic reasoning better and things of that nature, which is probably not the answer to the question that you were expecting.
Rebecca Parsons:
It doesn't matter. I asked what you were interested in. There is no right answer to that question. But one thing that does strike me about that is your experience over the last many years in thinking about how best to communicate ideas. It feels like that background actually positions you pretty well to say, "Okay, now the topic is different. The source of the thing to be explained is different." But I know you think very carefully about how do you communicate ideas and it feels like this isn't such a stretch to say, okay, instead of having to communicate ideas about software development practices and principles, how should we be thinking about these different kinds of data in these different contexts and use your expertise in thinking about how to communicate to apply it? So I actually find it quite interesting.
Martin Fowler:
Yeah. And another area that interests me as well is software developers tend to kind of look down on software development done by non-developers. We notice that the world seems to be run on people's Excel files and then we sneer at them, right? Because, "Oh, it's all being done on an Excel sheet, let's do this properly." "Oh, there's this crummy query that's holding the company together for the last two years. Well, we've got to improve this." And part of me... I mean, I do want people to do a better job with some of these things because they're often badly done, but I'd also want to enable people to do things for themselves.
Martin Fowler:
I mean, I constantly go back to thinking about Alan Kay's vision for everybody having a computer, the Dynabook notion. I mean, his vision of that, when you listen to his kind of initial story of what he would imagine a future to be, it is about kids... I remember it's something like kids trying to understand the physics of bodies moving in the solar system, all of that and they would write a simulation on their Dynabook. Program a simulation in order to understand this. And the notion that you take control of your computer and it's not a passive device that you can't take control of it.
Martin Fowler:
And spreadsheets of course have a great success in the fact that they do allow people to take control of things. Now, I personally can't stand the spreadsheet paradigm and I would much rather write... When I do my data analysis, I do it in [R] not on a spreadsheet. And part of me feels that perhaps people need to have more tools to step away from the spreadsheet to some degree. But at the same time I also want to think we need to be enabling more people to take control of their machines rather than it be a passive thing. But then it gets tricky, right? Because I'm the kind of person who finds Emacs quite natural and useful and usable and easy tuneable and the like. And I realize that's not even true from a software developer [crosstalk 00:25:28].
Neal Ford:
In fact, we may have gathered the three people on earth who are still [crosstalk 00:25:33].
Martin Fowler:
But I do think that's an issue as well, is how do we get people to be able to take a more active role in making use of what the computers can give to them.
Neal Ford:
I really like things like what Donald Knuth called literate programming, that it's exemplified now Mathematica and Jupyter notebooks, which really do let you document, they do experiments in What If games. Of course, Mabel and Emacs did the same kind of experimentation. But I love those kinds of environments that really do free you up to play What If games in a way that you don't normally think about interacting with a computer-
Martin Fowler:
And then how do we bring the same kind of notions about code quality and good structure and maintainability to that kind of model?
Neal Ford:
Well, that's the thing that frustrates me about spreadsheets is because I bumped into this recently. I was modeling something on a spreadsheet and I thought I really need a variable here. But you have to rethink that and go, "Oh no, it's not a variable here, it's a cell. I need a cell reference not a variant." So just the mind shift about...
Martin Fowler:
Right.
Neal Ford:
And how to do that properly. Think there's a whole swath of material about how to do proper programming in an Excel spreadsheet and do proper abstraction and use tables that drive other tables and that kind of stuff. But that's a much longer subject for somewhere else. So we'll wrap up here with something else that I know you're quite passionate about, that has quite the opposite to do with technology, which is European board games. What is your favorite current European board game? I know people who follow you on Twitter see that you're actually doing some board game [crosstalk 00:27:16]-
Martin Fowler:
Oh yeah, yeah. I had this weird situation where my favorite podcast and YouTube channel to do with board games, the guy who runs it actually moved into the town just 10 minutes away from where I live. So I ended up participating in that. That's heavy cardboard. Yeah. So the answer to your question, my favorite at the moment is a game called Brass: Birmingham, which is a game that... It's inspired by and to some extent simulates the industrial revolution. You build an industry and what I think is interesting, you build this industrial empire and you connect all these different bits of your industrial empire with canals, because canals were a big thing in the sort of 1790s, 1800s. And then you have to wipe all canals off and start again with railway, because that's what happened. And it's a fascinating game. It takes a few plays of it to get into it, but it's a very deep and interesting game and I've been enjoying it a lot.
Neal Ford:
Yeah. Martin is one of the people I go to, to get my fix for what's newest and greatest in the board game world. All right, well, thank you very much, Martin. Always fascinating to talk to you and thanks very much for spending some time with us.
Rebecca Parsons:
Yes, thank you.
Martin Fowler:
Thank you.
Neal Ford:
On the next episode of the Thoughtworks Technology Podcast, Mike and I sit down and talk to a couple of our colleagues about nuance around self-serve infrastructure, why you need it, what the sort of challenges are, and how to do what. So I hope you listen.