Tim Bourguignon 0:05 What is a good software developer? What do excellent developers do? There are probably as many answers to these questions as developers in the world. So let's ask veterans and newcomers what their story look like. Let's learn directly from them. Welcome to developer's journey. Hello, and welcome to developer's journey, the podcast shining a light on Developers Live from all over the world. My name is Tim Bourguignon, and today I receive Emily Bache. Hi, Emily, thanks for joining. Hi, I'm so your technical advisor coach, and a very experienced one from what i i've read all over the place. In your career, you have embodied pretty much all the positions our industry has to offer, and build a polyglot package that definitely makes me blush from Python to Scala and to Ruby to c++. You are the author of the coding dojo Handbook, and a few video classes on Pluralsight. And you also regularly speak at international conferences, and recently on panels as well with none other than Robert C. Martin, very recently, and thrilled to hear his story today. So tell us, what are the forks, the bumps, the roadblocks, the challenges, and of course, the successes, all the things that led to you being in such an interesting position today.
Emily Bache 1:30 I'm delighted to be here. And thank you for asking me to tell my story a little bit. And I was really interested about the theme of your podcast, and that this idea of that people could find out from from me where I've come from and how I got to where I am. So I think there's a couple of really interesting things about my career that I wanted to talk about. And one is that I've moved cultures. I grew up in the UK. And now I live in Sweden. And I've had most of my career here in Sweden. And the other interesting thing I guess, is that I'm a woman and a man dominated industry. And that's thrown up some challenges as well. So I wanted to tell you a bit about my background, because I am from the UK, I grew up near Oxford. And I went to university in Cambridge. And I did very well at school, I studied very hard actually. And I focused on sciences, physics. And I can boast a little bit here, actually, I got the highest grade of anyone who took the a level physics exam that I took. So I was one of the best in the country when I was 18. And then I went to Cambridge, and I studied natural sciences. And I took some courses on computer science and programming. And I discovered when I went into those courses that I was one of the only women in the room. And there were a few of us, but not many. And almost all the men who were there had been programming on their home computers since they were quite young. And I had no no programming experience. Basically. We had had a computer when I was growing up, but it was mostly my brother who played with it. So I found myself thrown into a world where I was in the minority. And I didn't have the experience that my peers had. And I struggled. And but I worked hard. And I got a degree in the end in engineering. And during my time at university, I also met my husband, Jeff, and he has been a huge influence on my career. So I have to talk about him as well. So Jeff is has was one of these people who's been programming since he was a child. And he was very good at it when he came out into the workplace. I got a job a year before me. And so I kind of learned from him a little bit really, I kind of looking around for myself looking for a job. And I was trained in engineering, and electrical engineering and physics. And I was pretty good at math. And I looked at all the jobs that were available. And it seemed to me that there were twice as many jobs in software, as there were in the kind of more ancient traditional engineering disciplines. And since Jeff was having a good time in that career, I decided to go for it too. So I I got a job as a software developer at a big consultancy logica. And at the time, they had just gone through a bit of a rough patch, they'd hired too many graduates. So I was there in a crowd of graduates and we had we had no work. There was no clients wanting our services. So we sat on the bench, a load of us. And I got myself a Teach Yourself c++ book and Jeff coached me in the evenings and I learned c++. Because when I got my first job, I couldn't program you know, I done all these university courses. And I knew the theory of polymorphism and object orientation and I knew how to do engineering. In theory, but, you know, I still needed to learn to program. So I learned to program. And then I, after a few months of that, I realized that they weren't going to find me any interesting work. So I, I got a job at a small company, and doing software development. And I found myself in a team with some very competent software developers. And they coached me and mentored me and taught me to program even more. So I think after, you know, a year or so of working, I was actually competent programmer. And the fact that I hadn't programmed as a child actually didn't actually make a difference at that point. So I just want to dispel this myth that you have to program since you're very young, in order to be a software developer, I think it's, it's actually harmful to suggest that you can learn software development, by studying and on the job with mentoring. So when that was a great experience, and but then we, we were living kind of not far from Cambridge. And we realized that the IT industry in Britain is completely dominated by London. And all the jobs that we were looking at that looked interesting. And to move to the next job, were in London. And we didn't want to live in London, we didn't want to commute to London, the idea of going on the underground. And living in a big city being a long way from from nature just didn't appeal. So we looking looking around at other jobs and the rest of the country and in Scotland and, and in Europe, and Jeff happened to be at a conference where he met somebody doing a job, some of the area that he was in. And it seemed like an interesting company here in Gothenburg. So he applied effort. And they offered him the job. And the salary was slightly lower than we were getting in UK. But we thought What the heck, you know, they're going to pay for our relocation costs. And they're going to help us find the flats, and we can see what it's like to live in Sweden. And we've been to Sweden on holiday. So we knew that it was a nice place to be on holiday, beautiful nature. Of course, we went there in the summer. So it was you know, in our minds, it was sunny and warm and beautiful. And so we decided to go for it. And I quit my job. And and without jobs go to. And we we came to Sweden. And this was early 2000s. And it was the peak of the.com bubble. So that was one reason why it was so easy for Jeff to get a job in Sweden. And bad for me too, I find a job within I think three weeks of arriving a consultancy company. And they were just crying out for people who could program. And it was such a contrast from our jobs in Britain. I mean, we found the whole working life was so much more relaxed. And I remember that the office where I was working, it was down by the river. And things were going very well for this consulting company. And we would, on a Friday afternoon, we'd take big cans of coffee from the office, and some cakes and we go and sit on the key by the river in the sunshine, eating the cakes and drinking the coffee and looking at the beautiful view. And you know, everyone was so relaxed, and that was just an ordinary Friday and then everyone went home early on Fridays. Other days on time there was there was not a huge amount of overtime at that time. It was just seemed really nice, really good quality of life. And we I was able to cycle to work on a beautiful cycle route. And I lost a lot of weight, it was just so much a better lifestyle than we had in Britain. And and we basically decided that this was a good thing. And we should stay we after a while we bought a house and decided to stay in Sweden. So, that was a big move. And from the the working culture perspective,
Tim Bourguignon 9:19 you actually sculpture to the company or to the to the country.
Emily Bache 9:25 It was the country that appealed to us it was the lifestyle and the access to nature. The cycle routes, the the culture of going home on time, and not having to sit on an underground train, you know. And so we we were very happy here. And then we also very much wanted to learn the language because we thought if we're going to be here, we should get the most out of it. So we studied quite hard, actually the first year or so to learn the language. Both of us And then the economy went for a downturn and I was made redundant. And at that point slide knew enough of the language that I could get a job quite easily still. And then we stayed. So I. So that's kind of like personal journey a bit, let me talk a little bit more about the technology in the programming. So I first learned c++, and then then the small software company was Java programming. But then they also gave me the opportunity to learn Python, and on the job. So I spent in 99, this was I learned Python, from online tutorials and feedback from my peers. And then when in 2002, when I was made redundant, I got a job at AstraZeneca working, and one of the things I could speak Swedish and English well, and I knew Python and Java. So that got me that job, basically, because I was working on the Python system for computational chemistry. And it was really ahead of its time AstraZeneca had the resources to buy a huge compute grid. So we had, at the time, a very large computing resource for doing heavy calculations and machine learning. So we were we were using Bayesian neural networks and, and support vector machines to make predictions about small molecule structure. And, of course, I'm not a chemist. So I worked very closely with some chemists who did know about all this stuff. And I knew, but I knew software. And I knew Python. And we built a very successful system internally to AstraZeneca. Running on this grid, and, and we actually won an award at AstraZeneca, for our work there. So that was a great achievement. And actually, I do things I also, at that point, I had my first child. And I remember receiving the award, I was there with my two month old baby. And I just come into the office specially to receive the award and I was sitting on the front row, breastfeeding my baby, and, and then I handed the baby to my manager to hold while I went up onto the stage to shake hands with the CTO and get the reward. Yeah, so that was, that was a really friendly work work life balance friendly company. And I got a lot of support from my managers. And I was able to work part time. For so I was home for about a year with each of my two children and worked part time for a period of about 10 years. And that was absolutely crucial for me to be able to continue my career and work part time. And it was possible because the companies I worked for were supportive. But also because the general Swedish culture is supportive of families, and the government is supportive. So the politics of Sweden is that you get a lot of paid parental leave. And it's expected that you take it and you by law have the right to work part time when you have small children. Your employer can't say no, actually. So even though my employers were supportive, and that was that was good. And it's it's not atypical for Sweden, this is normal, that working mothers supported, I never had an issue with childcare, the childcare is widely available. Very affordable and good quality. And, and that is also part of the politics of Sweden. I look at my contemporaries in the UK, who have also had children and the struggles they went to to find childcare. And the amount of juggling, they had to do the amount of money they had to spend on it. And I feel that I made a very crucial choice, though, when I moved to Sweden, to move to a country that would really support working women in the in the politics and in the culture. And the other aspect of it, of course, is that my husband, and took a lot of time off as well. Jeff was obviously he also grew up in the UK. He's he's not part of the Swedish culture originally. And yet he he also embraced this idea that is common in Sweden that dads stay home with small children. That is expected and it's normal and supported by employers. So he took many months off with each of our children as well. And I think that made a difference for me, of course, as well, because when he was at home, I could also focus on my career a bit more. So um, yeah, so, but I mean, the thing is, I there was all this support, but I was I was taking full advantage of it and, and pushing the boundaries and not worrying so much about money. I mean, that's one of the great privileges of having a good job in the software industry, you earn quite well. So instead of maximizing my career for for money, I've been trying to maximize it for, for having a family, having good relationships with my family, and having time for myself and my own hobbies. And, and also, of course, I'm quite ambitious to have a career and make a difference in the world. And trying to balance all those things has not been easy, always. But I really appreciate the support I've had. And, and I've also from my wider family. So I go to conferences like I went to a first year of Python that was in Gothenburg in 2004. My, my baby at that time was like three months old. And my parents came over and stayed at our house and looked after the baby while I went to the conference, how many facts they came to the conference with me and took the baby while I was at the conference. And they did the same the following year when it was in Gothenburg again, I think. And generally I've, I've been to a lot of conferences with Jeff and taking the children with us, and bringing family members and people to look after the children. And because I found that going to conferences has been a really, really important part of my career. And, and it's Yeah, so I want to mention, and the XP conference in 2002, it was inside India. And 2002 was just when the economy went down in Sweden, and I lost my job. So my employer didn't pay for it. But Jeff's employer did pay for him to go. So I paid my own plane tickets and my own conference tickets and stayed in his hotel room. And we both went to this conference. And that turned out to be one of the most important decisions in my whole career actually. Because at that conference, I met Kent Beck, Martin Fowler, Joshua Carey offski, the problem dx, all these leading lights in the Agile movement, and I, Michael feathers, Lauren basa beats, all these people who I sat and chatted with and talked about agile and extreme programming with made a huge impact on me to see how they arrange their careers and how they were being successful with this new way of building software. Actually, why back Actually, I discovered Extreme Programming it back in 2000. In my first job in Sweden, we had someone on the team who'd read Kent's book, and recommended it to us all. So we all read it, and thought, yeah, we should do this. So we tried out as much of XP as we could on this project. And we had a great time. And I felt that we were being really productive and writing really good software. And I wanted to work that way. And then this XP conference in 2002, it all seemed This is is the future, this is the way I want to work. So then, when I started AstraZeneca, I was trying to work this way and write lots of tests, and it was really successful project. And then after, oh, I spent quite a while just like I think I was about seven, eight years. And I decided it was time to move on. And I went to a consulting company. And all this time, I've been doing lots of testing and working agile ways as much as I could, and trying to persuade others to work agile. And then in 2005, at the XP conference, so I was going to XP conferences like every year, they were so such a good crowd of people I met there. And I the XP two has no five there was the coding dojo with Lauren balsa beats, and then Manuel Guyer, who organized it and Bob Martin was there at the coding dojo. And I thought this is this is a really good thing. This is a way to interest people and teach people test driven development, something that I'd really been struggling with, both at AstraZeneca. And, and before actually. So I decided that I should learn how to do this technique. So I persuaded AstraZeneca to hire Laurel and bring him to Sweden for a two day workshop with my team and some other people, and from him, I learnt this technique of leading a coding dojo. So I started doing it for myself, it used to groups and evenings because I wasn't getting the support really at AstraZeneca to do this, and I felt that I didn't want to try it out and my colleagues Before I really got the technique, so I started doing it at a user groups. And, and that's more people in Gothenburg who were interested in this. And, and that was also one reason for moving on from AstraZeneca. I just wasn't meeting people who were really interested in this stuff. Whereas I was elsewhere. So I moved on. And then, after a couple of years at a consultancy company, I wrote it moved to a small boutique company doing Ruby developments and further increased my skills at at TDD, because they weren't, they were preparing everything, they were doing loads of tests. And then I went solo and went to find my own company. And that's, that gave me a huge mad freedom. Actually, that was 2010. And my children were quite small at the time. And I was still working part time. And having my own company seemed very attractive, because I could completely control my hours in which clients I took. And I could also devote a lot of time to studying and improving my skills and writing my book. So at that point, I felt I knew enough about coding dojos to write a book about it. So during this time, I was earning very little, actually, Jeff was supporting me. And I had that a huge privilege I had that. My husband supported me in that. So I wrote my book, I did my PluralSight courses. And I took some consulting work as well started running coding dojos in companies, training software developers on work time, and making some money off of that. So that was, that was a good time. But after a while, I realized that actually being on my own in my own company, it was it was good from some points of view, the flexibility. The hours I could choose, but actually, I wasn't making much money. And I felt that I was, I was ready to dive into being in a team again, I really missed having colleagues. And so at that point, I got a job at peguero. Working in a architecture team. And I worked on the automated testing for their product. They were just migrating to microservices. So it was really exciting technologies. That was one thing that really attracted me to work there. And so we, this was 2013. micro services was pretty new. We were what first company in Sweden to deploy in production with Docker. So I learned a lot of new exciting technologies there, we learned that Scala that the company really invested in us, everyone in the IT department, and got paid time to learn Scala and to do an online course, which was brilliant. So I really liked working there, and I stayed for a few years. But then I started getting itchy feet again. I think actually, I probably should be a consultant. I I like meeting new people and new teams and working with different things. So I went back to consultancy, and I joined pragma. And pragma is my current employer. It's originally from Denmark consultancy specializing continuous delivery and DevOps. And also with a vision that people should learn things on work time, we have time allocated for that. We have inter conferences, internal conferences, and also conferences where we invite external speakers and external participants. And we have sponsors, you know, it's a bit you know, conference. So, and that's in brilliant Actually, I've really enjoyed working pragma and having colleagues who are also enthusiastic about learning and improving. And that's been a continuation, I guess, if a theme. Um, I should also talk about technical agile coaching, which is what I'm doing now. And so, I was, I've been speaking at conferences for for many years now. And after my book, and that kind of took off, and I've been traveling around Europe mostly. And I met along my travels, Llewellyn Falco, who is also very technical, and conference speaker and invents tools and does is he's invented approval testing. And that was the real connection point, actually, because my husband Jeff invented a testing tool called text test, and he back in like 2000 to 2003 time we were speaking about that at the XP conference. That's one thing that we've we've spoken about a lot because I've I've used that Over the years, and it's a style of testing, which is a little different from unit testing, and Llewellyn had named it approval testing. And the more we learned about his tool, we realized it was the same technique. And it was a different tool that he was he'd invented compared with what Jeff had invented. But it was the same basic principles. So that was very exciting to meet to learn, and discover so much overlap between what he knew and what we knew. And that led to me getting an invite to go and join Llewellyn at his clients. Last March. So Llewellyn had me fly over to the US and I don't generally travel outside Europe. So this was a big thing for me to actually travel for this. And I spent two weeks in the US and I worked with Llewellyn closely at his clients, and saw the way that he was he was coaching. And I thought that it was really good what he was doing, he seemed to be picked up on a lot of ideas that I'd seen milling around and coalesced it into a coaching format that really was working. I could see that's the developers he was working with. We're learning techniques like refactoring, and testing, clean design, and even beginning to do test driven development. So I've been going around for years teaching, test driven development, and doing coding dojos. And I've always found that people can learn the theory and they can get good at Carter's. But then there's always this gap between that and the production code. And there's always this barrier, because the production code is not conducive to writing tests. Usually, it's not designed for it. And there's a huge amount of history there, which is hard to overcome, when you want to start working test driven. So what I found that the woman was doing was he was combining the coding dojos is just one hour a day of like coding dojo with an exercise with mob programming, where he would work, he would sit with a team that was more programming together in their production code. And the one would be coaching them, and getting them to do the refactorings that we needed to getting them to, to learn the refactoring shortcuts, and to start to write tests, to start to understand where their design was flawed, and they needed to improve it. And so that they could start to do TDD. And I saw that this was actually successful in bridging this gap to the production code. So I, I'd known about mob programming, it's, it's similar to some of the things you do in the coding dojo, but I hadn't really seen how powerful it could be in that, in that context. So when I came back from from the US, in March, I went to pragma and say, Look, I don't want to do this, I want to work this way. And, and they were very supportive, and help me to tell my current client that perhaps I wasn't the best choice for them anymore. So I quit my current client. And then I spent a few months couple of months and looking for a new client who would let me work this way. And I found one, I started working in August, as a technical agile coach, basically copying the exact coaching method that Llewellyn showed me. And so far, I'm very pleased with how it's going. And I'm really excited about this. And that this is a way for developers, ordinary developers, who are in teams building ordinary software, working with very ordinary problems of design that isn't conducive to testing. And I can step into that team for a couple of weeks more program with with the people there and show them better ways to build their software, and coach them in better techniques, teach them test driven development in encode Carter's. And then, at the end of a two week slot they have, they've moved on slightly from where they were before, there's the code a little bit better, they've learned a few new skills, and they have a better ambition of what they want, where they want to be. And then I leave them for a couple of weeks, because I need some time myself. And I'm not at the client, to go and write my blogs and do podcast interviews and go to conferences. And then I can go back and join those same teams again and give them another two week push in the right direction. And this Yeah, so this is what I'm doing. Now. I'm doing technical, agile coaching. And at the moment, I think this is a the best way I know so far to teach test driven development and and for myself to have a happy, happy life. So I'm That's, yeah, I've just given you a monologue for like half an hour. I hope this was interesting.
Tim Bourguignon 30:06 Yes, it was very interesting. Okay, one thing I would like to highlight is, um, you spoke a lot about about technical details and and in technology. But one one thing that comes all the time is people. You mentioned very early mentoring, you mentioned the, the role of your of your husband and the role of your, of your parents and the role of the society around you. And then the roles of colleagues and then they're all all those dues. Giant minds of our industry can take follow politics, etc. played in this 2002 conference, and then again, in 2005, and then the role that will Frankel plays in your life, it's amazing to see that this has been a trend in your life people around you, giving you different hints and ideas and you reacting on this, I find it fascinating. This is this really nice to see. Thank you for that.
Emily Bache 31:12 And yes, I have a great debt to all of these people. And, and I'm really pleased that I've met them and to have studied their work and read the stuff they've written and I do encourage. Yeah, I've, I want to encourage people to read and to, to learn from from other people in this industry. And yes, that wasn't a learning for me that I tried to be an independent consultant. In the same way as I've seen people like Dan north, and Bob Martin, and the Papa dx, forbidden kind of quite independent consultants going around. But that that wasn't for me, I'm much happier when I have colleagues people I can talk to and bounce ideas off before I start, to write and to, to speak, at conferences and so on. Yeah. Um,
Tim Bourguignon 32:10 we're kind of reaching the end of the time box already. But there's one question I would I would like to ask you, um, if if you were to hire someone, or if you were searching for a colleague, or if you were searching for people are colleagues with the with potential? What you What would you be looking for kind of traits or skills or mindset?
Emily Bache 32:36 Well, it's good that you asked this, because pragma is hiring, I am looking for colleagues actively. The kind of people I'm looking for are keen to learn people who who read who reflect, who are interested and learn stuff. You don't necessarily need to be already a master programmer, with a lot of experience, but you do need to show an interest. And I would particularly look for people who are good at communicating people who can express their ideas and not what they've learned. And it also helps Of course, if you know test driven development, that is quite a basic skill. But
Tim Bourguignon 33:24 it's,
Emily Bache 33:25 it's important to, if I don't want to say that, you have to know really good with that, because I know that people haven't had the opportunity to learn that in their career always. And I think if you're not getting the opportunity to learn those kind of skills, then you should move jobs to somewhere where you can, and maybe invest some of your time and money in in in that. But I know that's not always feasible for everyone. So once basically, I'm looking for people who want to learn
Tim Bourguignon 33:54 Do you have a tip for the for the audience how to to improve their communication skills? For instance, how would you go about doing this?
Emily Bache 34:06 practice. And so have a blog, write something and get feedback, think about the feedback and give speeches, get feedback, think about it. It's it's a lot of these things. It's like any skill you improve by practicing by acting on feedback.
Tim Bourguignon 34:32 Um, okay. What's on your plate? Do you have some talks coming in?
Emily Bache 34:39 Yeah, so I speak it quite a lot of conferences and, and coming up. I've got internet organized comm in November. And hopefully I'm going to be at the craft conference next May in Budapest. And other than that, I haven't got anything, actually in my calendar, but I'm sure I will be speaking at other conferences. And what I'm doing a lot of at the moment is writing blog posts. And they are appearing on Primus company blog at the moment, and then a few months later, I copy them onto my personal blog, which is coding is like cooking. And I'm probably gonna write quite a few blog posts in the upcoming month. So do watch out for them. I'm on Twitter, and I was tweeting when I might write a blog. So follow me there is a way to, to get information on that.
Tim Bourguignon 35:28 If you will get a return you.
Emily Bache 35:31 Yes, do get me on Twitter, I spend a lot of time on Twitter, probably more than I should. Otherwise, I've also want to highlight my GitHub page. on GitHub, I have a lot of exercises that you can download for free to help you to learn TDD. And they're innovative in lots of different languages. And if you download it, and like the exercise and discover it's not available in the language that you want to do it in, I am delighted to receive pull requests with translations. And that's a real benefit for me, and makes it worthwhile me putting these exercises out there is I get pull requests with translations and improvements. So do have a look at my GitHub page as well. And Emily page on GitHub, and Emily Bates on Twitter as well.
Tim Bourguignon 36:19 I will add all the links to the show notes. Well, thanks. Forget any topic.
Emily Bache 36:28 I think I talked a lot about the two things I wanted to talk about the changing cultures and the benefits that had for my career, particularly as a woman, and just encourage anyone, particularly for my non minority that you can be successful in this business, even if you didn't start programming when you were like 12. And and it's it's not about that.
Tim Bourguignon 36:53 Awesome. Well, I mean, thank you very much. This has been difficult journey and we'll see each other's into which by listener, if you haven't subscribed yet, you can find this podcast on iTunes, Stitcher, Google music and much more. If you like what we do, please help your fellow developers discover the podcast by rating it and writing a comment on those platforms. Thanks again. And it's been two weeks