Ian Miell, Author of Learn Bash the Hard Way: Master Bash Using The Only Method That Works
A Leanpub Frontmatter Podcast Interview with Ian Miell, Author of Learn Bash the Hard Way: Master Bash Using The Only Method That Works
Ian Miell is the author of the Leanpub book Learn Bash the Hard Way: Master Bash Using The Only Method That Works. In this interview, Leanpub co-founder Len Epp talks with Ian about his background, his first experience with a computer, the benefits of studying at a university with a college system, what it's like to work at a company as it grows from 38 people to over 700, the ...
Ian Miell is the author of the Leanpub book Learn Bash the Hard Way: Master Bash Using The Only Method That Works. In this interview, Leanpub co-founder Len Epp talks with Ian about his background, his first experience with a computer, the benefits of studying at a university with a college system, what it's like to work at a company as it grows from 38 people to over 700, the importance of checklists when crises hit, his book, and at the end, they talk a little bit about his experience as a self-published author.
Transcript
Len: Hi, I'm Len Epp from Leanpub, and in this Leanpub Frontmatter podcast I'll be interviewing Ian Miell.
Ian has more than 20 years of experience in IT, and has worked on software on some of the world's most demanding systems. He is currently employed in Canary Wharf in London for a big financial services company.
Ian is the co-author of Docker in Practice, which was published with Manning, and he's now also the author of a new Leanpub book/course, Learn Bash the Hard Way: Master Bash Using The Only Method That Works.
You can follow Ian on Twitter @IanMiell, and you can read his blog at zwischenzugs.com.
In this interview, we're going to talk about Ian's background and career, professional interests, his books, and at the end, we'll talk a little bit about his experience writing and as an author.
So, thank you Ian for being on the Leanpub Podcast.
Ian: Thank you for having me.
Len: I usually like to start these interviews by asking people for their origin story, and I was wondering if you could talk a little bit about where you grew up, and how you got interested in IT?
Ian: I grew up in London, and I first got interested in IT, I guess when I was around the age of eight or nine, when I came home one day and my dad had a Sinclair Spectrum. I don't know if they had those in the States - I think they were called Tandy something or other?
Len: We had Tandys in Canada.
Ian: It had the rubber keys and the multiple things on each key - a multi-purpose keyboard. I remember I was pretty excited about that.
Actually, I looked back recently and found that the cost of that computer today would have been the equivalent of quite a reasonably expensive secondhand car now. So it was quite an investment my dad made in my future, and it wasn't my birthday or anything.
Anyway, so I got that. I remember I used to write a lot of computer games, adventure games, and so on.
And then I hit adolescence and got into the arts, and I studied history at university. I wanted to be a writer, or a poet, or something - or an essayist, journalist. That kind of thing. That was the plan. And then through that I did actually work as a journalist very briefly for The Times of London for a few weeks. I kind of turned off the whole thing, I didn't really enjoy it.
So I left university not really knowing what I wanted to do. A lot of my colleagues were going into law, or management consulting, or accountancy - or the standard sort of post-university careers. I kind of drifted around for a couple of years. I spent a year in Vienna teaching English. I temped for a year. And then - it was during my year abroad that someone said, "Oh you seem to like these computer things."
And I remembered that I'd enjoyed computing when I was a kid and I still liked maths and logic and so on. And so it seemed a natural step to just - also, this was the dot-com era, when the internet was taking off - this was about the turn of the century, and everyone wanted to start a dot-com company.
So I borrowed some money and did a conversion course in computing, which was a year-long course at University of London. I finished my thesis early, and started work. That was around 15, 17 years ago.
Len: Thanks for that story. We can maybe pause there, because there's a few things I'd like to ask you about before we go on. The first is - what was it about adventure games that you found so interesting? I'm just asking because that was when I first started playing computer games, other than Atari 2600 games - it was the adventure games that really drew me in.
Ian: I don't know. I mean, I wasn't particularly into playing them. I liked - I've always liked simple arcade games, Breakout and that kind of thing. I think there was a very good level of support in that time for creating your own adventure games, because it's text-based. It doesn't require actually any very sophisticated programming, whereas a lot of the arcade games did, because they were much more demanding.
And if you're eight or nine, I guess just writing some text to evoke a world was pretty easy stuff, pretty standard stuff for me. Whereas learning machine code was - I mean, this was the days before you could Google anything. So I was curious as to how it worked. But no one around me knew how it worked, no one could show me, there were no books that I could find. It was just a bit of a mystery to me how all that worked.
I remember looking at machine code and thinking, "That looks really interesting." But that's where it ended, because there was nowhere for me to go.
So, adventure games were easier to do. I remember there was a thing called General Adventure Control. It had this acronym, GACPAC. It was 22 pounds, I still remember the price, really expensive. And you could create your own games with it.
I was talking with friends about starting a company, selling these games and so on. It had a really exciting late-era punk kind of mentality to it. I really enjoyed it. It just seemed like there was nothing stopping you from just doing this stuff.
Len: Thanks for sharing that story. It's actually a kind of unofficial theme of this podcast, because so many of the people that I interview are in the IT space. One of the really interesting things to hear about is their first experience with computers. And it's interesting how often it is actually a father bringing home a computer - but not everybody ends up on this podcast, I suppose. For some people just the light bulb goes off. And it's just an amazing kind of turning point.
Ian: Well it's funny, I was reflecting on this recently because my son is - in fact, you might be able to hear him shouting at his screen. He's playing on his Xbox right now. And he just got one of those microphone headsets, and he's online with his friends, and they're playing games and they're collaborating.
And I was thinking - my wife's pretty worried about "Is there too much screen time?" and all that stuff. But I'm less worried because I think, "Well, he's doing what I do at work every day." I mean, he's basically coordinating activity with his friends, while sitting in front of a screen, and that's pretty much what I have to do every day. So it's a pretty good preparation for life as it is now. But I do wonder if I should go and buy him a 3D printer or something, and that's going to be the future. But it's pretty hard to second guess the future.
Len: It's a really interesting contrast too. With more primitive technology, it sort of brings its own type of complexity and creativity. But the kinds of - I don't know because I don't have kids myself, but I think what kids are doing on computers these days is in some ways very, very different from what people of our vintage were doing with like Pitfall!. [Note: You can try playing the game here: http://www.retrogames.cz/play_029-Atari2600.php?emulator=js - eds.]
Ian: It is absolutely very different. I remember - this is turning into a bit of a reverie, but I remember sitting with my best friend at school. We'd have a cup of tea while we waited for the game to load, and we would just chat about - it was quite reflective, it was quite therapeutic, because there was nothing else going on. And we'd just be staring at the screen, waiting for this thing to happen. And just the two of us talking, it was actually quite a peaceful way to be with someone.
Obviously my kids don't have that now. They never have to wait more than 10 seconds for anything to load, so -
Len: I was going to say I'm more of a "shout at the computer" type person than that. I just sat there always anxiously waiting for things to load being angry. I wish I'd taken a lesson from your book.
Speaking of reveries - you studied history. What led you to make that decision?
I just want to put this in some perspective for people listening. Ian went to the University of Oxford for his undergraduate degree. And at that university, you have to choose a single subject to study. So there's more or less no kind of general arts idea that's implemented there.
There are workarounds that people have - they'll group a bunch of subjects into one like Philosophy, Politics, and Economics. But if you, for example, just decide to study history, that's what's you're doing. And that can be a very big - I know from my time there as a graduate student, how stressful those first few moments are there when you have to make that choice. I wanted to ask you what led you to choose history?
Ian: Well I guess to extend back further that context, in Britain then - and now I think, you have to specialize at 16. So you pick three subjects, or four or five in rare cases, to study to a what's called an advanced level. And I chose maths, English literature, and history. It's a relatively unusual combination, because usually you go to arts or sciences.
I had to have a couple of arguments with teachers about time tables to make that happen. But I was pretty insistent on that, and I enjoyed all three. Actually I was probably strongest at English literature, but the idea of doing three years of English literature didn't particularly excite me. Or rather, I felt like it was too much to one side. The idea of doing three years of maths wasn't particularly interesting to me either, for similar reasons.
History seemed to be a nice middle ground where it was artsy, but at the same time there was an element of - strictness, I guess, I don't want to say intellectual rigor - but in history you have to answer the questions given. So you have to kind of be very precise about your response. Whereas English literature is much more "creative". You have to present something that is a sophisticated response to whatever question you're presented. So it was kind of a middle ground. I mean, also my father was really interested in history, so I guess that kind of carried through.
But the other side of studying at Oxford that I found really positive was that while you specialize in one subject and you do one subject, you're hanging around with people of all different disciplines. There's a college system where you have like two to three hundred people in one building studying at the same time, relatively independently.
So I was hanging out with mathematicians, engineers, English literature students, philosophy students, and we'd all go drinking together. I'd say that was my real education. That's where I learned what I was interested in. I'd talk about Wittgenstein a lot with a friend of mine who was studying him in great detail. I'd talk about literature a lot with my literature colleagues.
Even maths, I was really interested in some of the things going on there. And so history was the day job. I had to turn in my essays and present my material to the Fellows. But the real value I got intellectually from that time was two things. One was that cross-discipline thing. You really learn that there's no actual distinction between all these things. They're just study.
You specialize in something because you have to, because no one can be brilliant at everything. But actually they're all related disciplines, and they all combine aspects of one another.
The other thing I really got from that place was, I was pushed - everyone there is pushed to be really independent. You get very little support. That can be very difficult emotionally to deal with, especially if you haven't been raised in that kind of system. But at the same time, it gives you a great level of confidence when you go out to the world.
Len: If I can just interrupt there, which college were you at?
Ian: I was at college called Mansfield College.
Len: For anyone listening who's unfamiliar with what Ian described very well, the benefits of the college system there - it makes a big difference to your experience at universities like that, which college you go to. And yes, at least in my experience, one of the most extraordinary things about the system is that you're mostly socially around people who aren't in your field.
Your college, unless you choose to reject that life, is the center of your social interaction. And there are only a limited number of other people in your same subject there. There will actually be professors attached to your college in your subject, probably, so you can have a close interaction with them.
But I wanted to talk to you about this - what you were invoking, I think so well there, the independence. The analogy I had for doing my doctorate there was that, it was like you showed up, and you're like a kite, and they tie you to a rock, and they get you up in the air, and they come back in three years, and they say, "How did it go?" Some people thrive on that, and some people don't.
For a time there, I had a bit of Junior Dean-type role, and Oxford has I think the highest rate of suicide for students in the UK.
Did you find it stressful, or did you find it invigorating - that independence?
Ian: Definitely both. One of the selection criteria they use is not your grades, so much as your drive and your willingness to go do it yourself. Because that's the biggest determinant of whether someone will survive there.
I now remember that in my interview they were asking about all sorts of stuff unrelated to my studies. They saw that I'd done some work experience as a journalist, so they were really interested in finding out what I got from that.
I used to go to art galleries a lot. I was very interested in art history and art itself. And so they were very keen to learn about that. I think what they were looking for was, is this person going to go out on their own, on a cold Monday morning, and get out of bed, go to a library and sit for two hours reading about something they're perhaps not so interested in, in order to turn in an essay on something they're not particularly interested in, because their drive is to go and do that? I guess that's one of the things that got me in.
The stresses are immense in a place like that. There's a lot of talk in IT about imposter syndrome. But I think it's pretty universal in most fields. I just think people in IT are not very good at accepting they have imposter sydrome, and that's okay. And an elite university, I think, is full of people who think they don't deserve to be there. I'm certainly one of those.
I remember feeling physically sick before every tutorial I ever had, actually wanting to throw up, because I felt like, anytime now, someone's going to turn around and say, "You realize you shouldn't be here? You realize it was a big mistake? And we've found you out now." That was a constant feeling.
Len: When you talk about tutorials - the system really is very different [from how it works in North America]. The way it works, where Ian was studying, is that you have a tutor for a subject, and you meet with them - I think it's conventionally once a week during term?
Ian: Yes. For me it was once a week, sometimes one and a half or two.
Len: A tutorial is when you meet with the professor. You might have one or two or other students there. You might even be just alone with them. This could be a world-renowned professor that you've got this alone time with. It can be very intimidating.
Ian: It's deeply intimidating. I mean, it's worse than that. They're not just chatting to you about what you've read that week. You have to sometimes read your work out to them while they sit and write notes, or even submit them the night before, and they will then give you their view of what you've said - or perhaps push you in certain ways and ask you questions.
I remember one tutor I had - I did a medieval history course, which I was really not interested in. And it was just me and him, and he was deeply old school. My tutor at my own college described him as a "beat him up and shake hands afterwards" tutor.
Len: Those medieval history guys, man.
Ian: You're not smiling when you say that. You are very serious.
Len: Yeah.
Ian: Yeah. Because in certain ways, I went to a high school which was not very academic. It was a nice school, but I was the first person ever to get to Oxbridge from there. And he actually said to me at one point in the tutorial, "Think about where Reims is relative to Paris," right? We were talking about France. And I gave him this blank look. And he looked at me and said, "Did you not study geography at school?"
So it was pretty much him saying, "Get out, you're not qualified to be here." And maybe I wasn't. Ironically, I got my best mark in that subject, because of course he was actually a very good teacher, and he wasn't going to let me get away with stuff. He was going to push me and, if necessary, embarrass me into working hard. So there's a bit of a lesson there.
But I do remember one week, I was completely lost trying to read up on some obscure subject I had to write on. And I actually went to him, which is very unusual - I went to him mid-week and asked to meet him, just to say, "I'm just completely lost. I've spent two days in the library, and I have no idea what's going on." And he looked very disappointed.
I remember him putting his gloves on very carefully and saying, "Walk with me." And rather than saying like, "Just relax, calm down, it's not the end of the world. Just keep at it. Maybe look at this text over this text, and think about this and that," he just gave me a mini lecture - 10 minutes, while he walked to his next appointment. And then he was at his destination, and he said, "I must go now." And that was that. I felt no better off. It was a very strange experience.
So yeah, it could be really, really intimidating. I mean those eight weeks were hell. Those eight weeks were really unpleasant.
Len: It speaks to the independence that you invoked, that one needs to thrive in that experience. I think from people I've talked to, I think things have changed in the last 10 years or so a little bit. But yeah, those years are hard.
Ian: Bear in mind - not only you're doing that, and then not only are you alone all the time. You're a hormonal 19, 20 year old person who's experiencing all kinds of other stuff at the same time in these eight-week periods, where you're supposed to cram in all this knowledge. And then you go home, and there's nothing to do. Or you're trying to find a job, to go on holiday, or whatever.
It's a very odd life, and it's no surprise that a lot of people struggle with it. And now I guess, it's even worse, because they've got 9,000 pound tuition fees to worry about, and probably having to work more jobs than I did. I don't envy these kids at all.
Len: The change that Ian is referring to there is that tuition has gone up dramatically for university students in the UK in the last few years. It actually was probably free when you were there, if I'm not mistaken?
Ian: Yes, tuition was free until about 10 years ago. When I was there, they'd just started - about 10 years before I went, they removed grants. So if you went to university, you'd fairly normally get a grant of some kind from the state to help you survive. So we thought we had it tough, but I think it's changed. And of course, anyone listening in America's going to be saying how easy it was for me, with great fairness. But it's something we have to get used to in the UK.
Len: That's an unfortunate development. I remember being very surprised when I moved to London in 1999. I was working on the Aldwych, off the Strand, nestled amongst the London School Of Economics Buildings. And there were these constant, as I recall, student marches, with people protesting against having to pay tuition, which I had a kind of backward chauvinism about. I thought, "Well, get your act together and pay a little bit of tuition for your education."
But it's a very big deal. My views on that would be much more considerate now, I think. As you're pointing out, adding the stress of money to an already stressful time, in many different ways, doesn't make things easier on young people. And especially as you say, you're getting started in life in a lot of different ways, not just educationally, at that time. There are a lot of factors to keep in mind.
So after a couple of years of moving about, you ended up formally studying computer science at the University of London. I wanted to ask you whether or not you would recommend that same course of action to people who are thinking about getting into IT now. If you could give yourself some advice, and you were 18 or 19 now and wanted to get into IT, would you recommend a formal course of study in computer science?
Ian: I do recommend it. In my previous job, I interviewed hundreds of graduates. And there's one graduate I remember very specifically. He was a physicist. He'd done a PhD in quantum physics. So we were all very impressed with him. And he was a very nice, smart guy. Very diligent, clearly someone you'd want working for you. And unfortunately he had almost literally no experience in computing. I mean he'd done some programming as part of his physics course, but it was very superficial. It wasn't what we needed.
And we grilled him for like two hours, trying to find reasons to hire him. And in the end, we couldn't. I said, "Look, I think you're great and I'd really like to hire you. But I just can't justify it internally. And I'm not sure it would be fair on you to put all this pressure on you to deliver at such a quick pace. What you should do is do what I did. Borrow the money, go and study computing and a conversion course. There's a really good course at this university, which is the one I studied at. I'm sure there's lots of other courses, but I recommend this one. Just take a year, borrow the money. Get odd jobs here and there, and you'll have a really good grounding."
Over the years, I've been really grateful for that grounding. It was actually only seven months of an actual course, but during that course, there were things that I learned in my first degree, that really set me up for that.
For example, we had a bunch of lectures on computer architecture. For the first lecture, we were given a sheet with basically the whole course in it. It was all handwritten. And there were exercises at the end. So I took that sheet, and I went home, and I studied it from beginning to end.
I figured - week four, I was struggling with, so I'll go to that lecture. Week six was easy, no problem there. Week five, I might need t see how I feel at the time. And I did that. And then my fellow students were like, "What the hell are you doing? You weren't at the lecture today." And I said, "Well, I've covered the material, it's fine."
And they said, "You can't do that." I said, "Well why can't I do that? It's my course, it's my money. I think I've studied it, I'm ready for the exam. What's the big deal?" "You've got to go to the course." And it's like, "No, I'm independent. It's not about turning up and answering the register, its about using my time effectively." That showed me how much I'd got from those three years of studying alone.
Len: You're drawing together two things that I think some people might consider to be incompatible, one of which is formal study, and the other is independence. I think a lot of people relate to formal study as basically an experience of being institutionalized, and just doing what you're told.
And that's because that's the experience they had, to put it bluntly. For other people, having the opportunity to be attached to a big institution is just the experience of having incredible resources available for you to use and to learn from to achieve your own ends. Which sounds kind of stark and harsh, but that's what a lot of people are also up to when they're a part of a big institution.
You have an interesting story. You went and worked for a company called OpenBet. When I say, "interesting," I mean of course it's interesting in lots of ways, but you ended up experiencing very strong growth there over the years. I was wondering if you could talk a little bit about just what OpenBet does?
Ian: OpenBet is a company that provides the back end systems for - I don't know the state of it now, but certainly when I left three, four years ago - for pretty much all the major sports betting companies in the world, with a couple of exceptions. Essentially that is pretty close to high frequency trading challenges.
So you might have a sports event with hundreds of thousands of people wanting to bet on it. And they're all coming to the system at the same time. You want to take those bets really fast, you want to return their money really fast. You want to make sure everything happens with as few problems as possible. You don't want the site to crash. Everything has to be optimized. Performance was actually the whole selling point of the company - it's ability to perform.
So every time we were down for any reason, it was a big, big, big deal. Not only for the money lost, but the reputation, the fear that our company's reputation woudl go down. There was a lot of scrutiny - it was a very, very small world. A lot of people talking to one another. So we were under a lot of pressure. It was a very robust environment to work in.
Actually, not dissimilar to Oxford in that sense, that there was a lot of imposter syndrome there too. A lot of people who had to run to keep up with each other. The odd crazy genius. Again, I didn't realize it at the time, but it was a real crucible of a lot of interesting things happening at once. I learned an enormous amount in a very short space of time.
I was I guess about a year into the job, and I was working on a Saturday with a colleague. I was on a live database with millions of pounds going through the system, and I had complete administrative rights. I could've done all sorts of crazy things. And I remember saying, "Two years ago, I didn't know how to program. And now I've got this kind of access, this responsibility. It's really, literally, awesome." We just kind of both whistled, and then got on with the job. I was very, very lucky to join there.
When I joined, we were 38 people in a room. And over 14 years, we grew to 700 across the world. Not quite the kind of Facebook story of zero to however many thousand employees, but certainly it was a great learning curve in terms of, every time we doubled in size, the problems changed.
Len: I was going to ask, what was your experience like of losing that small team, everybody knows each other, corporate culture, to one of fast growth and just enterprise-level issues? Did you experience that as a loss or as an exciting change or - ?
Ian: There were many days I missed the small 38 people in a room. Like when I joined - it was double-edged, right? Because when I joined, 38 people in a room, the guy behind me was the CTO. A very awe inspiring person called Chris Hall. And to my left was some crazy guy called Fergus Gallagher, who was quite a frightening individual. And there were just people around me who were just all very intimidating.
And we were cheek-by-jowl. I mean, my desk was not much bigger than the keyboard. Everyone could see what everyone was doing. If you wanted to know how something worked, you'd just shout it out to the room. "Anyone know how payments work? How do payment systems work?" And someone would say, "Oh yeah, Matt over there, he knows how it works. Go talk to him." And that's what you did. You had these problems to solve. And there was no structure, there were no time sheets, there was no -
If I wanted to spend two days documenting the shared code, my project manager would just let me do it, [he] trusted me. Because he figured that I wasn't going to waste my time. So it was a very different world to what we became, which was 700 people. I instituted a load of processes, and had to formalize a lot of things which were previously informal. So yeah, there was definitely something lost. But at the same time, it was a new thing to learn.
So people say, "Oh you worked at the same company for 14 years." I say, "Well no, there were like three or four companies that I worked for. One was the 38 in the room, the other one was the 700 - trying to figure out how to industrialize a lot of these processes. In the middle you had these transition phases, which were also interesting. I was learning a lot."
Len: I think you mentioned documentation. You have an interesting blog post, where I think you talk about taking months to formalize processes, which is, from a technical and big company perspective, a really fascinating challenge in a number of dimensions, including convincing people that this is something that you should be doing. I was wondering if you could talk a little bit about that experience? Was it seven months that you spent on that project?
Ian: Yes. Like everyone else in IT, I complain about documentation. It's kind of a sport. Everyone likes to complain they don't have enough documentation. It's like complaining you don't have enough resources to do your job. Me and my boss, Justin Hayes, we worked for about eight years, side by side. And he was great, because we'd grown up in the company together, so we completely trusted each other's judgements and had a lot of respect for each other. So when I said, "I want to take time out and just document the hell out of everything," he could totally back me up, and just said, "I'll make it happen. Let's do it."
And it was seven months I spent documenting every major issue for the previous two years, and the ones happening while I was doing it. It took about four months before that started to pay dividends. So it was a long time of me sitting there, mostly at home, also at work, just collating, ranking, categorizing information and organizing it and structuring it in such a way that it would actually be usable by the team.
And the way I persuaded them that it was good - because I was doing the job as well, this was in a third-line support team, so I was actually doing investigations as well, less so than before - and I would know the issues coming, and I'd say, "Well I've written a document on that, just follow these steps and come back if there's a problem."
Gradually habits changed, and people started to like it. But me and my boss, we had to enforce it, we had to put someone on the job of maintaining the stuff. It wasn't just a matter of writing it. It was about actually putting the procedures in place to maintain the asset that we'd built.
And funnily enough, at Barclays, where I am now, I'm going through a similar kind of experience, where it's not just enough to put the material together. You have to be in the team, with the team - coaching them through the difficult mentality of investment - of not just fixing the problem right in front of you, but actually thinking about what investment are you putting in, so that next time, you spend less time on this. Next time you'll have a bit more time to do the more interesting work. It's very, very difficult to get that across. I don't have the answer any more than anyone else does. But it's not quick, whatever it is.
Len: I've got a couple of questions about things related to that, that I'm going to ask you about Docker and your experience bringing that into organizations.
But I've got a couple of questions about your move away from OpenBet. The first one is - so you moved to this really giant organization. What was that like? Did that feel like an increase in autonomy and power? Or did it feel like a decrease? Or are they just not comparable experiences?
Ian: On one level it was a real decrease in power, because I went from a position where I knew everything. Not everything, literally - but I knew so much about the organization I worked for. I knew its DNA, I knew who the founders were, I knew all the arguments that have been had over the years. An initiative would be started, and I could tell you how that would pan out over the next two years. I knew the whole culture.
So going from that to an environment where - I'd never worked in banking. I'd never worked in a regulated environment. I'd never worked in infrastructure, so there was an infrastructure team I joined at Barclay's, not a development team. I'd never worked for a big corporation like this. There were so many firsts for me that it was really frightening. And for a long time I didn't know what I was doing, and I didn't quite know how to operate in that world. I had a lot to learn.
So in that sense, I felt very impotent. In another sense, it was quite empowering because I'd gone from this company that was not very well known - that was behind a lot of big names, but wasn't really a big name in itself - to a company whose name opened doors. So you say you work for a big bank, and suddenly people want to talk to you. Suddenly people want to help you out, or discuss things with you, or invite you to conferences, or - there's all sorts of things that happen as a result of that.
Very early on in my time there, I was invited to talk to some very senior people at a very big, well known technology firm. No obligation, just spend a few hours chatting about your experiences with them. I just kept having to pinch myself, because a few weeks before, I was just being shouted at by people for not delivering something that was impossible to deliver. And it was a completely different experience.
Len: You mentioned regulation, and I wanted to ask you a little bit about that. I mean, obviously gambling is regulated. But banking is also very regulated. I was wondering, in your job in infrastructure, how does regulation touch on what you do?
Ian: It is what I do. The regulatory regime under which we work informs everything we do. It's the constraint that drives all the behaviors of an enterprise organization.
I work in a team that's involved in cloud transformation. So we're looking at ways that we can move our workloads into the cloud. And we interact with a lot of people who have the perception that it's a matter of, you flick the cloud switch, and then all the services that I have at home are available to me at work. That should be how it works.
It doesn't work anything like that, because each organization has its own disposition towards the rules under which it works.
Now in the case of a large bank, you have several choices. You can either say each individual team has its own constraints and decides what its regulatory situation is. And by "team" I can mean business unit of thousands or whatever. The route that some larger organizations take, is to take whatever we build, it's going to be fit for any regulatory regime.
Which means you then have to define your own standards to match all these regulatory regimes, and that means that you have your own rule setters within the organization. And those rule setters in your organization determine what you can and can't do. And so you end up in this situation where you have to figure out how you can build software in this environment.
I'll give you an example to make it slightly more vivid. When I was at OpenBet, I had root on my laptop. I had pretty much full access to the network. So in the early days of experimenting with Docker, we set up some sort of - I can't remember exactly the details. But we set up some sort of DNS server by accident on the network, with a spare PC we'd found, and hooked up to the network. And we ended up drawing a lot of network traffic into our box and causing all sorts of issues for the network admin.
Now, if I did something like that at Barclay's, I'd be fired. No question. Because the regulatory regime under which I worked at OpenBet was so different; it was about enabling people to deliver fast. I got a slap on the wrist. I got told off and the IT manager said, "Please don't do that again." So it was a completely different world.
Because I had root on my laptop, I had no external dependencies. If I wanted to get a piece of software installed, I'd download the pieces and compile it and there it was. As root I could use it. Whereas, trying to do that within a corporate environment at a large bank is completely different.
Len: I wanted to ask you a couple of questions about working in those kinds of environments. I'll put some links in the notes to this, or the transcription to this interview, so people can see the really good talks you've given on YouTube. You've already gone into detail on this, in recorded ways.
But one thing you talk about is - and this is related to what you were just saying, I think - let me just find this quotation here from a talk you gave. This is you quoting someone else, but you say, "People who are really serious about software should get serious about people."
In particular, what you're getting at there is the internal politics of doing something, like bringing a new approach to things, like, say, Docker, when you haven't had Docker. And things like the problems, the concerns people might have about giving root access to individual users and things like that.
I was wondering if you could talk a little bit about that process. Let's say someone is listening to this, and they're like, "Okay, well I'm serious about software and I want to get serious about people." What does that actually mean if you're in a big company? You talk about things like finding out who makes the decisions.
Ian: Again, I can give a very specific example of something I did in this area.
When I worked at OpenBet, I remember I had a kind of New Year's resolution, which was to stop using chat, and physically move to speak to anyone I needed to speak to if possible. So rather than chatting with someone, "The site's down," or, "I need to talk to you about an issue," I would physically go and talk to them.
And often they'd be busy or whatever. But I would bump into so-and-so, and they'd ask me about something. Or they'd say, "Oh, your teammate is really bothering me about this thing, what's going on?" And after about two or three months of doing this, I noticed that my career was going to a new level. Because I suddenly had this web of knowledge that no one else had about how the whole organization worked.
I mentioned I studied history. I studied Russian revolutionary history quite a lot from the age of 16 to 21. One of the things that I found really vivid about that was Joseph Stalin - his rise to power was very interesting. Because the way I understood it, was that he was considered a very average party guy. Nothing special about him. It was Lenin and Trotsky who were the real superstars.
And Stalin got this job as General Secretary, which is not a very sexy job. He was known as Comrade Card Index, meaning that he just had all this information in card indexes about people, and he was just a bureaucrat. What he actually had was contact with everyone in the party. And it was actually thinking about that - and his rise to power and how he did that, that I thought, "Well, perhaps there's something I could learn from that?"
I didn't want to ape Stalin in many ways, but it was an interesting analogy. And so I did this thing of physically going out and talking to people. I found that the dividends it paid were really. The things I learned - because you'd be talking about something, and then you'd see a book that someone had just bought and you could go, "What's going on here?"
And someone would mention something else, that they wouldn't necessarily have emailed you about, but it's on their mind. All these things just add up really fast.
When I say really fast, I mean like it took about two months to really see it happen. But that was a real lesson in, it's not just about fixing bugs or whatever. It's also about persuading people.
Len: Thanks for that answer. It's pretty rare, I find, that people can be so specific about what to do, and so that's really great. Often advice comes in the form of general statements. But that's a very striking example of, just getting off your desk, getting away from your screen, and going around and talking to people, as a way of figuring out how an organization works - that's really compelling.
One thing I wanted to ask you about - this is a bit of a sideways question, but it has come up on this podcast when I'm interviewing people from the UK. So, you work at Canary Wharf. There's a lot of people in the finance world there, and they're all confronting the realities of the Brexit referendum vote and how that's turning out. I just wanted to take the opportunity to ask you - what's the feeling like on the ground there? Are people concerned?
Ian: Well yes. I mean, when you say concerned, do you mean concerned for their jobs? I don't get a sense of people being particularly concerned for their jobs. But perhaps Barclay's is unusual in that it made a very early statement that it was staying in the UK.
However, when you work for an organization that size, if you're not on the board, there's an extent to which you don't really know what's going on. So you don't necessarily worry about it too much. If you did, you'd drive yourself crazy because you can't really know exactly what's going to happen.
There's also a general sense in the industry that the job isn't for life, and we could all be - like, an accountant decides that we're too expensive and suddenly we're out of a job. We all know that this can happen, it's just the nature of the game. So it's not something we discuss very much.
Certainly Brexit is a subject that comes up a lot, but in terms of our jobs it's not high among the list of threats that we see ourselves facing, if I can put it that way.
Len: That's a very good and I think very realistic way of stating the issue. One of the reasons I find it so interesting is, as I was mentioning to you before in this interview, I used to work in M&A in London, and I worked on a team that was interested in M&A in Europe, not just in the UK. Many of my colleagues were European. And the realities they would be facing under circumstances like this would be concerning in a way, but as you put it so well - there are so many other paths that you can go down in jobs like that, that it just becomes one of many things - and relocation isn't the end of the world, and can often be exciting as well.
Ian: I don't think there's much talk of relocation. I mean, also, another factor is that in IT the jobs are so plentiful at the moment that there isn't really this sense of existentia - "If the company decides I have to move to Frankfurt, I have to move to Frankfurt." There's little sense of that. But there is always the risk that your team could be considered wanting and just suddenly cut, that can happen. But then I worried for 14 years about OpenBet going out of business or whatever. I think after a certain amount of time in any industry, you stop getting too worried about these things.
Len: It's funny, we're making everything sound very harsh.
Ian: Yeah.
Len: From university to what's Brexit - compared to the uncertainty I live with every day, just as a structural part of my job.
Ian: I mean in a sense, we end up - life is a series of choices, right? And I've chosen to push myself to university; I've chosen to push myself to jobs that are more challenging. There's a reason for that. And while it can be very difficult, it's also not dull. I've never wanted a dull job.
I think you have to learn to accept what you're about and find your limits. There are things I've put up with in my younger career that I would not put up with now. And ironically I find that the older I get, the more I set boundaries, the more they're respected. Which is kind of an interesting experience to go through.
Len: One thing you write about on your blog is a change you made - speaking of getting older and how things can change, and things you can do to improve your professional life - you have a blog post called How I Manage My Time, where you have this very straightforward line, "I was disorganized until my thirties." And then you had an experience, which other people I've met have had, specifically with the book, Getting Things Done that helped you change things around. I was wondering if you could talk a little bit about that?
Ian: I was not very organized, as I said, until I hit my thirties. I think a lot of things changed over time. It's not a Road to Damascus kind of moment, but I can pinpoint a very specific experience I had where I just thought, "I can't go on like this." I talk about it in the blog.
It's where someone had asked me to do something on the Friday to do it on the Monday. And I had forgotten to do it, just clean forgot. And she phoned up and said, "Did you do this thing?" And I said, "No, I - oh my god, I'm so sorry. I didn't." And she wasn't particularly - it wasn't that she was particularly angry at me. She was angry, but she was just kind of, "Okay now I've got to sort this out, goodbye." I felt really disappointed in myself because I thought, "I know I can do better than this. There's no excuse for this. I'm sure I can do better."
It was about a month letter that I was on holiday. I was in a bookshop, and I'd happened to see the book. I've got to say my own mind was drawn towards it. I picked it up, and I was ready to make fun of it because there was a trope on Hacker News that every other post was someone saying, "Getting Things Done changed my life." So I was ready to pick this thing up and laugh at it.
I picked it up and I flicked through the first few pages. And all these common sense things were coming out of the page at me. Like you said, it was actual things that I could do to make a difference. And I thought, "Well this all makes sense. This guy seems to know what he's doing."
So I bought the book, and I read it in a couple of days. I immediately implemented everything in the book.
One thing about the book that clear to me before I read it, was how pragmatic it was. It's not prescriptive about how you do it, it just says, "These are the principles you need to think about. This is why you do it and this is the benefit you'll get." And it said, "Whatever way your mind works, just follow that. Whatever works for you."
The principles are simple. They boil down to things like, "Make sure that everything that goes in your mind, pops up in your head, gets put into one place." So whether that's a journal or whether that's - I use Jira - or it's a text file, or it's your phone, a phone notepad or something, anything - as long as you trust that that place has all the things that are on your mind, then your mind can be free to actually creatively think about the problems you really have that you have to work through.
Implementing that and refining that process has really changed my life. Because rather than seeing life as a series of inchoate challenges that I have to remember to get to, I can actually go to my Jira and see the list of things that are on my mind, and just work through them one by one, and figure out, "Well, actually it's not realistic to get all that done any time soon so I'm going to have to ditch some of those." So, physically moving them from a Trello board or a Jira board, or whatever, helps you mentally free yourself of that concern.
Len: It's interesting that you brought up that trust, and mentally freeing yourself. I've only read bits and pieces of Getting Things Done, but that was one of the things that struck me about it, was that for improving productivity - especially if you're nerdy, you immediately jump to the tools - one of the things to keep in mind is your mood and how important that is in getting things done.
Ian: Absolutely. And so, in the morning I'll tend to focus on tasks that are more cognitively difficult. I'll front-load those to the morning. And then later in the afternoon, I'll do the more kind of routine admin-y stuff. And there's plenty of that to do at a bank. I've got time sheets, and go through email, and responding to questions and things like that, which are more kind of routine and mechanical. I tend to push those towards later in the day.
There's a great quote from the book which says, "The purpose of this book is to enable you not to be comfortable about what you're doing, but about what you're not doing." And there's a huge amount in that. Because I remember doing things and having half a mind on something else most of the time. It's incredibly destructive, because we're not great multi-taskers - human beings, that is - not just men.
So that freedom to focus on the task at hand, means that you get more done quicker. It also means that if something comes up, and you need to attend to it right then, you have less other stuff on your plate for it to complete with.
I have a list of five books I'd advise every devops engineer to read, and that's one of them. Because devops - if you're in ops, ops is typically a very interrupt-driven kind of work. And so your ability to manage your own mind is critical.
I was on call for years, and I remember the stress sometimes was just enormous. I ended up behaving in certain ways, simply because I was just under this huge stress. And I'm sure you - you mentioned you worked in M&A and so on - probably a similar kind of peak and trough to the work at times.
Len: I could tell stories. I miss it, but it was very intense.
It's interesting, I've interviewed some people on this podcast who worked in factories where they're managing the software that keeps things running. They describe a similar kind of stress, I think, to what you were just describing. You were talking about how with OpenBet, it was like high-frequency trading. And like, there's a match happening now, there's betting happening now. There's that sort of imminence to what you're doing.
Ian: Well you've got thousands of people whose jobs depend on your ability to take bets. And the system's down, right? So we're losing money. Now we just lost $1,000. We've lost another $1,000, another $1,000. It's very hard to focus your mind on logic while someone's very stressed. And in the early days, there was a lot of unregulated, unmonitored, unmanaged shouting going on.
And over time, I think, we as organizations, and our clients, had to learn how to manage these things. It was a real privilege, actually in retrospect, to see how that learning process happens, and how the structures build up. And where a CAB comes from - a change advisory board. We didn't have change advisory boards. We had people on the end of the phone who would shout at us when something was down, until we showed them the right level of commitment to getting it solved.
But then you fast-forward five years, and you've got a group of people who don't know anything about the system, deciding whether something's too risky to go live or not. And that's a huge, huge leap. To see how that happens step-by-step is really, really interesting.
Len: On your blog, there's one post I found called Things I Learned Managing Site Reliability for Some of the World’s Busiest Gambling Sites. I think it's in that one, although I might be confusing it with another one, where you talk about how process and checklists are actually not there in the way people often conceive of them as things to be lazy about, but they're actually there for when things get really hard, when everything's really slamming against you, that's when you need them.
So the hard-ass thing is to actually get the process right, when you've got the freedom to do so, rather than when the tsunami's coming in.
Ian: I can't remember the book that I read that really provoked me to do all this work on checklists.
Len: Was it The Checklist Manifesto?
Ian: That's the one. It's a great book written by a guy who works in medicine. He looks at several industries - aviation, medicine. He looks at construction. I think those are the three big ones. But obviously it has applications for IT as well.
You think about it, aviation: you make mistakes, the plane crashes, right? People die. Medicine: you make a mistake, people die. Construction: you make a mistake, a building falls down, people die. Some people can't take some bets.
So those guys - and they're not new industries, aviation's been around for 100 years, medicine obviously's been around for a long time, and construction has been around for a long time.
Those three industries have all, in their different ways, used checklists to overcome particular challenges. And the differences between them are really interesting, but I won't go into that now.
But people in IT have this - I think there is a general tendency to think that it's somehow different from everything that's come before it, because the technology is new. But it's still people driving the bus. And people are subject to the same problems that they are if they're at the operating table wielding a scalpel. You can accidently send a text to Hawaii saying that everyone needs to get to a shelter now. Or you can make a mistake at an operating table or crash a plane. These things can all happen.
And one of the ways to help you manage your stress levels, is by having these repeatable processes. The one example from the book that I really remember was the - do you remember the crash into the Hudson River?
Len: Yes.
Ian: The pilot of that, I mean there's a film of it since then, Sully, which I haven't seen. But as I understand it, the captain had 30, 40 years of training of checklists. And the paradox is, that people think that this will make you very uncreative. But actually, the freedom that the checklist gives you, is it says, "Right, this is automatic, I can do this."
And while he was going through the checklist, he actually came up with a creative solution to the problem, which was, dive into the Hudson River.
That's exactly the experience we had. We had priority incidents come in. And you'd kind of forget the steps to take, and you'd go, "Oh, I know there was a ticket for this before. And we solved this problem before, but I can't remember the details and what did we do?" And, "Oh look, there's what we did before, but that was a red herring," and da da da da da.
And to move from that to, "Oh, we had the steps written up. So step one, do this. Step two, do that," was really powerful. And then you could do things like, you could give the less experienced guy the checklist. And the more experienced guy, you'd let him be creative. Just try and find the solution now. Immediately get there. And the other guy will go through the checklist. One of you is going to find the answer.
It was much less stressful, much less noise, much more repeatable, reliable and so on. It was really great work that we did there. But very hard to emulate elsewhere.
Len: I could talk about this for a long time, but we should probably move on to the final part of the interview, where I talk to you about your work as an author.
Speaking of books and productivity, you're the co-author of Docker for Devs, Which you published with Manning.
Ian: Docker in Practice.
Len: Sorry, Docker in Practice, I get them mixed up sometimes. Can you talk a little bit about what that experience was like working with a co-author, but also with a conventional publishing company, to get a book out?
Ian: I was recommended to them by a friend in the industry. I had a chat with the editor, and they helped us work up a presentation. Not presentation - a précis of the material. I didn't want to write it on my own, because I felt it would be too much work for one person to do. So one of the people who helped me get Docker in my company, whose skill set very much complimented mine - I persuaded him to join me in doing this.
So we worked together on it. We got a précis going, they accepted it. We then went away and wrote it up. Because I'd had experience as a journalist and had written a lot of stuff in my history degree, I found the process of writing quite easy. I didn't question my writing too much, and I'd just done a lot of it. So that side of it, I was fine. It was a lot of work, not just producing the material, but working it through the system.
The review process, the re-review process, the proofreading - it was all very time-consuming, and a lot of work. But it was very good training for what needs to be done to get a book out. So I think it was a very valuable experience in that way.
Len: And you used that experience to write a book that you published through Leanpub, Learn Bash The Hard Way, which I think is partly inspired by some pretty successful blog posts you had, and takes the form of a course.
At the end of the book, you give out your email address, and you ask for feedback. I wanted to ask you about that, because that's one of the interesting aspects of publishing on Leanpub that authors often encounter, is that, because it's easy to update your book at any time, feedback can help you change your content. Has that been the experience that you've had?
Ian: Absolutely. It's really powerful - because you're [normally] so disintermediated from the reader. The reader knows - when you buy the book you see the author will get this much money, right? So there is a sense in which they are handing you money directly. And there's a contract between you and the reader. The website doesn't really come between you in that way.
Leanpub is not saying, "Well you think this author is great, and you should buy this book." It's actually me saying that. They hand over the money to me.
I think I've noticed that people are far more willing to give me feedback directly than with a written book, where I think they think there is an institution of people who they have to get through, to get to the author. Or it's somehow a little bit more intimidating to them.
Whereas this, it's much more fluid and it's much more productive for me. I've been re-writing bits of the book today in response to some of the things people have said. People have pointed out typos. People have said what they really liked about the book. It's been really, really powerful. And also readers who buy it get the updates for free. I've had to point that out to people - like "Thanks for your feedback, and you'll get the next edition with some of these points taken on board." And they're really happy about that.
I find it incredibly satisfying. I wrote this - it was actually a course I wrote for a company that never got delivered. I wrote it a year ago, and I had this material, and I - I thought, "Why not turn it into a book?"
It's been incredibly gratifying. Because it's such an ostensibly unsexy subject - Bash is 30 years old or whatever, and people use it all the time and take it for granted - and yet the interest in it has been really surprising to me, really surprising. And very gratifying. There's life in that technology yet.
I'm going to carry on writing it, expanding it. I have another book, another course I've already written on Git, which I'm going to turn into another book.
Len: Thanks very much for that description actually. One of the things you're referring to there is that, when someone buys a book on Leanpub, there are these pricing sliders, and you choose what to pay. You see what you're going to pay, and you see what the author's going to earn.
One of the interesting bits of Leanpub lore you might be interested to hear is that, shortly after we implemented that "Author Earns" slider, we started getting people paying this odd price. I always get it wrong, but it was like $11.27 or something like that [Note: It's $11.67 - eds.]. Leanpub pays a royalty rate of 90% minus 50 cents per transaction to authors, and this price was actually what would happen if you dragged the "Author Earns" slider to $10.00.
So, people were relating to it, like how you were describing - how much they were giving the author, rather than how much they were paying, was really what was preoccupying them.
In addition to the showing what the author is going to earn, [we also give] people the choice of what to pay. I've always related to that as something that really changes the relationship that people feel they have with the author. Just that, whether they choose to pay a different price then they're presented with or not, the fact that they've got a choice, I think, makes them feel like there's a relationship there that isn't just receptive, but it's also sort of transmitting.
The last question that I always selfishly ask in these podcasts is, if there was one feature we could build for you, or one problem we could fix, what would you ask us to do?
Ian: It's interesting that you talked about this, because I was thinking about this very thing today. And I don't know if it fits with the business model. wouldn't probably use it myself. But I was thinking, if I was an author who'd never published a book before - maybe was less confident? - I think there are other value-adds that Leanpub could bring to the author.
They could all be optional, right? I'm just brainstorming here. But you could have like a proof-reading service, to take a simple example. Or a review service. Or even a kind of seal of approval - like, "We've checked over this book, we think it's a good standard." That kind of thing. That might cause commercial problems. But actually, maybe even just, "We'll review your idea and tell you if we think it's a flyer or not."
I think maybe there's something in that space that could be offered. However, I'm also kind of worried that that will dilute the purity of the Leanpub concept. Because one of the great things about Leanpub is, you kind of get out of the way. I feel like you take a very fair cut for providing a service that enables me to get my content to readers, without too much fuss.
Len: Thanks for those suggestions. That's really interesting. Without going into the weeds in the self-publishing world, there are companies that are devoted entirely to connecting authors to people who provide services like that. But one of the issues - and this is a less a concern than it was in the past, but it's still there - is that in the self-publishing world, people are often concerned about the platform merely being a kind of hook to get you into paying for services.
And so that's just kind of an inherent - it's not necessarily a problem, it's just a part of the environment that you operate in. So if someone comes to your site and it's like - "by the way, pay a bunch of editors" - it's a matter of diplomacy. But also, "deep Leanpub" is, you should just stop being so worried and start writing and publishing. And you know what? People will give you feedback, and they will want to help you improve your book.
Ian: This is one of the problems I had though. I remember sitting there at the screen, where you pay X amount of dollars to publish, and umming and ahhhing about, "Should I do this? Shouldn't I do this?"
I had no idea how quickly I'd get my money back. No idea. And I think there's probably a lot of people who sit on that screen and think, "Is this a good idea? Should I do this?" Because I mean, it's not a lot of money, but it's enough to make you think, "Mmm, is this just a waste of [?]?"
Len: That's really interesting, thanks very much for that feedback. That's something for that we think about very hard. And we've got some changes coming there that I can't talk about in advance of them being done. But thanks very much for that. That's really interesting and specific, and that's something that I'm going to take back to the team. Because you've got me going down a train of thought now that's kind of interesting, so thanks very much for that .
Ian: You're welcome.
Len: One thing we do have, that people might not know, is that when you create a Leanpub book, even before you start writing, you have a web page, where people can give their email address to be informed about when the book is published. And they can also actually say what price they'd be willing to pay. But you do have to create the book before you can start getting that feedback. And so perhaps giving people more information about the kind of research they'll be able to do, even before they actually publish a version first, might help them get over that, that uncertainty?
Ian: Today on Twitter I was asking my followers, "What should I write on next?" So a similar thing - it would be really good if it was linked into [?] Leanpub. If you're not in the world, it's very hard to know.
I had the same experience blogging. I spent three years blogging with literally no one reading it. And suddenly, it blew up. It's very hard to know how these things work. Like,, "If I put this on there, are hundreds of people going to come at me, expecting this book to be published tomorrow?" Or is it going to be like, "I'm going to get some really constructive -?" You just don't know.
I think there's some scope for a guide. Some mentoring perhaps? I mean maybe there's a barrier to entry there? So if you've published a book with someone else, then perhaps you get fast-tracked? It's a very selfish thing to think, but I guess there's a limited amount of time that Leanpub can spend on these people. And so you might want to sift through it in some way.
But I get what you're saying about not wanting to become this kind of a, "Pay us $10 and we'll look at your manuscript." We didn't cover this, but I wrote a novel after I left university, and I literally didn't know what to do with it. I had no idea what to do with it. And it ended up withering on the vine. I wanted a mentor. I remember literally writing to agents and saying, "If you think I have any talent, please don't worry about this book, just tell me what you think I should do - where should I go next?"
Len: Yeah that's really great feedback. For us, it can be really easy to see things from the side where you've already started, and you've already written a lot and stuff like that. But to think about it from that moment when you're deciding what to do, or you've already got something and you're sort of nervous or not necessarily - you're just, you know you're uncertain about what's really happening here, and how it's going to go. That's really good for focusing us. So thanks very much.
Ian: The price point, I had no idea where to pitch it. So I pitched it somewhere, and it's worked out well for me. But I don't know how it would've been - I had nowhere to go for advice. I'd looked at a couple of blogs and kind of put my finger in the air. But I actually genuinely - by the way, if you know anyone who can advise me on that, that'd be really, really useful to me, especially with my next book.
Len: Okay.
Ian: That's another area where I really wondered what the hell I was doing, how I should proceed.
Len: Thanks very much for that. That's very helpful.
Thanks for being a Leanpub author, and thank you very much for taking the time for this conversation. We covered a lot of ground, and I really enjoyed it.
Ian: It was a lot of fun, I really enjoyed it.
Len: Thanks very much.
Ian: Thank you.
