Trisha Gee, Co-Author of Getting to Know IntelliJ IDEA
A Leanpub Frontmatter Podcast Interview with Trisha Gee, Co-Author of Getting to Know IntelliJ IDEA: Level up your IntelliJ IDEA knowledge so that you can focus on doing what you do best
Trisha Gee - Trisha is co-author of the Leanpub book Getting to Know IntelliJ IDEA: Level up your IntelliJ IDEA knowledge so that you can focus on doing what you do best. In this interview, Trisha talks about her background and career, her book, and at the end, they talk a little bit about her experience co-authoring a self-published book.
Trisha Gee is co-author of the Leanpub book Getting to Know IntelliJ IDEA: Level up your IntelliJ IDEA knowledge so that you can focus on doing what you do best. In this interview, Leanpub co-founder Len Epp talks with Trisha about her background and career, her book, and at the end, they talk a little bit about her experience co-authoring a self-published book.
This interview was recorded on November 16, 2022.
The full audio for the interview is here: https://s3.amazonaws.com/leanpub_podcasts/FM245-Trisha-Gee-2022-11-16.mp3. The Frontmatter podcast is available on our YouTube channel at https://www.youtube.com/leanpub, in Apple Podcasts here https://podcasts.apple.com/ca/podcast/frontmatter/id517117137 or with this direct link https://podcasts.apple.com/ca/podcast/frontmatter/id517117137, on Spotify here https://open.spotify.com/show/00DiOFL9aJPIx8c2ALxUdz, and almost everywhere people listen to podcasts.
This interview has been edited for conciseness and clarity.
Transcript
The transcript below is unedited output from OpenAI Whisper.
====
Hi, I’m Len Epp from Leanpub. And in this episode of the Front Matter Podcast, I’ll be interviewing Tricia G. Based in Seville, Tricia is a software engineer, writer and popular speaker and Java advocacy lead at JetBrains, which makes some of the most popular tools used by software developers and project managers. You can follow her on Twitter at Tricia underscore G and check out her website at Tricia G.com. Tricia is the author of the Leanpub books, What to Look For in a Code Review, Effective Tips for Reviewing Code, and most recently, along with her co-author, Helen Scott, Getting to Know IntelliJ IDEA. Level up your IntelliJ IDEA knowledge so that you can focus on doing what you do best. In the book, Tricia and Helen use a combination of tutorials and a question and answers approach to help you find ways to use the IntelliJ IDEA integrated software development environment that enables you to work comfortably and productively as a professional software developer. In this interview, we’re going to talk about Tricia’s background and career, professional interests, her books, and at the end, we’ll talk a little bit about her experience as a writer and author. So thank you very much, Tricia, for being on the Front Matter podcast. Thank you for inviting me. This is going to be fun, I hope. I hope so, too. I always like to start these interviews by asking people for their origin story. So I was wondering if you could talk a little bit about where you grew up and how you found your way into the career you’ve had. Okay. How long do we have? These sometimes go feature length, believe it or not, as long as you like, really. I’ll try and give the short version. So a long time ago, I was born in England. People often ask me where I’m from, because I live in Seville, I’m clearly not Spanish, and then people sort of say, where are you from? And sometimes I think I’m Australian, and I’m like, no, I’m from England. I was born in the north of England, and then I grew up there for like 10 years, and then I went down to the south of England, and I was there for like 10 years, and I went to university in Brighton, and I lived in London, and I lived in New York, and now I live in Spain, which is why my accent is a little bit all over the place. Where are you from? Here, currently. And so I’m a software engineer, as you said, and a speaker. I did computer science at university. That’s actually where I met Helen Scott, my co-author, and I didn’t really originally plan to be a programmer, because I thought it meant sitting down in front of the computer all day and not moving, and I was a very active sort of child and teen, and I thought programming might be a bit too sedentary, but I did computing at university, and I really, really liked it, and then I found out you can actually earn quite a lot of money as a programmer, and I thought that I’m on board. This is what I want to do. But in the past, I had also wanted to be a teacher and a journalist and a writer and all these sorts of things, and it meant that over time my career kind of migrated via development and software and stuff into writing blogs and being active on Twitter and then eventually conference speaking and sort of this developer advocacy role, which also incorporates a bit of teaching and coaching and networking and these sorts of people skills that developers are supposed to be bad at but aren’t necessarily bad at, and I always, always, always wanted to write a book, and so it’s taken me a little while, but that’s kind of how I ended up via blogging and networking with people at conferences who’d written books and publishers at conferences, and they were all like, oh, you can, you know, it’s possible to write a book. It’s not just something that, you know, these high-flying people do, and that’s kind of how I ended up here, really, I guess. I haven’t really explained how I ended up in Seville. I ended up in Seville because my boyfriend was Spanish, and we met in London, and I was like, you’re from Spain. We should probably move to Spain. That sounds like a good idea. So we moved to Spain, had a kid, got married, and had another kid. That’s my story. Fantastic. That’s so great. That’s funny you mentioned the Australian thing. I used to live in London myself and traveled around Europe a bit, and you reminded me of a time a friend of mine called me up and he said, I’m on a beach in Spain. You wouldn’t believe how remote it is. There’s only one Australian here. But that’s just because Australians love to, especially young Australians, love to travel and stuff like that. But anyway, that’s the sort of origin of that joke. And so, yeah, so you studied computer science at university. I gather from your LinkedIn profile that I checked out while researching for the interview, and I was wondering if you could talk a little bit about the internship that, well, not internship, but the sort of co-op, as we would call it in Canada, that you did with Ford. So you did that. You actually worked for Ford Motor Company during your undergraduate degree. What was that work like? And was that in New York? No. So my dad is a teacher. He’s a careers teacher. And it’s very good having a careers teacher as a dad because he can give you a lot of advice about stuff that you didn’t really know about. So before I went to university, he was sort of saying, there’s ways where you can work and get your degree at the same time. And given that we didn’t have loads of money, that was very appealing to me. And he said, one of the things you can do is you can get an internship or sponsorship from an organization. So he showed me a bunch of sponsorship stuff and internship stuff. And I went for two. One was GCHQ, which is like the British Government Listening Organization. And that’s over in Cheltenham. And one was Ford, which was in Essex, which is where I lived. And so I was living in Southend with my parents. I was planning to go to university either in Cambridge or in Brighton. So kind of like that part of England-ish. And so an internship or sponsored student thing in Essex, sort of in that area, was very appealing to me. Plus, I like cars. And the deal with a sponsored student is they take you on, they interview you before you even go to university. So like when you’re in high school. And then they give you like a stipend for books for the first and second year, not much, like a couple of hundred quid or something. But it meant a lot to me because I had no money. And then you work between your first and second year at university, you work for three months for them on a small placement. And then between second and third year at university, you work for 15 months. You do two placements, a seven-month placement and an eight-month placement doing IT stuff. This is for the IT partner Ford. And then if you do well, and if you want to, they may give you a graduate offer at the end of that time as well. So I had not planned to do a sandwich course where you do like two years of university, one year in industry, and one year at university. I had planned to do three years at university, but I did get accepted on this internship, the sponsored student thing. And I spoke to the university and I said, is it okay if I do my third year a year late? And they were like, that’s absolutely fine. You can kind of work for a year and then come back and still get your degree. And so to me, this seemed a good best of all worlds where I can get a bit of money. I get a bit of real world experience. I can see how my degree kind of integrates with the real world. And because this is aimed at students, not graduates, they had like training and programs for you to get skilled up. And they knew that you didn’t know anything. And then these are short placements designed for like, if you don’t really get on with it or aren’t that great at that thing that you’re doing, that’s kind of fine. You just do the placement and then move on to the next thing. So in retrospect, it’s one of the best things that happened to my career doing that because I got a taste of working in industry. I actually worked as a developer. I was doing web development at the time. I worked doing proper development for my two main placements. This is back in like 2000. And I was doing front end development with JavaScript and HTML. Oh, and we were doing ASP as well, actually. And we had to get the website looking exactly the same in, not Firefox, in Netscape and Internet Explorer. That’s how long ago it was. But it was really good. I had chosen not to do the database course during my degree because I was like, I don’t care about databases. They seem really boring. And then after my year in industry, I then opted to do the databases course because I was like, oh, this seems very relevant. And all the software engineering stuff that I’d done in first and second year at university, which had seemed very deadly dull and very boring, I also understood in the real world how the software delivery life cycle works. And it was all like waterfall back in 2000. And it was quite good to do both the degree and the work at the same time. So they kind of feed each other and you see the relevance of both of them. Yeah, that’s really interesting. It’s interesting. I didn’t know the detail that your dad was a sort of careers teacher, but there’s a YouTube video that I found of you from a few years ago talking about careers and the different aspects of careers in software and stuff like that. Do you want to remain a developer your whole career and just get better at technical stuff the whole time? Do you want to move into being a tech lead or eventually a manager and stuff like that? And so I was looking forward to asking you a version of a question that comes up on almost every episode of this podcast, because so many of our authors are developers. But if you were starting out now with an intention of having a career in programming, would you do a four year full university degree in computer science again? I think knowing what I know now and knowing the industry the way I do, I would suggest to someone like me that it’s a good thing to do because I’m very academic and I did very well in exams and that kind of thing. So to me, having the structure of the university staff with individual courses where you learn individual stuff combined with the real world experience of doing that year in industry, there was a nice transition from high school to being a professional developer. It kind of helped me. When I went back to university for my third year, I didn’t want to go back for my third year, because in my second year, I was earning money and I really liked earning money. It was really good. I was enjoying my job at that time. I was doing web development. It was 2000 and the web was just this huge thing that no one had really got into much. By the time I graduated in 2001, the dot com crashed and everything was kind of not great. So I nearly didn’t finish my third year. I nearly didn’t finish the degree, but I did because I only had to do basically six months worth of work, tick the boxes on the exams, and then I have my degree and a year’s worth of experience. When I did graduate, I could go out and say, I’ve got both things. I have the degree that some of these organizations still require from you and I have a year’s worth of working in industry, which most of your other graduates don’t have. So for me, it was a big differentiator that I could have both of those things and I could do both of them at the same time. I feel very, very, I was going to say lucky, but I worked very hard to get the place at Ford. I feel very fortunate that I found the opportunity and that they offered that to me because it really did open those doors. However, I do know a bunch of other and so my cousin is also a Java developer and she’s a lot younger than me. She’s like in her 20s and she’s come through a different path. She’s come to it a bit more organically. She studied something different at university. She kind of then came into programming and kind of liked it and worked a little bit in industry. I think she did an internship as well, but not the same sort of thing as me. And she has found that doing it organically in place in an organization where she can learn to code with her peers and kind of grow that way has been more valuable than if she’d done a computer science degree. Like just doing a degree for her, I believe, wouldn’t have given her the motivation that she wouldn’t really, degrees are quite, the stuff you learn in your degree is quite divorced from real programming. You don’t learn Git, for example. You don’t learn how to work as a team necessarily. You don’t understand how the lines of code that you write impacts the business. You don’t, even when I was working at Ford and they were constantly telling us like, this is like the numbers for marketing for this month and this is how many cars we sold. So you got to see the sort of the financial impact of what we did in, because I worked for the marketing department. You kind of got to see the, but I didn’t really understand any of that because I had no context. But imagine if you only did the degree and you didn’t have the money, but imagine if you only did the degree, you’d be like, none of this has any real world relevance. So for some people doing book camps or internships without the degree is a better way to get into computers, into programming. And for some people doing the degree first and not being distracted by that year out in industry and having to do that change, doing just the degree first, that would be better for them too. So it really is about the fact that we have multiple paths in our career. I think it’s very much a great thing. And I get very irritated by people who say there’s one right way. You must have a degree or you must have hands-on experience, or you must have been programming since you were nine years old. Like all of that is nonsense. You know, you must want to do it right now and be interested in doing it. And we need to help people get to that point where they’re like, oh, this is programming. Oh, I quite like it. And I don’t care how you get to that but you need to be able to get to that point. Thanks very much for such a great, great nuanced answer. It’s funny, you gave both of the answers that I typically get only one of from people. And then you did this sort of dialectical thing where you’re like, you know, brought them both together in a synthesis. And it’s like, it’s because it matters who you are and what your path in life is, which is so important. And it’s important to keep that in mind. But it is one interesting thing that I remember from this YouTube video of yours that I watched and from something you just said now is that like having a differentiator in your CV is something I wish people didn’t have to think about when they were 18 or 19 or 20 or 21. But it actually is if you have the wherewithal to do so, do something to make yourself stand out. With respect, I’m now speaking in career advice mode, as though I deserve to be giving any. But in my experience, it is incredibly important to have something that helps you stick out. And it doesn’t necessarily need to be, you know, I won the piano competition at 12 or something like that. It can actually be coming from an obscure place. Like having a story to tell about yourself, showing that you’ve thought about your life even, and being able to demonstrate that thoughtfulness in the things you’ve chosen to do really well. What you want on your CV is, so I’ve done a lot of reviewing of CVs and generally developers with like two to five years experience or even less, their CVs all look the same because they’ve done two years of Java and one year of Hibernate and a bunch of Spring and they went to university or did a boot camp. And, you know, there’s not very much on there. What you have to think about is this person who’s reading your CV, you want them to go, oh, you know, oh, I’d love to ask them about that. You know, it could be a bunch of people I’ve seen who’ve done sabbatical, a bit of traveling or maybe won something or maybe run one of the clubs at university or on the side or, I mean, I kind of really, in some ways, I really hate this idea of like, it has to be hustle culture. You have to do all these things. It’s not that. It’s like, like you said, whatever it is that’s special about you, just make sure it’s there on the CV. So someone goes, oh, I’d love to talk to them about that. That sounds really interesting. You don’t have to put all your special interests and activities, but even if it’s in the personal statement of, you know, I came to programming because, you know, I think it’s actually a people focused skill and people will be like, oh, no one ever says that. That’s kind of interesting, you know. Another feature of this whole conversation that I find so fascinating because it’s so important is often, you know, when you’re just sort of reading the odd article about like, you know, education policy and stuff like that, you’ll get people saying, oh, I mean, it’s an easy go to quote, but it’s like the graduates coming out of university aren’t ready on day one to work in my company. Well, fuck you. Why would they be? That’s so stupid. And I have a very strong opinion about that particular statement. Yes. Well, it’s interesting. I mean, it’s probably similar to mine since you reacted the way you did, but I wanted to actually, there’s an interesting coincidence. So someone, the interview we just published last night, our latest interview was with Dave Farley, who you worked with at Elmax, which I’d like to ask you about that, like with your career progression and stuff. And I didn’t realize that until I was preparing for this last night, but his answer to that question about like, you know, studying computer science and stuff like that, included this comment about how like, now, of course it would be, you know, you want some sense of the real world to be there in someone’s computer science education, but you shouldn’t expect someone fresh out of university to be able to be a professional programmer any more than you should expect them to be a professional surgeon. When they get out of medical school, there’s going to be time that they’re going to do hands-on training with you doing the job. That’s the only, they’re not going to, there’s no magical class they’re going to take that teaches them how to be a professional. You have to learn that on the job. That’s exactly right. I think that whole opinion of the graduates already when they come out is a very lazy thinking from our industry. Our industry has a tendency to see developers as disposable resources. They want to be able to pick them up, put them in the machine, have them churn out code, and then spit them out when they want to. We are seeing an example of this in some very large technical firm right now who I won’t name. But, you know, this is the thing, they kind of want to hire the best of the best. They want to pay the cheapest of the cheap. They don’t want to train anyone up. This is obviously, this is the most extreme version. But generally speaking, the people go, well, I want to be able to pick whoever I want to pick, and I want them to drop them in the team. I want them to deliver, and then I want to not give a crap about them when I don’t give a crap about them anymore. And that’s not how professions work. Professions work by, and by profession, I mean, you know, professional people. Exactly what Dave said. If you take someone who has the training, be it a university degree or bootcamp or doing projects on the side or whatever, of course they don’t know how to work in your organization. Even if you take someone very senior who’s got 10 years experience or whatever, not very senior, like good senior, 10 years experience or whatever, they haven’t seen your code before. They haven’t worked with your people before. They might not know your business domain. They probably, if you’re using something like Jenkins to do your build, they definitely haven’t seen your flavor of Jenkins because it’s always different everywhere. Of course you have to learn stuff when you come into the team. And it’s absolutely your job to train people up to get them to be effective in your team. Some of that needs a bit more, some of it needs a bit less, but you have to teach those people how to do that stuff. And as a profession generally, we can’t magically expect somebody else to train up people to be exactly the shape that we want them, be that a university or boot camps or whatever. That’s impossible. It’s your job. You’re the organization, the enterprises, the people who pay the developers. Don’t be freaking lazy. You’re spending a lot of money on these developers. Don’t be lazy about it. It’s an investment. Spend the time and the money with them. That’s how it works. Yeah. I mean, I couldn’t agree more. And particularly it becomes, I mean, we were obviously both are passionate about this issue, but it’s particularly frustrating when you hear about proper education policy being debated and people are like, the kids these days that are coming in, like I mentioned, they’re coming out of university, don’t know how to do what we want them to do. So why don’t you change your whole education policy so the kids themselves can pay for their own job training. And then four years later, when those kids graduate, the world’s moved on and they’re like, oh, that idea we had from four years ago didn’t work out. And now the kids don’t know what to do. You failed them. That’s exactly why this just doesn’t make any sense because obviously education policy moves necessarily slowly, but even if it moved, as you said, as fast as you needed it so that the first years are learning gifts, like as you say, four years’ time, it’s not going to be Git. It’s not going to be Java. But there’s a lot of things it’s not going to be. It’s definitely not going to be like seven years ago I was learning Angular and it’s definitely not the same flavor of Angular that you’re using now. That’s not what you learn at university. You learn the fundamentals. You learn some design stuff. You learn a bit about how computers work. You learn the stuff that goes in your head so you can start reasoning about all the other stuff that happens. And you learn how to learn, which I think I stole that off Dave, actually. You learn how to learn. You learn how to go and Google stuff to answer the questions. You’re not learning how to program in Java. You’re learning how to learn how to program. Yeah, and that’s exactly it. I mean, and whether it’s at university or whether it’s independent study, of course, that’s the most important thing to keep in mind is that if you’re going to be a professional who’s going to have a career in something, you have to learn how to learn. It’s never going to go away that you’re learning. And that’s the true kind of that’s the true skill. Yeah. Everything’s always changing. I mean, that’s the thing that all the developers are complaining about. It’s like, how am I supposed to stay up to speed on everything? It’s like, no, you can’t. Just figure out, just learn that the next job you do or in the next six months, the things you’re doing are going to be different. And you have to roll with those punches and learn to to to learn the new thing. That’s that’s just that’s the way it is. I mentioned you worked for Elmax, which was this trading trading platform. But that just I mean, I could ask you specifically about that. But more generally, though, you’ve one interesting thing I know from the talks you’ve given and from just looking at your LinkedIn profile that you’ve done lots of different types of work within kind of software development. Was that something that you were intending to do from the start? No, I just get bored really easily. Well, it’s a combination of things. Right at the beginning, so I did I did the thing with Ford, which included a bunch of small pieces of work, which was very helpful. I decided not to go back to Ford as a graduate, even though they offered it to me, because I was like, I’ve already sort of done that. I want to do something a little bit different. So I took a role doing web development for a nonprofit organization, actually. And that but this was in 2001, after the crash, and things were a bit like, you know, shaky. And I was like, just give me a job. I don’t really care. And I did that for about 10 months. And I basically did kind of what they needed me to do in those 10 months. And they were happy to keep me on doing other bits and pieces, but doing some systems and some doing doing some documentation, actually, which I quite enjoyed. But like that wasn’t I wanted to do programming. So I left there went back to Ford. And then Ford had a bunch of different projects, you do project work in Ford. So that’s kind of fine. So I think I just got into this habit of, you know, I’m expecting every six to 12 months to work on a new project and learn some new stuff. I kind of developed in my head, like, if I haven’t, especially in those early days, if I haven’t added a new skill to my CV, if I haven’t grown in some direction, if I haven’t learned anything new in the last 12 months, in particular, probably in back in those days, maybe the last three months, like I’m not, I’m not getting anything out of this role. So yeah, so I did move around a bunch. And I was just I was kind of looking for something. I did a bunch of really interesting work, met a bunch of interesting people. And the variety was quite good, because that’s where I learned how to learn. And I learned that there is no one way to do stuff. And when I came out of university, I started doing Java pretty much exclusively. But even then, all those jobs were very different types of jobs with different flavors of code and different problems. And now it’s kind of interesting to me that it’s always different. And then once you’ve solved one problem or released one thing or got somewhere, then you kind of want to go on and do something different. You kind of don’t really want to stay at a nice, stable, boring stage, you know, you kind of want to move on to the next problem in actual fact. So, so you actually, oh, I should have said this right at the beginning, you introduced me as working at JetBrains, but I was working at JetBrains. And I’m now like, I’m on a break. And I’m looking, I will be looking for my next job next year. And one of the things I’m looking for is like, I could work somewhere, which is has everything perfect. And you know, you just kind of slot in and do your thing. But I’m really looking for somewhere where I’m like, oh, is there a problem? Can I fix something? Is there something that needs changing and moving? And that’s kind of I realized that that’s that kind of what, what inspires me and feeds me. But that’s why Elmax was interesting because I worked at Elmax for four years, which at that time was like, by far the longest I ever worked anywhere. And we were, we were constantly pairing. So I was constantly learning from these other developers. We were, we had been a startup, we always had new features and new stuff and new business challenges, new things to learn, new things to release. And I was working with Dave Farley, and we were doing continuous delivery, and we were doing test driven development. And like, there’s just so much new stuff that we were just learning all the time. And I stayed there for four years. And then with JetBrains, I ended up being there for seven years because as a developer advocate, there’s always like new versions of Java and new audiences on new media and new things I want to do or new people I’m going to work with. And so that was where I ended up settling down. So settling down, but still the drive is always like, give me something new, give me something. I’m sort of, now I sort of see it as a slight dysfunction. I realized like, it’s just, I just need stimulation. And it needs to be this variety. And I’m just not that sort of person who’s going to sit down in my cube all day and just do what you’re told. I mean, I have done that. And I was so bored. I was so bored. And I actually went to a therapist and said, look, I have a really nicely paying job that I have to do very little for. And it’s very easy. I need you to fix me so that I stay in this job and keep the money and feel happy about it. And after about three sessions of therapy, I was like, oh yeah, no, I’m never going to be happy. This is not, you can’t make me happy doing this. This is not what I do. And that’s when I took the job at Elmax actually. That’s when I started working at Elmax. So turned out happily for everybody really. Yeah. Thanks very much for that. I apologize. I actually had a note to ask you about whether you were still at JetBrains or not because of something I read in the introduction to the book, I think, in your profile where it’s like, oh, is this still a current job? So thanks for clarifying that. Like everyone still thinks I’m a JetBrains because I left in December, but my Twitter is still full of Intelligentsia and JetBrains stuff because that’s what the book is about. So it’s almost like I never left. And you mentioned working in a cubicle, but you went remote quite a while ago, didn’t you? Yeah. So we moved to Spain in 2013. At the time I was working for MongoDB as a developer advocate. They had an office in London. I was working in London, but I was working like three or four days a week in our apartment. And I was like, why are we paying London rents to work remotely? Because at that time then I had my lovely boyfriend who I was in love with and I was like, well, we’re going to move together and maybe have kids. So I’m not going to end up paying loads of money in a pokey apartment in the center of London. We should go to Spain. So I moved to Spain. I asked Mongo first, is it okay if I move to Spain and work remotely? They were like, yeah, fine, because the main person you’re working with is in the States anyway, makes no difference to them. And so I ended up working remotely for MongoDB for about a year. And then there came a point where I was like, oh, but talking about variety and the fact that I like change and movement, oh, but now I have to stay here forever because I will never be able to get a new job working remotely from Seville, paying the sort of salary that I would quite like to earn. As you can see, money pay is a very key theme in my life. It comes from growing up poor, I think. I’m like, I really need money. So I was like, oh, I’m kind of stuck now because no one else is going to hire me to work remotely full time from Spain. And then Hadi, who still works at JetBrains, and I met him at a bunch of conferences, he saw me presenting live, giving live demos on how to use MongoDB, but with an intelligent idea. And he was like, hey, you do these live demos for IntelliJ idea, why not just come and do them for us? And I was like, oh, there must be a catch to this because this is the IntelliJ stuff and the Java stuff was more interesting to me than the MongoDB stuff. And I don’t want to say that to put MongoDB down, but like I’m a developer at heart. And the database, I really enjoyed my two years at MongoDB and I learned a lot. But as a database and as a developer, I’m like, I just want my database to store the data. I don’t want to worry about it. And when I’m doing developer advocacy, I want to talk to developers about code and developer stuff. And so when Hadi said, come and talk about code and developer stuff and IntelliJ idea, and carry on working, live where you live and working remotely, I literally, I took about four months to decide that because I’m like, this is too good to be true. This can’t be the right thing. And then I ended up joining and working remotely from here for the, well, for seven years. And now this is the eight year, if you care, I’m not working there anymore. So I’m really looking forward to asking you about IntelliJ idea and your book. But just before that, there’s two things I wanted to ask you about. The first is a totally selfish thing with just because it’s come up on the podcast before, but I lived in London for a few kind of stages of my life and at various different neighborhoods. I lived in Balham and Golders Green and near Angel and in Chelsea for a summer and stuff like that. Where did you live when you lived in London? Yeah. All over the place. Like lots of people do. I lived in Islington. So yeah, not far from Angel, between Angel and King’s Cross. I lived for a bit. I lived, the flat that I bought was at Earl’s Court, between Earl’s Court and High Street Kensington. And that was like, that was like my favorite zone. It was just, it’s kind of West London actually. So Elmax was based in West London. So that’s, it turned out to be convenient for me, but like most of the, most of the work in London is in the city. So it’s like the wrong end of the city, but I just, I just really love the vibe there. So I lived there. I lived in Shepherd’s Bush, which is even closer to where Elmax was. I lived in Hangar Lane, like way out West. I said the central line all the way from Hangar Lane, all the way to Liverpool Street when I was working in the city. And it was just like, you know, an hour of your life you never get back. I lived in New Cross as well for about three months. Yeah. I’ve lived in two places in Kensington actually. So my, my, my spiritual home in London is Kensington. And I know this does tie back to the, because you do like money, don’t you? Well, it’s nice. You know, it’s kind of leafy and green. And I, you know, I used to read a lot of Regency romances, which aren’t based in Kensington. They’re based in, oh my God, it’s just totally slipped my mind, in Mayfair and places like that. But like, clearly I can’t afford to live in Mayfair, but like Kensington, you know, lovely, beautiful, leafy white, fantastic. Yeah. That’s, that’s so great. You’re reminding me, I was a Northern line person for my, for my commuting time before, before I, so I was working in the city and that’s why I moved to sort of City Road, right, right near Angel Station. So I was like a 15 minute walk from the city. That’s near where I was. Yeah. Yeah. Just a perfect kind of solution to that, to that problem. But like, for anyone who’s gone through it, the sort of London commuting years are hours you’ll never get back. And it’s, it’s, I think for me, like a kind of proper regret that I didn’t just sort of choose where to live differently. I just took it for granted that commuting was going to be part of my life. And I probably could have, I think I would have gladly lived in a smaller, crappier place rather than spend an hour each way. Yeah. Literally packed in with other people with like no room to like, like, like right up next to other people. Something kind of hard to believe now, but yeah, no, it’s, yeah. Can you look at that now? I’m gonna just go, Oh my God, how unhygienic. I used to, I used to live before that I used to live in Southend in Essex. And so there’s a, there’s an overground train that goes from Southend almost directly into Fenchurch street. And you could usually get a seat where we used to catch the train at like 20 past six in the morning. Now I think about it, but you’d usually get a seat. And the funny thing about that was that was much further outside of London, but my commute was the same as if I’d been inside London. Um, because you know, it was a 40 minute train plus another 20, 30 minutes on, on, on the subway, on the tube, wherever you want to go, you’re still doing like an hour and a bit, an hour and a half, something like that. But you get to sit down and you get to, I used to, I read so much. I read so many books. I used to read on the way into work, I would always read like a work type book. So that’s when I discovered Joel, Joel on software, Joel on software, Joel Swosky, Joel on software. I was reading Michael Lopp. I was reading, I think I was probably reading Martin Fowler and, you know, a lot of these sorts of things. And I would read those on the way in, on the way back, I was exhausted. So I just read my novel, like whatever other trash I was like reading, but, um, I read a lot. And that’s one thing I miss about commuting is having time where you’re like, I literally, and of course this is, that was before smartphones. That’s how old I am. So you literally can’t do anything else. You can just read, there’s nothing else to distract you. Yeah. The, uh, if, but as you say, if you’ve got a seat, because I mean, I remember my, my Northern line commutes, like I learned how to get small books because sometimes you had to read like this, you literally had to read like that. Um, uh, and you learned why sort of the tabloid format is so useful, um, for example. And, um, but anyway, that’s, that’s all sort of very in the weeds kind of, you know, London reflections and stuff like that. So apologies to listeners, but you know, these, it is, it is sort of interesting to reflect on this, especially because a lot of it seems very, uh, anachronistic suddenly became very anachronistic. Um, but the second thing I wanted to talk to you about before we got onto your book was, um, you got into public speaking at a certain point and writing and writing and things like that. Was this a sort of conscious decision that you made that like, you know, you know what, I want to get into like being a sort of like public figure to some extent. Yeah. I mean, I wanted to do the writing. I remembered, um, I always read, I always read a lot, like, like I was just saying, some of those books I read were very inspiring because I realized that technical books don’t have to be written like technical books. They can be written conversationally. Um, and I also, I used to read a lot of, I still read a lot of novels this year. Met my Goodreads reading challenge already. And most of that is just like novels and science fiction and stuff. Um, so I always loved reading and that made me always want to write. And as a kid, I used to write a lot of stories. So I was like writing and reading and I started blogging. I’m not going to use the blogging. I was, I had a journal, a live journal since about 2004, maybe earlier actually. No, cause I had my terrible job. Don’t say terrible job. Don’t say what year it is. Cause then they’ll be able to know which one it was. I was not terribly excited in the early noughties with some of the stuff I was doing. So I had live journal. I was using that to like learn to write basically. So I’ve been wanting to do the writing side of stuff for about 20 years, really. And that’s been on and off originally, like live journal, just with friends. And then I started a technical blog after I’d read some Joel Spolsky stuff, Joel Spolsky, Joel on software or Joel Spolsky. Um, and so that was always there. And then I kind of wanted to write a book because like mostly to take that off cause I want to write a book. That sounds cool. Let’s write a book. Um, and then I started doing more blogging when I was at Elmax, um, and encouraging other people to blog. And we at Elmax, so I left Elmax very briefly to go and work for ThoughtWorks for about three and a half minutes. And then, um, Dave, uh, Dave and the other Dave, Dave Clark and Dave Farley and Martin Thompson kind of came back to me and said, like, do you, do you want to come? You went to ThoughtWorks because, right, this is not a very coherent story. I went to a conference in about 2006. I went to QCon, uh, QCon London. And it was like the first or second year that they run QCon London. And I was working for a consulting firm at the time. I was working for one of the big banks. I went to this conference and I saw some guy called Dan North who turned out to be very like famous and a bunch of other people from ThoughtWorks. Um, and I saw a bunch of people who, I don’t know if they were famous then, but they became quite famous. The person who invented Selenium and all these people and they got up and they spoke about the stuff that they did. They spoke about automated testing. I was working in a bank where we had no unit tests, none whatsoever. Like, and we, we had three hour deploy times and, you know, we had these big release cycles and I was at a conference where they’re talking about behavior driven development and automated testing and Selenium for driving the UI for your testing. And I, then I discovered a lot more about Agile. I’d already heard about Agile before, but I had lots more about Agile and different ways to work, pet programming. And I saw my colleague in the organization I was working for, but who didn’t work for the bank, Simon Brown, who is known to lead the pub. I saw him, he was running the Java track at QCon London. Um, and I’m like, oh right, that’s the guy I know. I go to the pub with, I speak to him, he’s a friend of mine and he’s actually running this track and speaking at a conference. It must be something that real humans do, you know, not just these people who write books. Um, so I had that in my head in like 2006. And then when I was at Elmax and this would have been 2011 when I came back to Elmax, they were like, we want to do more. It wasn’t called advocacy, like evangelism and outreach. And we’re a financial exchange, which is based in West London, which is a bit weird. Everyone else is in the city. We need to be able to hire good people. And we also need people to know about our exchange because, you know, we need people trading on this exchange. So one of the ways we can do that is, is by this evangelism thing. And I was like, oh, that sounds interesting to me because I had gone to ThoughtWorks because the opportunity came up and I’d seen that they were doing blog posts and conferences and stuff years ago. And I went there thinking I’d be able to do that. And then I got there and they, they put me working as a consultant in a bank and I was like, I’ve already done this. This is what I was doing when I saw ThoughtWorks people speaking at conferences and writing blog posts. And this is not where I want to be. And so Elmax had come back for us and come back and work for us and do like blog posts and conference speaking stuff. So I was like, okay, all right, let’s do that. Elmax, I know Elmax, I know the staff and I want to do this advocacy stuff. So then I started writing blog posts for Elmax. I started helping to coordinate the advocacy efforts in terms of like, Dave was already speaking at conferences a little bit. Martin was starting to speak at conferences. And then, you know, we were applying to various awards for technologies. We were open sourcing our disruptor and we were writing this white paper about the disruptor and how all of that stuff worked. And so I was kind of involved in all of those activities. Like I was definitely not like the hardcore techie person, but I was the one who was interested in the communication side of that whilst also still being technical. And that’s where I found like what my sweet spot is. Like I’m not Dave Farley or Martin Thompson. And Martin Thompson knows so much. He’s so smart. And Dave knows a lot and has loads of experience and is great at communicating. And I’m not those guys. I’ve got my own thing, which is, I’ve worked at a lot of these different places and a lot of these different jobs. And I know what it’s like to be that developer doing a, I’m not going to say boring job, an ordinary job, just going and reading stuff, but I don’t know what to do to make my life better. And I can talk to that developer because I’ve been that developer. And then I can take the stuff that Martin says about cache lines and cache misses and ring buffers and try and speak to that developer about how this is relevant to them and how their lives could maybe be better if they did something different. And so then it all kind of spiraled from there basically like towards the end of those last two years, you know, Dave and Martin were speaking at conferences. Martin ended up speaking at Java 1 and I got a ticket to Java 1 because we won the Duke’s Choice Prize for the disruptor. And then we got a ticket and they gave it to me because I’d been doing a lot of the coordinating of all this outreach. And I was like, this is very exciting. We’re in San Francisco. And then Martin said, do you want to come and co-present with me on the talk about the disruptor? And I was like, well, that sounds terrifying. I should probably do that. So I co-presented with him. And then once you’ve got that under your belt, then just your whole world opens up. And I missed out a step. See, I haven’t told the story for ages. While I was at ThoughtWorks, in the tiny bit in the middle, I met Martin Fowler and I was complaining about the lack of women speakers at these conferences. And he was like, I don’t disagree because Martin’s big on diversity and particularly like, you know, pushing forward women and stuff. He said, I don’t disagree, but you’re the one in the position to do something about that because you’re a technical woman who could speak at conferences. And I was like, no, I can’t. I’m just a developer. I’m not a conference speaker. But he planted that thought in my mind of, no, it’s just you. You can do that. You know, we’ve all been doing it. Someone has to start somewhere. So when Martin said, do you want to come? Martin Thompson said, they’re all called Dave or Martin in this story. When Martin Thompson said, do you want to come and co-present with me? I was like, this is it. This is the chance. You don’t say, I’m not ready. You say, okay, I’m going to need your help, but let’s do it. And actually this is sort of interesting because it is such a sort of, it’s something that a lot of people sort of aspire to or would like to do, but getting into the sort of details of how you actually did it is actually sort of often left out of the story. So when you were sort of, so there you were, you were going to be giving your big talk. Did you do any public speaking training? Did you read any books about that? Did you like, did you get your prepared outfit on and practice beforehand, like looking in the mirror or in front of people? Did you do anything like that? Yeah. So that’s actually a really good question because yes, you’re right. The way that I tell that story makes it sound like you can just ask any developer to get up on stage at Java One and give a talk because you know, it’s not that hard. I thought, cause I was on the graduate program, they had given us public speaking skills in order to pass things like, so we’d been on a course, we were on, there was a couple of graduate courses I was on. In order to pass, to get the graduate role, you had to give a presentation to management. So they coached us in that way back in the student program. I had also, because I’d been doing web development and a bunch of front end stuff in the early part of my career, a lot of what I did was even though I was usually the very junior member of the team, they would usually bring me out to talk to stakeholders or customers or users to demonstrate the product and sort of say, this is how it’s going to work. This is a prototype. You know, I’ve been thinking about this. So I already sort of started to learn those, talking to people about technical things, skills at Ford. So that was like 10 years earlier now I think about it. I also, in 2011, around about that time, I did go on a course called Impact, which was about making impact with people. And some of that was about meeting people one-on-one, because I was always very shy about it. I was trying to find a boyfriend back in 2010, 2011. How am I supposed to meet people and make small talk with them because I’m just a geeky developer? I don’t know how to do that. This impact course was about that, but it was also about presentation skills, which is interesting because I never really thought about those two things together because presenting is standing up on stage and presenting. Making small talk is like trying to be me. And the impact course was like, no, no, these are the same thing. They’re just different ends of the spectrum. The whole point is just be you, recognize your strengths and put your best you forward and bring your energy with you. So I had done all of that. So it is very easy for me to say, well, just get up on stage and do it. I had done a bunch of that. I read presentation patterns, which by the way, if you’re a junior speaker, reading presentation patterns is absolutely terrifying because you’re like, there’s so much stuff to learn. And it’s not like that. Just pick one at a time, just do one thing at a time and then grow and evolve over time, iterate the same as anything else in programming. So yeah, you do have to prep, you do have to read and being coached by a human being is very valuable because they can tell you like the first training I had at Ford as a graduate or undergraduate, I walked up to the stage, gave my like two-minute spiel. This is in a friendly group, very small group. And the feedback afterwards was, you have to smile. You can’t just walk up there all grumpy. And I was like, I wasn’t grumpy. No, you’re nervous. And that makes you very closed in. And that makes you look very unapproachable. So you have to make eye contact and smile. And you don’t get that by reading books. You need someone to say, this is something that’s important for you to work on. That’s a really, really interesting advice there. I have never heard the line about it being the same, like it’s just a spectrum from kind of professional small talk to professional speaking on a stage, but it makes total sense. And that idea of like smiling and looking at people and engaging with them is, it’s about other people. It’s actually not, it’s the sort of, I don’t know the kind of like, not that I’m an expert on it, but like the kind of weird paradox of it is that you’re the one on stage and everybody’s looking at you, but it’s all about them. If you can keep that in mind, that probably really helps you do what you’re there to do. Yeah. And when I’m coaching speakers, the number one thing I tell them is that the audience is on your side. They don’t want you to fail because it’s uncomfortable for them. Watching someone give a live demo that falls over, watching someone who’s really nervous, watching someone who doesn’t feel comfortable on stage makes the audience feel uncomfortable. So they’re with you. They want you to have fun. They want you to do well. They want you to present the stuff that you’re on stage to present. Then no one’s looking at you. If there is someone on stage who’s looking on you or picking at you, that’s not the person you care about. Like the audience is there willing you to do a good job and they don’t need to go away with their mind blown. All they want is like one new thing they didn’t know before. You just gave me the absolutely perfect podcast guest segue because we wanted to, of course, we’re here to talk about your book about IntelliJ idea, but you just mentioned doing a demo that falls apart and that the people are there on your side. And actually there was a video I watched preparing for this that you did years ago where basically that exactly happened over and over again. And I remember thinking explicitly like, but people were with you. They were not in a patronizing way. They were laughing along with you as like, you’re like, oh my God, I can’t believe it. My mouse doesn’t work. There’s a problem with my Surface tablet and I set this damn thing up and it didn’t work. But like people were with you and you were partly because they were there on your side, but you were teaching them something, which is something that you do in your book. So I was wondering if you could talk about what IntelliJ as you’ve done so many times, but what is IntelliJ idea? Imagine you’re talking to a non-programmer. What is this thing and how does it help people do things better? Right. And I do talk to non-programmers quite a lot because all my friends here in Seville are not programmers. So I often say that IntelliJ idea is like the Microsoft Word if you’re writing Java. So the IDE is your word processor. So if you know how to use Word properly, you can open Word and write whatever you want. That’s absolutely fine. But, and I actually have a qualification as well in IT, which means actually understanding how Word works. If you understand, you don’t have to go as far as macros, if you understand how hanging to hanging indents work and, you know, how to resize stuff, you know, you can get your Word document the way you want it and quickly. And the first thing you learn, of course, is command C, command V, whether it’s Word or IntelliJ IDEA, right? And IntelliJ IDEA is the same thing. It’s just, it’s your tool for writing Java. And of course you can just make the whole thing get out of your way and just write Java in the text editor and compile it and run it. And that’s the most basic way to use IntelliJ IDEA. But if you really want to, I don’t want to say speed yourself up because not everyone wants to speed up the typing because the thing about programming is the typing is not the bottleneck. And I stole that from Dave Farley as well. The typing is not the bottleneck. That’s not what slows you down. It is the thinking that slows you down. You have to think about what does the code do? What do I want it to do? Where’s the best place to put that? How do I write that? How do I ensure that it’s doing what I think it’s doing? I would write an automated test. Now, IntelliJ IDEA can help you do all that stuff. It can help you navigate your code so that you can read it and figure out what it’s doing and how things are laid out. IntelliJ IDEA can write some of the easy code for you if you know how to use it. It’s got code completion and live templates for filling out all the boring ifs or the fors or the whatever. It can take care of a lot of that language stuff for you. It can generate new classes like test classes if you want. And it won’t generate the tests for you because that’s terrible practice anyway. But you don’t have to worry about file, new, and then write every single line of code. It will just generate your working structure of the class. And then all you have to think about is what do I want this test to do? Not how do I create a new test? How do I add a new method? How do I call it? You don’t think about that. Just do a new one of these. And then I want it to do this. So, the idea behind the book is teaching developers how to work with IntelliJ IDEA, how it’s going to work with you so that, yes, you can write your code the way that we were taught how to write it in text editors. But if you learn to lean on IntelliJ IDEA and let it support you, you stop thinking about all of the boring stuff and you can focus a lot more on what is the code supposed to do? How do I prove that it’s doing what it’s supposed to do? I really love that comparison to something everyone knows, Microsoft Word. Because one of the things we all know about it is that it’s like, you know, mostly we’re using it to sort of write paragraphs. But that’s kind of like taking a jet engine to the corner store. Because it can do so many things. Like, I mean, probably no one uses it anymore. But like mail merge, for example. Right. And I did learn how to do a mail merge. And it’s cool. You can basically, for anyone who doesn’t know, basically you can add like a thousand addresses and sort of like print out a thousand letters. And it’ll know, oh, this is a letter. And like this is a name and an address that I’m looking for and stuff like that. And reminded me of Final Draft, for example. I don’t know if you’ve ever used that, but for writing screenplays, basically. There’s various concepts that get repeated in screenplays. There’s character names, there’s scenes, scenes come in order. There may be, there’s acts typically, you know, things like that. And so anything where there’s a kind of like repeated structure for writing, people can actually build tools for that sort of like know about that. And IntelliJ IDEA is like this, but specifically for Java. Yeah. And IntelliJ IDEA is kind of, it’s a bit difficult sometimes to really pin it down because the original IDE was just a Java IDE. IntelliJ IDEA Community is a Java IDE with some of the other JVM languages like Kotlin, Scala, and Groovy. IntelliJ IDEA Ultimate, which is the one you pay for. Community is free. Ultimate, which is the one you pay for, also has other languages. It’s got SQL, it’s got HTML, it’s got a bunch of JavaScript in there. You can write JavaScript code. It’s got, it has framework support for all the different frameworks as well. So IntelliJ IDEA Community, which is the one we mostly, we focus on that in the book because it’s the free one everyone can use, is generally a Java IDE. But if you’re using Ultimate, you can basically write almost anything in there. There are three principles that you talk about in the book that come up again and again. Always green keyboard. First, I’m just looking at my notes here and in the flow. And I was wondering if you could talk about always green. So what is that concept for people who might not know? And how does this product help programmers stay that way, always green? Right. So always green is something that I’ve been thinking about. A lot of this book is not necessarily like JetBrains lore, but like how I think about using the IDE. The always green thing is something I learned working at Elmax. When I came to Elmax, when I coded, I coded in what I thought was a fairly typical way for developers. When you’re writing new code or making a change, you write the stuff in and it’s generally not going to compile because it’s not ready yet. And so let’s say you decide to add a method or changing your name is not a good example. But you add some code and it just breaks a bunch of stuff everywhere. And then your job is to go around and change everywhere it’s broken. That’s how you know you’ve added something. Because you added something, broke everything, and you fixed it all, and now it’s all working. But IntelliJ IDEA works in a very different way. You can do that with IntelliJ IDEA by all means. But it’s working in a very different way. You should be using some of the refactoring tools or the code generation tools to make sure that the stuff that you do is always compiling. So it’s always green. When you rename something, you don’t just change the name of it. You use the rename function. So it renames it everywhere. And it’s smart about it. It doesn’t just rename it in like it’s not the same as find and replace, which might put it in every text file that you don’t want it in. It renames it in every if you rename a method, it renames it everywhere that calls that method. And it renames it in all the interfaces which use that method. And so with one button, you’ve made that fix everywhere. And you can guarantee that your code is working. Now, that’s just the refactoring stuff. But there’s loads of other stuff. The first week I worked at JetBrains, and I’d already been using IntelliJ a lot, I learned complete statement, which is command, shift, enter, I want to say. My fingers want to do that. And so complete statement is you’ve kind of mostly typed all of the line of code that you want. But you’ve put all the important stuff in. If you use complete statement, it closes off all your parentheses and puts a semicolon on the end. And it’s dumb. It’s a stupid thing. But, like, no, I don’t have to think, did I have three parentheses or four parentheses? Oh, I forgot the semicolon again. Because I was doing Kotlin, which doesn’t have semicolons. And Java does. No, you don’t do that. Just say complete statement. So I finished thinking about that line. I can be thinking about the next thing I want to do. And I’m pressing that thing. And IntelliJ fixes all of that stuff for me. Keeps my code green. It’s compiling, running. If I want to run my tests, I know that my tests will run because everything’s compiling. They might not pass, but they will run because it’s compiling. One of the problems with doing stuff in an incremental way where you purposefully break stuff and then fix it up is that you can’t run your tests because they don’t compile. If you keep your code green all the time, obviously this relies on you having tests and running the tests. But if you keep your code green all the time, you can run your tests and have high confidence that everything’s working. If you keep your code green all the time, IntelliJ knows more about your code, especially Java, because it’s strongly typed. So it knows that when you’re searching for stuff, it searches for stuff in a smart way, not in a brute force way. So as long as everything is compiling and its internal model is correct, you get all the benefits of the ability to find stuff quickly and change stuff quickly. Thanks for that really great explanation. I love that. It’s sort of like kind of smart, autocomplete, but like that it’s sort of scoped to the kind of programming language that you’re writing in. So it kind of knows what you’re doing and can take some of that stuff off your mind so you can partly focus your cognitive load on where it should be rather than on the details. Speaking of details, in the last part of the interview, we always like to talk to authors about their writing processes and things like that. And so you and Helen co-authored the book. And I’m curious, how did you manage that? Did you each take a chapter? Did you take parts of chapters? How did you manage that process generally? We did a bit of everything. Right at the beginning, we kind of came up with the table of contents, more or less. Obviously, it evolved. We had an idea of what we wanted to cover. And I’ve got a lot of in-depth knowledge of Intellijode in my head. Helen had been working with the product for about a year. So she was really up to speed on a whole bunch of stuff to get new users up to speed. So she was taking some of the new user stuff, and I was taking some of the obscure stuff that’s just in my head. But it was quite difficult to really motivate ourselves to do that, especially because Helen had already done the new user stuff for JetBrains. And this difficult stuff was difficult. And I couldn’t quite bring myself to sit down and do it on my own. So what we ended up doing quite early on, actually, is we set aside two hours a day, most days, I think it’s four days of the week, to sit down and pair on it by pair programming. So Intellijode idea has a feature called code with me, which allows you to do remote pairing. Now, code with me is new. It came out of the pandemic, obviously. So that must have come in in 2020. We started writing this in summer 2020. So I think at the beginning, we were probably using a combination of Zoom and some screen sharing. But very early on, Intellijode idea came in with code with me, which meant that we were writing the book in Intellijode idea. We were using AsciiDoc. We had an AsciiDoc project. Intellijode idea supports AsciiDoc as well and has an AsciiDoc to plug in, allows you to write the AsciiDoc and have a preview on the side so you get live feedback straight away of how things are going to look, which is just great. Because a lot of the other writing tools I’ve seen, like, you know, you can sort of think in markdown, but you can think in that format to begin with. But to me, I’m a very visual person. I want to be able to see it. So having both side by side was really helpful. And then with code with me, we both have the project open at the same time. We’re both writing in the same document, a bit like Google Docs or something like that. So you’re both writing in the same document at the same time. Often, we would pick something, we would pick something, pick one of the topics. We’d usually start with, well, whichever topic we felt like, actually, because it’s quite difficult to motivate yourself to write, right? So we’re like, what do we want to do today? Do we want to do a nice easy one or do we want to do a meaty one? Are we feeling like it? And then usually, Helen would be driving the writing process and I would be, like, just splurging my, like, knowledge crap at her. And she’d be, like, writing down all the crap that comes out of my mouth. And she would often go away and, like, tidy that stuff up into something that was actually kind of vaguely readable. And then maybe I might make some notes on some other stuff. But in those early days, like, I was really overloaded and Helen had more time. So it was just a lot of me just splurging crap at her. And then later on, by the time this year came around and I was no longer working full time, I had a lot more time. So then from July onwards, I was doing a lot of the screenshots. And as I was doing the screenshots and getting the UI in the right place and taking photos, not photos, obviously, not with the camera, taking the screenshots, I could read through the text and go, oh, that’s not quite right. Or I don’t really want to say it that way. And so I was tuning that a little bit. Some of the bits that I knew really well, like, the version control chapter, which was about 35 pages of version control, I just, like, I just sat down and I just did it all by myself and did it on my own. I’ve got to talk about this, I’ve got to talk about this, I’ve got to talk about this. And then I gave that to Helen to review it and make that, like, less. Well, actually, when I’m writing, I’m kind of fine. But I needed her to look at it and make sure it was not it was at the right level. Because, you know, again, it’s all the stuff that’s in my head. And she can say something like a new user is not going to know what this thing is. Like, okay, fine. And so we did a lot of that. And then when we were doing that final pass, where we kind of like got a lot of the the raw content down, either because I kind of blurred it out or splurged it on the keyboard, or she’d written her stuff as well. There’s a lot of stuff that she wrote from her knowledge. Then we went through this final one of three final passes with book writing was about 35 final passes. And in I think it was in August, we’re like, right, we’re nearly there. And so then I went through and did all the screenshots, checked the checked various bits and pieces, there was a certain set of things that I would check, and I was responsible for and especially doing some of the technical checks of everything. Because I was already in the ID poking around with it. She was putting it through a Grammarly, making sure that it made sense. She was checking for consistency and making sure that the book as a whole made a sense because I was like hopping around all over the place. And she’s like, no, Trish, like, you can’t talk about this here, because you haven’t talked about it here yet. And I was like, Oh, well, you saw all of that stuff out. And I’ll just like, put all of my knowledge in lumps on the page. That’s really fascinating. So it’s sort of mixture of kind of like pair programming style, but like writing books, but then also like each of you doing stuff on your own. I really liked this sort of cooperative thing that you actually sort of are explicit about in the book in a way where it’s like, you’re the kind of expert who’s almost kind of like, got this weakness of having forgotten what it’s like to be a beginner. Whereas, you know, Helen is sort of like not a beginner, obviously, but, you know, sort of newer to it, as it were. And so you have like, Helen’s hints and Trish’s tips and this sort of like, you know, one is kind of sort of like, you know, if you’re new to IntelliJ idea, you’ll be like, Oh, there’s someone like me is like Helen. And then if you’re a true expert, you’re like, Ah, there’s like, I’m looking for those like sort of nuggets of gold from the person who like really knows it inside out. And like, to the point where your fingers know, but you don’t anymore, which is just just fascinating. The last question that I always save on the podcast, if the guest is a Leanpub author, is if there was one magical feature we could build for you on Leanpub, or if there was something that had you shaking your fist and shouting at the computer over and over again, that sucked about Leanpub that we could fix for you, is there anything you can think of that you would ask us to do? Um, I, so the process we used is we were using ASCII Doctor. And we were like, we did our, we did the bring your own book thing. And then we did start with the, we did start with the Leanpub process. But in the end, we were so comfortable doing stuff with IntelliJ idea. And we had this ASCII Doctor build pipeline that we were using. So we were like, if anything broke, don’t fix it. So we didn’t use a lot of the Leanpub stuff. But if there was one thing that I would really, really love from Leanpub, it is, I’m sure you get this a lot, a physical book, I just really want a physical copy of my book. Yes, we do get that. Actually, just recently, we did launch something called Leanpub Services, which is, so it’s, it’s, it’s a few hundred bucks, but it’s basically like click a button and we’ll make a print book for you and get it on Amazon. Oh, I didn’t know about that. Yeah, and we’ll do the work. And we were very sort of Leanpub wall of text style, kind of explaining it. But it’s basically like, yes, of course, you could go on Kindle, direct publishing and do it yourself. But if you don’t want to think about it, if you don’t want to think about it, you don’t want to learn about it, you don’t have anything to do with it all. I just want to click a button and Leanpub will make a print book for me. We actually do do that now. I’m so pleased I came on this interview. I have learned something very important. Like yesterday, I did a podcast with Josh Long, who’s also done a Leanpub and KDP book. And I was talking to him about like, I just really want a physical copy. He’s like, just do the KDP thing. It’s fine. Like the bill program that we’ve got like will work for you. And I was like, I just can’t be bothered. It just seemed like loads of hassle. Yeah. And that’s, that’s, that’s what we’re sort of like, you know, the thing is like, you know, it’s part, partly, you know, it’s, it’s, you know, partly our sort of programming roots or whatever, but like, you know, if we know the process, why should everyone else have to learn it? Like, you know, don’t repeat yourself as it were. And like, as a kind of book publishing community, like, you know, then this is not, by the way, we didn’t invent this idea of like, click a button and pay some money to have people produce a book for you. But like, but, but we are finally kind of offering that. And again, it is, it is because so many of our authors, like, you know, you put so much work into it, but what really, what, what the author should be doing is, is, is writing. If they’re into it, they should also be formatting. But the book production side is, is not something that they, an author should be concerned about. Again, we didn’t invent that idea. But, but anyway, so we do, we do have, we do have the kind of expensive magic button now. I’m happy with an expensive magic button. Like there’s sometimes when money is just worth more than time. You’ll like our copy on our page where we explain it because that’s basically exactly what we say. Well, Tricia, thank you very much for taking the time to be on the podcast today and for such a, which is such a great conversation. And thanks very much for using Leanpub as the platform for your ebook. Thank you very much for having me. And I just thank you Leanpub because like, I would never have done this without Leanpub. It’s fantastic. Thanks. And as always, thanks to all of you for listening to this episode of the Front Matter podcast. If you like what you heard, please rate and review it wherever you found it. And if you’d like to be a Leanpub author yourself, please check out our website at leanpub.com. Thanks.
