Productivity

Using WordPress to run a profitable developer training business

In this episode, my guest Avdi Grimm shares how he found his independence by running a training and consulting business for over ten years. 

We talk about:

  • the importance of time efficiency, task delegation,
  • why you should remove yourself as a bottleneck from your business
  • the work he does on Graceful.Dev and
  • how he is utilizing WordPress for the website.

Avdi is a consulting pair-programmer, the author of several popular Ruby programming books, and has several courses on his website Graceful.Dev (formerly RubyTapas.com).

Avid Grimm Software Consultant

This episode is sponsored by Tonic.ai – where your data is modeled from your production data to help you tell an identical story in your testing environments.

Links:

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: 

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

[00:00:00] Dr. McKayla: Hello, and welcome to the Software Engineering Unlocked podcast. I’m your host, Dr. McKayla and today after pleasure to talk to Avdi Grimm. But before I start, let me introduce you to an amazing startup that’s sponsoring today’s episode, Tonic.ai, the fake data company. So what does Tonic.ai do? I’m sure you know how complex and cumbersome it is to create quality test data.

[00:00:27] Dr. McKayla: It’s a never-ending chore that eats into valuable engineering resources. Random data doesn’t do it and production data is neither safe nor legal for developers to use. What if you could mimic your entire production database to create a realistic dataset with zero sensitive data? That sounds amazing, right? Tonic.ai does exactly that.

[00:00:50] Dr. McKayla: With Tonic.ai, you can generate fake data that looks, acts, and behaves like production data because it’s made from production. Yet, Tonic.ai guarantees privacy so your data sets are safe to share with developers, QA, data scientists, heck, even distributed teams around the world. Visit Tonic.ai to sign up today or click the link in the show notes to get a free two weeks trial sandbox.

[00:01:14] Dr. McKayla: But now back to Avdi. Avdi has been a developer for over 20 years and runs, similar to me, a training and consulting business. The main difference is that he has been doing this already for over 10 years. So I’m super thrilled to pick his brain today around everything business-related. He’s also a consulting pair-programmer and the author of several popular Ruby programming books and has several courses on this subject on his website, Graceful.Dev, formerly RubyTapas.com. So I’m super thrilled that he’s here with me today. Avdi, welcome to my show. I’m very excited.

[00:01:51] ** Avdi Grimm: ** Thank you so much. I’m excited to be here.

[00:01:53] Dr. McKayla: Yeah, I’m super excited. So I’ve been following your journey on Twitter and so on for quite some time. Very inspirational as well. And I have a lot of questions around how you run your business and why you’re running the business and what we can learn from you, right, a seasoned entrepreneur and self-employed person to also maybe get a little bit more independence in our life, right? So this is probably the main goal for myself, for everything that I do is flexibility and independence. So why are you running your own business and how does this come about? Why are you not a software developer in a company somewhere?

[00:02:32] ** Avdi Grimm: ** Right, yeah. I mean, to some degree, I feel like it’s almost an inevitable career arc for somebody in software. You know, I know people who have avoided it, but a lot of the people that I kind of looked up to over the years went through, you know, they went through the full-time employment phase and then they gradually kind of moved out to becoming consultants and having various other side businesses.

[00:02:55] ** Avdi Grimm: ** And, you know, come to think of it, I never really thought about this much before. I had the example of my dad who worked in software and hardware design, and he was an independent consultant I was growing up. So that was kind of normalized to me to, like, have your own thing

[00:03:08] Dr. McKayla: Yeah, for me was quite different. Yeah.

[00:03:11] ** Avdi Grimm: ** I think that I, I saw that on the horizon maybe from earlier than some people do, just because it was, it was normalized for me, you know? And it just seemed like that’s what a lot of my heroes did in the industry was eventually they became consultants.

[00:03:26] Dr. McKayla: Yeah. Yeah, it’s good if you have like role models. For me, it was quite the difference. I always saw it that I will work at the company for a really long time and, you know, climb the career ladder somewhere. Actually, I started a family that I saw, oh, this is not working out as I expected. And as I would like it to work out, right? And so this was a little bit why I changed the thing. So you call it a banana stand. You don’t call it like an enterprise or something. Why do you call it the banana stand? And what’s your philosophy for your business? How do you run it?

[00:04:00] ** Avdi Grimm: ** So, yeah., I’ve started using the term banana stand recently, especially as I’ve been kind of reflecting back on, you know, over a decade of doing this and, like, my style of, of running the business and writing a little bit more about that. So the, the term banana stand, it comes from, the show Arrested Development in which one of the characters says to another, this character is trying to save the family business and his dad who is in prison keeps telling him there’s always money in the banana stand, which he completely misinterprets the message and winds up, burning down a banana stand that’s full of literal money in the walls. I apologize if I’ve spoiled the show for you, but it’s been out for a while. But you know, like, that phrase stuck with me. There’s always money in the banana stand and that’s kind of the way that I look at it.

[00:04:48] ** Avdi Grimm: ** So there’s kind of two sides to this, this independent business for me. There’s the consulting side. And then there’s the product side, product being kind of a broad term for selling books, selling courses, selling workshops. It’s kind of a loose definition of product, but it’s definitely distinct from the consulting side of my business, which is more like, you know, hourly consulting on people’s projects.

[00:05:12] ** Avdi Grimm: ** And I definitely look at the product side as a banana stand as like something that I kind of run casually, even if I’m putting most of my time into it now. I still run it kind of like lazily and you know, and it’s my own banana stand to putter around in. I’m not, like, beholden to any, like, schedules and I’m not on any kind of like track of, I have to, you know, make this much money.

[00:05:35] ** Avdi Grimm: ** I have to, like, make sure that my VCs get a payoff and stuff like that. It’s just kind of like, you know, I get the putter around in the banana stand and work on whatever I feel like. And, you know, that phrase there’s always money in the banana stand is kind of like that has informed the way I think about employment a lot, because, for me, if I’m in between jobs, I used to think of it as in between jobs, I don’t think of it that way anymore, but if I’m in between jobs, quote, unquote, that’s not like a time to panic and, you know, and, like, do all the interviews and freak out about how I’m unemployed. That’s time to just focus on the banana stand.

[00:06:12] ** Avdi Grimm: ** And until something comes along, that makes sense. And I think that’s been helpful to have that. And, yeah, that side of my business, really like, so we talked about consulting, but that side really came from early on, getting into e-book sales, which we can talk about how that story went if you want.

[00:06:28] Dr. McKayla: So if I understand that you would say there’s the consulting, which is, you know, it’s something that you have continuously to invest in and also make some contracts around that.

[00:06:37] Dr. McKayla: I’m also doing some consulting, which means like now I’m dedicating, let’s say 30 hours for this project for three months, right? And so you are more or less sold out for that time?

[00:06:48] ** Avdi Grimm: ** It’s kind of like a real job.

[00:06:49] Dr. McKayla: Yeah. It’s like a real job, only that you have all the risks as well, which is even worse.

[00:06:58] ** Avdi Grimm: ** But there’s a lot more, even there there’s a lot more independence. And honestly, you know, one of the things that I value on the consulting side is that, I mean, yeah, you have the risk, but there’s always the risk. There are no guarantees in this industry. There are no guaranteed retirement plans.

[00:07:13] ** Avdi Grimm: ** And what I don’t have to do is I don’t have to buy into a lot of corporate mission and values BS that I don’t believe in.

[00:07:22] Dr. McKayla: Yeah. So you have your consultancy and then in between those consultancy gigs, right, when there are no consultancy gigs, you’re not freaking out, you’re working on your banana stand and you grow that, right? And the good thing it’s about the products and, you know, this mindset, I think, is that even a little bit of work on them pays off, right? So it’s a little bit like an investment. So you create another free course, maybe, and you have like a, you know, a good lead magnet, have people that are interested in your work.

[00:07:53] Dr. McKayla: Then you create a paid course when you have time and so on. And it stays, right? It’s something that’s there for longer, whereby the consulting, it comes, it brings normally quite good money, from my experience, right? In a very short amount of time, but then it goes away as well. While the banana stand, maybe it’s a little bit, it’s not this boom, now we have like all this money. But it’s also not going away, right? Yeah, exactly. It’s a snowball. It’s a flywheel somehow, right? Yeah.

[00:08:20] ** Avdi Grimm: ** Yeah. I mean, you know, a consulting gig is one big blizzard that, you know, that melts the next week and a banana stand is a snowball that you just kind of gradually roll over the years.

[00:08:32] Dr. McKayla: And so how long did it take for you to have this banana stand where you could say, well, I have some predictable income that, you know, makes me sleep at night? .

[00:08:43] ** Avdi Grimm: ** So actually I think, you know, my trajectory there probably was a little different from a lot of people’s. I kind of, you know, I put along having the book, the e-book business on the side for a few years, and that really just fell out of speaking.

[00:08:58] ** Avdi Grimm: ** It happened because I was giving talks at software conferences. And I was pouring a ton of time and energy into researching these talks. And I was like, you know, I wonder if there’s a way to kind of recoup. You know, I have all this material that I put together. I can’t fit it all into a talk.

[00:09:14] ** Avdi Grimm: ** And I wonder if there’s a way to like recoup the energy that I’ve been putting into this. And that was really the origin of the first book, which was Exceptional Ruby, which is about error handling and failure management and I made a book out of like the, all the extra material that I put together for that.

[00:09:29] ** Avdi Grimm: ** And that was that kind of launched things. And so that was kind of a side business. It was a nice little side business for a couple of years. And then what changed was I decided to get into screencasting. I’ve been doing the books, I’ve been doing some podcasting and this was around, you know, this was like 20, maybe 2010, 2011, 2012.

[00:09:52] ** Avdi Grimm: ** A lot of programming screencasts started taking off. And I decided to get into that business. And I had a vision of like, what if we did that only much shorter and more focused? And, you know, just do like five minutes or less. You know, get one idea across at a time. And so, unlike most banana stand efforts, that was really like a do or die, not do or die.

[00:10:13] ** Avdi Grimm: ** I don’t like that terminology that was a go big or go home. That’s the phrase I’m looking for, go big or go home because I knew how much energy went into video production and it is a lot. And so it was like, okay, this is a project that I’m going to test the waters. If it does well, I’m going to try, you know, the only way this works is if I can make it into my full-time job, otherwise I’ll just stop. And yeah, I got really lucky. I was coming in at a good time. People really liked the format. And so within, I think around a year or two, I was able to say, I don’t actually need other jobs right now with the RubyTapas screencasts.

[00:10:49] Dr. McKayla: Oh, yeah. That’s nice.

[00:10:51] ** Avdi Grimm: ** Yeah. So that was, that was kind of like line goes up. That was less, you know, slowly rolling snowball.

[00:10:56] Dr. McKayla: Yeah. And how much time did you spend in this line goes up phase? You know, because somehow when you’re focusing on something, like doing the screencasts, you’re not having an income, right? And then if you go to consulting, you don’t have the time. So you have to switch between those boats of not having time or not having money. So how did you handle that at that time?

[00:11:17] ** Avdi Grimm: ** I didn’t sleep. I had at least one new baby at the time, too. And, like, I was working consulting gigs. I don’t know. It’s kind of a blur at this point. I don’t think that I could do that kind of thing again, unless it was a great need. ‘Cause I was also, at that point at the beginning, I was producing three episodes a week.

[00:11:41] Dr. McKayla: Wow. Yeah, that’s a lot.

[00:11:43] ** Avdi Grimm: ** Yeah. I was doing a lot at once and it was kind of nuts.

[00:11:46] Dr. McKayla: Yeah. And I actually really liked, with the whole style also, when I look through your blog posts and everything, right, you have your own style. You didn’t call it like Professional Ruby screencast, you call it RubyTapas, right? And the tapas probably transport the message of it’s small pieces of very digestible, tasty things, right?

[00:12:09] ** Avdi Grimm: ** And I feel like some of that probably also fell out of just like the Ruby, like, the community has always been super whimsical and kind of silly. And so, you know, I can’t take full credit for that approach.

[00:12:22] Dr. McKayla: Yeah. But recently, I don’t know exactly when, but you rebranded your whole RubyTapas into Graceful.Dev, why is that? For me, it seems like it’s now broader and there can be more happening, but what’s your strategic vision behind, you know, going from RubyTapas to…

[00:12:40] ** Avdi Grimm: ** I do not do strategic visions. I used to, but, man, I avoid strategy as much as possible now. I mean, that’s okay. That’s not true. I do a little, I do a little. But I try not…

[00:12:54] Dr. McKayla: You definitely have some reasoning behind it, right?

[00:12:56] ** Avdi Grimm: ** I try not to have five-year goals. Let’s put it that way. I don’t do goals. There’s definitely some reasoning there. There’s a direction there. I mean, the direction was one that I’ve honestly had in the back of my mind for a really long time. A lot of people don’t know that, like, the same day in, like, 2011 or whenever it was that I registered RubyTapas.com and associated addresses. I also registered CodeTapas.com.

[00:13:20] Dr. McKayla: Okay.

[00:13:21] ** Avdi Grimm: ** So like, you know, I never wanted to completely limit myself to Ruby, strictly Ruby content. You know, I’ve worked in, God, like a dozen languages over the course of my career. And Ruby was just an area that I wound up focusing on a lot and wound up making a lot of money in. And enjoying, I really, really enjoy the language still and the community as well.

[00:13:42] ** Avdi Grimm: ** But I always had in the back of my mind, you know, that I would expand, but, you know, I didn’t wound up not using as you’ll notice. I wound up not using CodeTapas as the branding ’cause I was really, like, moving in a different direction, broadening not just in, like, in the technologies that I want to cover, but also I just spend a lot more of my time thinking about broader topics like, the sustainability of the development that we do and systems thinking, understanding the systems in which we work and the systems that cause the work that we have to exist. And yeah, so just, for a lot of reasons, it made more sense to me. And in some of my talks, I’ve been really focusing on the concept of grace.

[00:14:21] ** Avdi Grimm: ** So it just made more sense to me to move in that, that branding direction. And then recently I had the opportunity to finally, like, do a lot of the heavy lifting of moving content over. And so I took that.

[00:14:33] Dr. McKayla: Where did this opportunity come from?

[00:14:35] ** Avdi Grimm: ** Well, so I had a point a few years back where I was like, okay, you know what? I’ve been sort of off on my own, doing my own thing for a long time. I would like to get back into, like, the hustle and bustle of being part of a big team that’s making something real in the world. And I spent, I don’t know, a year or so interviewing pretty seriously at a bunch of different places. And that did not go as expected.

[00:15:00] ** Avdi Grimm: ** And I finally decided that I, wasn’t going to focus on that anymore after all. And I was just going to get back to the banana stand ’cause there’s always money in the banana stand. And that has been actually an immensely satisfying experience, kind of coming back to it with a fresh, fresh, like maybe this is my calling perspective.

[00:15:18] Dr. McKayla: Yeah, I actually followed this journey a little bit on your Twitter, you were sharing it with us and also the hassle of the whole, you know, getting naked in front of strangers, you know, and really selling yourself. And I mean, you have been in the industry for so long, you have shared your learning.

[00:15:38] Dr. McKayla: You know, you have some portfolio online. It’s not like somebody comes and has no idea about you, but still, it felt like at least what I got out of the tweets, right. What I read into them was that every interview was a little bit, it wasn’t really like keeping your dignity, right? So you had really to get naked in front of them to do all these silly things.

[00:16:03] ** Avdi Grimm: ** You know, I wouldn’t, I actually, I would argue that it’s not, it wasn’t really about being naked. It wasn’t really being, about being transparent. It was about people wanting you to do a very special dance for them that strokes their ego and me being at a point in my career and life where I’m just like, I’m not going to do that. Why would I do that? Looking back I got some actually really nice offers from some, you know, well, large companies anyway, but in the end I was not comfortable taking any of them. And in part, because of what I saw during the interview process.

[00:16:39] Dr. McKayla: Okay, what did you see?

[00:16:41] ** Avdi Grimm: ** Well, you know, so actually, let me tell you about something I just heard recently from a friend of mine, because I hear the same story over and over again. Like my story, what I’ve realized is my story is not at all unique. So just the other day I heard the story again of like, basically, you know, an extremely senior well-respected brilliant engineer gets asked by a friend that works at a FAANG, you know, works at one of these giant unicorn Silicon valley darlings, gets asked to come interview there. It’s like, we’d love, you know, I’d love to work with you here, which is basically what happened to me, a number of different places. And, you know, so they kind of go into the interview silo and then they go through this process where in, you know, in this particular case, like they got interviewed by someone who was totally unrelated to the group that wanted to hire them because this is the way the process works. You know, we don’t want bias in the system. There’s a lot in these processes that are supposedly about eliminating bias, it’s actually creating it.

[00:17:42] ** Avdi Grimm: ** We can talk about that more in a minute, but, you know, was interviewed by someone totally unrelated to that team. And basically, they were like, you know, show that, you know, by heart, my favorite algorithm,

[00:17:55] ** Avdi Grimm: ** I happen to have a favorite algorithm. You’re going to show me that you can, you can identify that I’m thinking of this algorithm and then you can write it by heart. And like that wasn’t an algorithm that this engineer had used before. And so it wasn’t one they thought of, you know, I’ve got a lot of stuff in my background where it’s like, I know of algorithms that probably most engineers haven’t heard of because they happen to be useful for networking middlewares and I hear this all the time.

[00:18:18] ** Avdi Grimm: ** Anyway, they got flunked out because they couldn’t, you know, reproduce somebody’s favorite algorithm from, by heart. And this is somebody with, like, close to my level of experience. It’s nuts. And I keep hearing this. It’s actually, you know, I’ve heard this from a lot of people, with my, lot of friends of mine, with my level of experience in the industry, that these systems, they’re really tuned to find people that are exactly like the people who designed the system in as many ways as possible.

[00:18:47] Dr. McKayla: Yeah.

[00:18:48] ** Avdi Grimm: ** Like, for me, I don’t care. I am a white guy with plenty of opportunities and a banana stand. You know, I can fall out of a process like that and be fine. But what I’m seeing is that these processes are also, I mean, they’re very gatekeep-y and they’re very clicky. They’re very in-crowd, they’re very, very, like, we are expecting people that sort of show the secret insignia of a very select group of Silicon Valley insiders, basically.

[00:19:18] Dr. McKayla: I think one of the problems is also that they often require a tremendous amount of preparation, right? And if you think you are an experienced engineer, maybe at that point, you have a family, for example, around, right.

[00:19:33] Dr. McKayla: And some other commitments, it gets really hard to study some, you know, lead code examples, just to be as fast as, you know, somebody else, right? And I think this is also something that I criticize a lot when I’m thinking, and then you don’t even need that, you know, you don’t need that knowledge. You could really solve real-world problems.

[00:19:51] Dr. McKayla: You have some experience and background, right, that you have worked on. And it’s probably also super challenging. So looking really at what that person has already achieved in the last, let’s say 15 years would be, you know, and then really let them explain that in-depth, which shows that they probably can learn, you know, whatever problem or solve whatever problem you throw at them. It would be a much better way than, you know, getting back to bubble sort and, you know, and linked list or something, right?

[00:20:19] ** Avdi Grimm: ** And this, this is a big part of where the bias is in the system, and this is why I get sort of morally outraged by it, you know? I don’t do well in these, you know, I might not do well in these because I’m at a point where I just can’t be arsed to do that much homework of like learning somebody’s arbitrary favorite algorithm.

[00:20:36] ** Avdi Grimm: ** But what they’re implicitly biasing towards is the sort of stereotypical young white dude that has all the time in the world and doesn’t have a family to support and doesn’t have any disabilities. And, you know, I could list off a lot of, you know, a whole lot of privileges there that go into that sort of their really looking for that person who has nothing else going on in their life.

[00:20:59] Dr. McKayla: Exactly.

[00:21:00] ** Avdi Grimm: ** You know, so that they can then like induct them into the cult of your passion is your software career. And that bugs the heck out of me, you know, and I see this really like, you know, who is really hurting is people that come from backgrounds that aren’t like mine and have other stuff. They have people that they’re taking care of. They have kids, they have elderly parents, they have families that they’re sending money to, and they can’t afford a, you know, a break in their income while they spend six months, you know, doing nothing but the interview game. You know, there are so many things, and the people that are, you know, so many minorities in this country already have, in the world or, you know, minoritized people, I shouldn’t say have so many other calls on their time because of the way society is already stacked against them. That it makes it impossible to jump through these.

[00:21:48] Dr. McKayla: Yeah, I totally agree. I totally agree. Yeah.

[00:21:51] ** Avdi Grimm: ** Sorry, I get worked up.

[00:21:53] Dr. McKayla: No, I want to come back a little bit to your banana stand again because this is the way out for, for you. And it’s a little bit the way out for me as well, right? So with Graceful.Dev, I don’t know if you had that before. You had RubyTapas and you had like the courses, but Graceful.Dev is now a full-fledged membership site, right? So you have different courses and you build it on top of WordPress. Why did you go this route? I mean, you could have like your courses on some third-party platform, right? From, I don’t know, Teachable or whatnot, you know, many, many different PODR and so on. But you host it yourself and then you have the membership site as well. And you do that. Why does choice, like, I’m also thinking about right now, awesomecodereviews.Com for example, runs on, I switched from WordPress to Gatsby. So it’s a static side and I’m thinking on how to give it a membership capabilities.

[00:22:49] Dr. McKayla: And I looked at SurplusCI and so on, but why did you go for WordPress? And are you happy with it? And what’s the philosophy behind it? What do people get from this membership? What do you want to build? Probably there’s a community behind, right? And some, some visions that you have for that.

[00:23:06] ** Avdi Grimm: ** This is an opinion I’ve kind of come to over years of using many different systems. And there’s continuum here because you know, a lot of people running, particularly running education sites for developers have rolled their own system from scratch. They’ve built their own servers or their own applications.

[00:23:26] ** Avdi Grimm: ** And so, you know, there’s that continuum all the way from roll your own to, you know, use a completely hosted service, like Podia, Thinkific, whatever, you know, and I’ve, I’ve tried a lot of these different things. I started Ruby topis out on somebody else’s platform.

[00:23:39] ** Avdi Grimm: ** And it was super limiting. You know, there would be things that people were asking for for years and they just, that feature wasn’t a priority for the platform because you’re competing, you know, you’re competing with all the other people who use the platform. And for, you know, whose feature is most important.

[00:23:54] ** Avdi Grimm: ** So it was very limiting to use a hosted platform, and I’ve periodically I try them again and they’re always, there’s always like something pretty early on, it’s like, wow, I really need this feature. And I don’t have it. But I’ve also toyed with building my own. I did that for a few years and you know, what I realized was, if I did that, my show was going to become about building an app to support the show, because that’s what I was going to be spending all my time on, because it’s a lot of work to build.

[00:24:23] Dr. McKayla: It’s a lot of work, yeah.

[00:24:25] ** Avdi Grimm: ** People don’t realize, you know, how many features are expected in an application that sells content and serves content and keeps track of people’s progress in the content, et cetera, et cetera, et cetera.

[00:24:38] ** Avdi Grimm: ** And yeah, I just, that was not the show that I wanted to be doing was, you know, I didn’t want to be like here’s videos about how to build a place that hosts these videos. So WordPress has turned out to be a really happy medium kind of between those two extremes. WordPress is just incredibly mature software.

[00:24:56] ** Avdi Grimm: ** There’s a lot of people in, particularly, the developer world that are kind of biased against WordPress and sadly against like the PHP ecosystem entirely, which I think is really undeserved. There’s a lot of really, really good people working in this space. And the ecosystem is just amazing because you can kind of build anything you want and you can get as little or as much support as you want.

[00:25:20] ** Avdi Grimm: ** You know, it’s easy enough to build your own plugins for WordPress to just do a little tweak here, a little tweak there. You know, the architecture of it really supports the idea of exposing everything it does as hooks. And then you can hook your own stuff into those hooks, which is why it has this great plugin ecosystem.

[00:25:36] ** Avdi Grimm: ** But one of the really cool things about the plugin ecosystem around WordPress is A, there is a plugin for everything, like, anything you might want to do. Somebody has got a plugin for it. And B, usually they have, like, a premium version, which comes with support. And I have had the best experience with premium plugins for WordPress.

[00:25:55] ** Avdi Grimm: ** Like, you know, people just like being very responsive to the people that are giving them money and coming back and, you know, with bug fixes or like going into the, you know, going into your site and making, figuring out why it’s not working. And so it’s like, it’s one of the rare places I’ve seen that people are putting out a ton of open-source software, but also getting paid for their work.

[00:26:16] ** Avdi Grimm: ** Because all these plugins, like the base version at least, is always open source. And then basically you’re paying them for maybe some premium features, but mainly for a support contract and, you know, and so people are making their living, creating open-source software. And I think that’s pretty cool. And it’s also, it also has done really well for my business.

[00:26:32] Dr. McKayla: Yeah, and it’s true. And so when I’m thinking about your course software, did you get a plugin for that? Or did you have to write it yourself or do you have like a plugin and then extend that on your own? How does that work? You’re hosting your videos, but then they’re also like, you know, questionnaires, for example, some quizzes, you know, as you said, you see that people, you know, it somehow tracks the progress of the people. It has to know that you’re a member that can access that course, the other course. All of that functionality, does it come out of the box with some plugins for WordPress? Or did you have to implement that yourself or was it a mixture that you’re actually getting a plugin and then you can, you know, enhance that with your own code?

[00:27:15] ** Avdi Grimm: ** Great question. So, there are two to three categories of plugins that go into a site like this. I mean, my website has a lot more plugins than that, but there’s sort of maybe three basic pieces. And one is learning management system LMS, otherwise known as courseware. So that’s a category of plugins I could probably reel off maybe six of them off the top of my head, I’m personally using LearnDash, which is one of the older ones and one of the more, probably the most popular one in WordPress right now. And it’s very mature. It’s a little clunky for me sometimes because it’s really targeting in many ways, it’s targeting like serious learning institutions where they have like accreditation concerns and certificates.

[00:27:59] ** Avdi Grimm: ** And like, you can’t take this course until you take this other course, lot of stuff that I don’t care about. On the flip side, it’s very mature. They handle all the things that I might want to put into it. They just also, also a lot of stuff that I don’t care about. And then, so you’ve got, like, there’s learning management, that’s one. There’s membership, which is like another whole category of plugins, which are generally focused around, given this account, what material does this person have access to? And that includes courses, like what courses does this person have access to.

[00:28:28] Dr. McKayla: So they work nice together, LearnDash and the membership thing.

[00:28:30] ** Avdi Grimm: ** Yeah, so generally what you see, so I’m using LearnDash on the LMS side, I’m currently using MemberPress, which is one of the more popular membership management plugins.

[00:28:39] ** Avdi Grimm: ** Generally these plugins, they work hard to work with each other, you know, different teams usually, but they work hard to work with each other because that’s where a lot of the value comes from. And so they have explicit support for each other. And then the third piece often is like your e-commerce, how you sell the thing.

[00:28:56] ** Avdi Grimm: ** And that is often a separate plugin as well. Like in the WordPress ecosystem, it’s usually WooCommerce. Sometimes it’s EDD, Easy Digital Downloads. Now I’ve reeled these off like they are distinctly separate categories, but actually almost everyone in each of these spaces will happily give you like all of the above kind of in one.

[00:29:18] ** Avdi Grimm: ** Because they all kind of, they’d grow, all gradually expand out to include each other’s features. So like LearnDash, you can do a pretty basic membership management using the groups that are built into LearnDash. You can sell courses directly. Like they have Stripe integration and stuff directly from LearnDash if you want to, it’s kind of basic, but it’s totally there.

[00:29:36] ** Avdi Grimm: ** MemberPress recently introduced their own courseware plugin for MemberPress. You can just like stick with that company if you want, as long as you’re okay with like a more basic courseware offering. They also have the storefront part built in if you want to use it. So there’s a lot of blur between these plugins as well.

[00:29:54] ** Avdi Grimm: ** Yeah.

[00:29:55] Dr. McKayla: Yeah. Okay, cool. And so are you then enhancing that, is that possible, especially if you have like the paid version, could you just write that? And then how do you keep track of your own changes and new updates that are coming from the team? How do you integrate those things?

[00:30:09] ** Avdi Grimm: ** So one of the marks of a good industrial strength WordPress plugin is that they have well-defined hooks. You know, I was talking about like, WordPress is built on the concept of hooks. They have well-defined hooks that are documented. And so, like the ones that I work with do, they have good documentation sites and they have all these hooks that you can like, here’s how you change this, you know, here’s how you hook your own thing into this particular part of the interface or this particular process.

[00:30:36] ** Avdi Grimm: ** And then, so what I have is what they call a site-specific plugin that I keep under version control, and I have a deployment system for that pushes it out to my way. And my site-specific plugin, basically just very selectively has a few, there’s a few hooks where I want to customize something in one of those other plugins.

[00:30:54] ** Avdi Grimm: ** And it just like hooks its own handler into just the, like the very specific hook that is one tiny piece that I care about changing. It’s very small. The site-specific plugin is very small. I try to keep it very small and very focused.

[00:31:07] Dr. McKayla: Okay. But so it has a valid defined API or hooks that you can really enhance. You’re not going in and hacking in their, in their code base, right? So you’re on the outside, whatever they allow you to change.

[00:31:18] Dr. McKayla: Yeah. And if you’re going to really get into this ecosystem, that’s one of the things you want to keep your eye out for is like, does it seem like these people are really supporting that kind of external hooks?

[00:31:28] Dr. McKayla: Yeah, it sounds very interesting. And I know quite a couple of people that are running WordPress websites and have a lot of, you know, like you said, WooCommerce, or like a membership sites and they’re very, very happy with it. Maybe my last question for you is around, you said you are not going to plan for five years and so on, right? But I think everybody has some, some vision you know, some, some reasons why you’d be doing things like transitioning from RubyTapas to Graceful.Dev, right? What do you see yourself, do you want to do, is there a possibility that Graceful.Dev is really your full time thing and that you’re not doing any consulting or do you want to keep doing consulting on the side? Or, you know, where are you heading towards, what’s your ideal case?

[00:32:16] ** Avdi Grimm: ** I wish I had a good answer for you. You know, I want to keep being able to do what feels right at the time, which is kind of what I’m doing right now. You know, Graceful.Dev is supporting me pretty decently along, you know, that alongside of my other, you know, other products and things. You know, I take consulting gigs as they look interesting.

[00:32:35] Dr. McKayla: Yeah, and are you a solopreneur or do you have, like, a team that really helps you?

[00:32:39] ** Avdi Grimm: ** Oh yeah. Good question. I don’t have any full-time employees for years and years. I’ve employed people very part-time here and there, only ever like a handful only ever like maybe three to five at most, at any given time. Actually five is probably more than I have, but like I have somebody that’s I’ve worked with for a long time, that handles kind of first line of support.

[00:32:59] ** Avdi Grimm: ** So support emails first go to them and then they escalate them to me. I have somebody I’m working with now who’s doing a lot of, like, helping me with content, like doing video editing or fixing up blog posts that have become, like their formatting has gone wonky or is out of date or something like that. Yeah. So I have a few people that just like very part-time helpers.

[00:33:21] Dr. McKayla: Yeah. I’m currently right now in this position of getting people and I find it really difficult finding the right people because, you know, if you’re already in this, okay, I need help now. I don’t know how you overcame that stuff, but for me, it’s like, I need help now, and I can’t grow, you know, without this help. But I also can’t really make the time to find the right people and to teach them and do onboarding.

[00:33:44] ** Avdi Grimm: ** And that is, that is the classic catch-22. And there’s no easy way out of it. You know, the point where you absolutely don’t have, like, you don’t have the overhead space to train somebody, but you need to train somebody in order to get the overhead space.

[00:34:00] ** Avdi Grimm: ** Yeah, I wish I had an easy answer for that one, like that parts of slog. And eventually you kind of pull your head above it, but it’s hard because, yeah, like the effort involved in like getting through that catch-22 is exhausting. I will say this about it. And, and this has informed my work for a long time.

[00:34:20] ** Avdi Grimm: ** This is the most important kind of scaling to plan for. I think a lot of people in software are completely focused on either financial scaling or on like user scaling, you know, the, your user base scaling up like our, will our code base support unicorn scale. That is by far like the least common form of scaling that you have to support.

[00:34:42] ** Avdi Grimm: ** The kind of scaling you need to plan for is devolving stuff from yourself. Taking, removing yourself as a bottleneck. That is the most urgent and immediate form of scaling that you’re going to face. And so one of the reasons, I have a lot of reasons, but one of the reasons that I use WordPress is because it is the dominant player.

[00:35:02] ** Avdi Grimm: ** Like, it powers like half the web now, and there is this huge ecosystem. And if I need somebody to do like copy editing, I don’t need to teach them how to use GitHub and like commit things, you know, I don’t need to find a copy editor, but then teach them how to use my special, precious bespoke system.

[00:35:20] ** Avdi Grimm: ** They know how to use WordPress, whoever they are, they know how to use WordPress. And you know, if I need to get somebody, you know, if I want some help with my site because I don’t have time to diagnose one particular bug, it’s really easy to find WordPress consultants, and there’s just so many things there where it’s easy to find people that can do the thing that you need help with.

[00:35:44] ** Avdi Grimm: ** And that’s just as a general kind of policy. That’s one of my biggest considerations when choosing anything is not, you know, not is this going to scale up, but can I scale it away from me? Can, you know, can I remove myself as the bottleneck for this in the future?

[00:36:00] Dr. McKayla: Yeah. Yeah. That’s such a good mindset. And I’m currently learning a lot with it and you know, it takes much more time and much more energy than I thought, but I also see that, you know, if you have already one person, right, so finding this one person, it means that you have to work with six different people. And then you realize, oh, it’s, you know, it’s, it’s making more trouble that what I’m getting out of.

[00:36:23] ** Avdi Grimm: ** Yeah. And I should say here, like, use my bad example for learning. I hit a crash at one point where I really wasn’t like I was, my outgo was bigger than my income. And a big piece of that was that I had, I had tried to devolve too much of myself. You know, I tried to become too big and pay too many people to do too many different things.

[00:36:45] ** Avdi Grimm: ** And the funny thing about what was happening there was that I was still swamped. I still had too little time. And it was because I had basically, you know, installed myself as a manager and I was spending all of my time helping people get unstuck and managing things. And so, yeah, it’s really easy, like once you, once you kind of start going down that delegation road, it’s really easy to go too far.

[00:37:10] Dr. McKayla: Yeah. Yeah. I think, I think one step at a time and keeping the focus like I really would like to create more content, have more of this really quality time doing what I love to do like teaching, thinking about content, writing blog posts, right?

[00:37:25] Dr. McKayla: This is really what gives me energy and less about the administrative stuff. But then, as you say, I have to be real careful not to get people adding to my administrative stuff. So, yeah. But yeah, very, very good.

[00:37:38] ** Avdi Grimm: ** I think it’s important to always know that like you can do the thing. One of my personal policies is like, anything that I’m thinking of delegating or automating, always do it manually first and do it manually for a while first and get a really good idea of what it is that I’m either delegating or automating.

[00:37:55] ** Avdi Grimm: ** And usually what I discover is that I can automate less of it than I was planning. And it’s enough. Or I can delegate less of it than I was planning and it’s enough, but yeah, as it’s always very tempting to be like, man, there’s this one aspect of my business. I just don’t want to think about at all. And so I want to delegate, delegate that part of it.

[00:38:13] ** Avdi Grimm: ** And I think that’s really dangerous though, that leads down that road of like now I’m just jammed up managing everyone and paying too much, you know, not balancing my books.

[00:38:22] Dr. McKayla: Yeah. I think that’s true.

[00:38:25] Dr. McKayla: Do the thing the hard way for a while, figure out the smallest piece of it that you can automate or delegate.

[00:38:31] Dr. McKayla: Yeah, cool. So Avdi, thank you so much for sharing all your insights. Is there something like, if there are developers out there that think, oh, I would like to have some side hustle, you know, get a little bit more independence or maybe even go full in, what do you think what is a, is a good strategy nowadays?

[00:38:50] Dr. McKayla: You know, when there are already so many, screencasts, when they’re already, you know, so many other things, so many blog posts, so many podcasts and so on. What do you think? How should people start doing it? Is a blog still a good first outlet?

[00:39:04] ** Avdi Grimm: ** There’s no going wrong with blogging. Honestly, like, it really doesn’t matter like what your plan is. Get good at writing about things. Like, practice writing. It’s just that I feel like that skill has informed, has improved so many other aspects of my business and of my career. I mean, writing about what you learn is such great practice for even if you just stay a regular developer, you’re going to be a better developer because you are better at explaining and documenting your work to other developers. And so like, yeah, there’s just no downside to getting in the habit of writing all the time about the work that you’re doing.

[00:39:46] Dr. McKayla: Yeah, that sounds good. Yeah, I think so too. I think that’s a such a good advice. There’s I think there’s so many positive things that can come, be that job opportunities or maybe you have to jump on, you know, you get better as, as you said, in your communication skills, better at communicating with your colleagues and so on. So yeah, I think this is a great, this is really a great insight. Thank you so much, Avdi.

[00:40:09] ** Avdi Grimm: ** Oh, I have one other thing on that, on that note that I should include. Start building your, your mailing list now.

[00:40:16] Dr. McKayla: Mailing list, yeah. Good idea. Independent mailing list, I would say.

[00:40:20] ** Avdi Grimm: ** You know, do that blog thing and then slap, you know, go with ConvertKit or something and slap a mailing list, subscribe on that thing, and just start collecting that snowball now, because that, it takes a long time, but oh my gosh, the opportunities that come out of having a good mailing list. There’s nothing else like it.

[00:40:38] Dr. McKayla: Yeah, that’s true. Yeah. I think that’s a great add, great addition to what you said before. So Avdi, thank you so much for taking the time and talking with me and sharing everything with my listeners and yeah, have a good day.

[00:40:53] ** Avdi Grimm: ** Thank you so much for this. I really enjoyed it.

[00:40:55] Dr. McKayla: I enjoyed it too. Thank you so much. Bye bye.

[00:40:58] Dr. McKayla: This was another episode of the Software Engineering Unlocked podcast. If you enjoyed the episode, please help me spread the word about the podcast, send the episode to a friend via email, Twitter, LinkedIn, well, whatever messaging system you use. Or give it a positive review on your favorite podcasting platforms such as Spotify or iTunes. This would mean really a lot to me. So thank you for listening. Don’t forget to subscribe and I will talk to you in two weeks. Bye.

 

Improving Code Reviews with Github’s Copilot

How does GitHub Copilot and Codespaces help data scientists to write, understand, and review code?

Do not punish learning in software engineering teams

What does it take to foster a workplace culture where employees, specifically coders, have the liberty to learn without feeling punished for it by the system? Innovation is impossible without failure, but most work cultures suffocate creativity without realizing it.

In this episode, I talk to Dr. Cat Hicks, a data scientist, a behavioral scientist, and a creative entrepreneur.

We talk about:

  • how she deviated away from a traditional path of a researcher to start her company, Catharsis Consulting, 
  • how to foster a learning culture within your engineering team
  • what learning debt is and 
  • how learning debt hinders software engineering teams to reach their full potential. 
Dr. Cat Hicks

Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: Foster a learning culture in engineering teams

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

Dr. McKayla 00:03 Hello, and welcome to the Software Engineering Unlocked Podcast. I’m your hosT Dr. McKayla, and today I have the pleasure to talk to Dr. Cat Hicks. But before we start, let me tell you about an amazing startup that is sponsoring this episode Codiga. Codiga is a code analysis platform that automates the boring parts of code reviews and lets you merge with confidence on GitHub, GitLab and BitBucket. I’ve worked with Codiga for around one year now, and I love how it guides me in discovering the, well, not so nice parts of my code base. But there is more: Codiga also has a coding assistant that helps you write better code faster. Find and share safe and reusable blocks of code within your favorite IDE on demand while you are coding. Codiga has a great free plan, and so there is nothing that actually stops you from giving it a try. Learn more at Codiga.io. That is Codiga.io.

But now back to Cat. Cat, or Catherine Hicks holds a PhD in experimental psychology and is a principal researcher in Team Lead at catalysis consulting. She has designed researchers at places like Google Khan Academy and co founded a startup that builds tools for software engineers, and she led multi institutional collaborations in online learning. So I’m super, super, super thrilled to have a cat here with me, Cat, welcome to the show.

Dr. Cat Hicks 01:30 Thank you so much. I’m really excited to be here.

Dr. McKayla 01:33 Yeah, me too. I’m following you for a long time now on on Twitter. And I was very impressed because you have a similar not the same, obviously very different. But you have a similar background, like coming from academia and then going independent. And and so yeah, so it was very interesting to see how you built Catharsis Consulting. And you’re the founder of Catharsis Consulting, right?

Dr. Cat Hicks 01:59 That’s correct.

Dr. McKayla 02:00 How did it help people with empirical research and also empirical research? I really a software engineering area, and you are now empirical researcher coming from experimental. How do you help companies?

Dr. Cat Hicks 02:14 That’s right. That’s right. So it’s delightful to connect. I think there are a growing cohort of us out there, you know, in the world who have made this journey, and there’s not really a roadmap for us. So I’m always I love to talk about it.

Dr. Cat Hicks 02:27 I like to call catharsis and evidence-science consultancy. So this means that we help partners use evidence to inform their decision making and tell their stories. And in particular, we’re very focused on meaningful measurement. So I describe it to people as not just data for the sake of data, but creating research methods that give us data that’s fit for purpose. So I try to help partners who are trying to learn something real about the world they’re working in, and how to move forward. And we have a couple

areas of competency and special focus. But we’ve led projects, it’s easier to give examples right, then talk high level. So some recent projects are, I’ve asked things like how can we find evidence that a product design change in a language learning game actually increased the learning that was happening for children using the game. Another recent project is using surveys to help a small nonprofit tell the stories of how community members that they worked with, were helping people in their own families and in their social networks, learn about the COVID vaccine and make the decision to try to get that vaccine. So both of those projects, very different scale for those projects, very different types of data. But both of those projects connected to really immediate impact, whether it was on product design, or on an intervention, and programming that help doctors have better communication with their patients. So at catharsis, you know, we try to bring a few core principles to all of our research projects. One of them is just that people deserve to understand their data, and to really use the data that they already have maybe special access to, and to try to bring the tools of empirical research to everyone, even small organizations that may not have invested in learning those skills before. So one thing that we bring in a lot of our partnerships is an emphasis on teaching those research methods and taking it not just from, you know, findings on one project right now, but actually fitting any work that you do with data into a larger plan of moving forward.

Dr. McKayla 04:39 Yeah, and it sounds really, really exciting. And it reminds me, I’m more on the training side, right. So I’m helping a lot of software engineers actually get better at code reviews, but all of that also based on empirical research that I did around code reviews, but recently this year, actually half of the year I spent on I’m a research project with this startup and help them come up with a framework on, you know, what makes developers developer experience really great. And they created a product out of that. So I can totally relate to that. And it was really a wonderful experience. But the experimental nature of research and startup somehow there was also a lot of tension, I would say, right, there was a lot of, you know, it’s very different than in an academic world, you have like these questions, and here was, every day, I want to squash the question, is this impactful? Is this impactful? Right? I don’t know if you experienced that as well. And how do you handle that in your work?

Dr. Cat Hicks 05:42 I think we all experience right, right, you know, there’s a tension between things that you’re doing for the long term and, and needs that are in the short term, and then, you know, just to be really real about it, I think there’s a lot of people who have agendas about what we’re going to find. And yeah. And I, you know, I try very hard to always work with partners who, who have told me, you know, we are going to make changes based on what we find, even if the changes are uncomfortable to us for even if it it, it helped, we learned something that conflicts what we thought was before, this is very important for social impact work, you know, is very important for equity, when you’re going to do anything that has to do with people’s well being, but it is a core tension. And I think that researchers, we tend to be people who love the truth, right? And we’re just all about finding out the truth. And that can ruffle feathers. I love to do exactly what you described, where you go from working closely with people who are living an experience, and then translate that, you know, to leaders and to organizational structures. And I think it’s a beautiful role to be in, but it requires a lot of invisible work, right of explaining both sides to each other.

Dr. McKayla 07:00 Yeah, and, and working with this tension, right, which I think, is tell for me, it was a very challenging time at a time that I learned a lot. Because I’m, you know, for me, the rigor of the methodology is the most important thing. Right? And, and then comes time for the sort of, it’s more the time and then the rigor I think, right? Like, yeah, obviously, you know, like, at least a little bit, there is the priority or they are more stressed by a timing, then you know, then a researcher probably, yeah, and so on. So you have to deal with these tensions. And I think it was a very, very interesting learning experience for me. But what I really love this, that I could see, this research transformed into a product. And this was, this was actually the reason also why I loved academia because I was missing that. Yeah, getting real, right, I created a lot of prototypes in my in my research career, and actually think some of them maybe would even have had some potential even for open source, right, maybe not making tons of money, but some open source software that people would have used. But it was never the time. Again, we are coming back to time, but in a different way. Right. So the time was up after the paper is published, the time was up to work on that. And so I felt like I couldn’t really translate it into what I would like to see. Right. And that’s why I left for example, academia. How is that for you? Why did you leave this traditional path of a researcher and and start your own company and do your own thing go independent? Right?

Dr. Cat Hicks 08:40 Yeah, for sure. So you know, I think that it’s interesting because I am a researcher who likes to study environments. So whenever you ask someone about their choice as an individual, I think you have to see it also as a choice about what was around them. So I’ll be uh, you know, I’ll be real about that. I mean, academia is very hard to succeed in, not, not because of the quality of your work, but because of the opportunities that are around. And I but I think that there was a really core piece of what I loved. So I started out working in classrooms, I started working, asking about the beginning of how we learn to learn and even in my academic work, I was very interested in being in real schools talking to real children was where I started I did a dissertation with 3 to 11 year olds, so you can imagine Oh, yeah, yeah, asking young children about their how they were thinking about mistakes and how they were thinking about learning. So from the very beginning, so cool, you know, it’s amazing how much it pays off, right? Because we all we all start there and even now I work with adults, you know, and, and yet, all of the same questions come up all the time. So, you know, I think getting I found it beautiful and amazing that people are constantly scanning around them asking whether it’s okay to make mistakes and asking who they can talk to. And I just, you know, I saw a lot of exciting stuff out there in in tech. I think the journey for me too, there’s a personal, you know, that’s kind of the problem space. But being an entrepreneur is also a way for me to carve out this role that I did not see existing. So I always felt a little bit like, I’m a social scientist and a data scientist. I’m a data scientist, who cares, you know, about how we measure things. I like meaningful data more than big data. You know, it felt like with catharsis, it was a way to make the job that I wanted to have, you know, to do these kinds of projects.

Dr. McKayla 10:47 Yeah, that’s exactly what I did as well. I love create the job that I would like to do that, then that I feel like I can strive it.

Dr. Cat Hicks 10:57

And it takes courage. Yeah, no, you have to have to say, I know this is valuable, which I think you do as a researcher, just like you were talking about that startup, sometimes you have to be the person who’s saying, I know that this will pay off if you will do it, you know, you haven’t measured it. So you can’t see it yet. But I know it will. Because I’ve been there working with people and I see their pain and frustration or whatever else. And then they build it into a product. Right. And it does pay off.

Dr. McKayla 11:23 Yeah, exactly. Right. Yeah. So I looked at your newest report, which was super interesting for me, because it is around the software engineering teams. And there you shed light on the learning debt that we have, and how that can affect engineering teams. Can you tell us a little bit more about what this report is about what this software? Or what is research actually investigated? Or looked at? And what is what is learning data? And why do we have it as software engineers?

Dr. Cat Hicks 11:56 Yeah, great question. So as a part of Catharsis’ work, I can occasionally invest in this sort of work basically, for the field. So this is a report I did, because I found it really interesting, and shared publicly, and it’s called coding in the dark. I interviewed 25 software engineers or developers, and I asked them to share about their active problem solving as they were ramping up on an unfamiliar codebase. So this was people talking about their real jobs right now. They shared about code review, they shared about how they asked for help, how they collaborated. And I’ve shared a lot about, you know, what we talked about. And essentially, you know, what I found was even at these really big tech companies, most of the people I was talking to, we’re all at big tech companies. Even at these places, people’s experiences were really quite frustrating. So I called this report coding in the dark, because that was a quote from one of the people I interviewed, describing how they felt every day, like they were showing up, and the lights were all off, you know, and that they were having to fumble their way through learning without any help from anybody. And there was this core tension that they experienced between feeling like it was so important to learn to build their understanding, to experiment, iterate, but then when they showed up, you know, to code review, and to other moments where they were being evaluated, that learning was not being valued. So I described this cycle, you know, of needing to do this work, and then finding it devalued. And going back to your kind of heads down at your desk, you know, I describe that as learning debt. And learning is essentially the dynamic that happens when people know they need to put a lot of effort into learning. And they know that the kind of work they need to do requires these mistakes. And it requires this long term understanding. And there’s kind of all of this stuff that you’re doing that’s sort of invisible, because it’s not showing up in your productivity. And they also know that the environment around them is only measuring that short term productivity. So in this kind of environment, where there’s a lot of learning, debt, accumulating, essentially, you know, learning you have to be do that you’re not getting rewarded for there’s also a lot of performance, pressure, and what’s worse, you know, things like documentation, writing code, comments, trying to help other people, you can actually feel actively punished for doing that. Another quote in the one of the interviews I led was that learning would be seen as a waste of time. And I think one of the engineers called documentation and code comments, a red flag about your abilities as an engineer. So you can imagine how that feels. You’re in an environment that’s telling you to do all this complex work, but also telling you that it’s a waste of time if you help anybody else. Learn from what you’ve learned. So, you know, a big conclusion that I have in this report is this debt cycle this learning debt cycle can accumulate

damage for a long time because teams might look very productive on the surface, but you’re building what’s really an inefficient experience for learning. So I’ll stop there and kind of Yes, more.

Dr. McKayla 15:09 So yeah. Tons of question for now, the first one is really what kind of persona did you interview? You were saying people that are new to a code base, but it is, are you? Did you ask them when they were onboarding? And is that the onboarding experience for people? Or is that somebody that’s already on a team, but within you problem, it sounds more like an onboarding, experience. And, and, and heavy onboarding experience. But

Dr. Cat Hicks 15:37 yeah, it was a mix, it was a mix. So I think that one thing that’s interesting is that you might think, Oh, this is somebody who’s just new to a whole company, you know, they’re experiencing the, but actually, I found this was a repeating cycle. So some people were fairly junior, you’ll see there’s a, there’s a cross section of seniority. So we really wanted it is a qualitative project. So it’s, it’s not intended to be a representative sample, I think, you know, follow up surveys on this kind of thing would be really, really fun to work on. But in this cross section, we did have a good number of junior folks, but also senior folks, even a couple people who are leading the engineering teams at their organization, I did ask them to bring in an exam, think about before the interviews, when they were a recent problem they had of basically trying to understand someone else’s code. So if this for some people, this was a really brand new codebase, right, like the whole thing as they were joining a company, but for some people, it was just a piece that they hadn’t really touched before. So yeah, it was happening really all over the place. Right? Yeah. So the

Dr. McKayla 16:48 other question that I had, when I tried to envision this is, what kind of learning because there are many things that are you know, that we can learn as software engineers, and I feel that everything that has to do with technology is rewarded, and is seen as something, you know, that that you get some credit for at least, and that it’s also very internally, a lot of engineers like to learn new technology. But then if you’re coming to code basis, the main knowledge, right, all the work that you have to do to understand this piece of code for code review, and so on, right? I can maybe relate more than this is the kind of learning where would see this, you’re, you’re supposed to already know it. Right? So let’s skip that step. You know it, and then you do your productive work? And why do you you know, this is somehow the invisible thing? Is that is that, you know, is my just guess, here? Is it going in the right direction? Or what kind of learning? Did you? Did you investigate here?

Dr. Cat Hicks 17:48 Absolutely. And I love that you have called out the complexity of learning. And you know, it’s learning is a big word for a lot of different things. Right. And, of course, you’ve had some really phenomenal thinkers who have broke out on this podcast that I’ve really enjoyed, who’ve talked about, you know, productivity is not one thing, satisfactions not one thing, the same could be said for learning. So, you know, I, I thought a useful contribution in this report would be to talk very broadly about the beliefs we have about learning. But the actual specific examples are a lot of different things. And I think it does map on right to, to exactly what you said. So developers feel like, Oh, if I’m learning a new language, or

a new piece of, you know, a new tool, something that’s very explicit, right, that’s easier to defend. And it’s easier to justify. But the focus is always on the technology, right? And the production and not so much on, oh, now I really understand how this other team has a mental model of, you know, this connection piece, or I really understand this dependency that happens. And I understand these trade offs.

Dr. Cat Hicks 18:55 So you know, there’s actually a tremendous amount of content I got in these interviews, that’s not even in the report, because it was so much. I think it could be another report on the kind of active learning that they were doing. And a lot of it felt, you know, almost secretive, like people were saying, oh, you know, I’m sure no one else has to do this. Like, I do have to go back and remind themselves, you know, because I don’t want to talk about it, because I’m afraid I won’t look like an engineer. But the reality was, to me a lot of that stuff, like thinking about the trade offs of different decisions you made thinking about whether a design decision, you know, that we put on paper really was that way in the code and even questions that are kind of like, is it worth the investment to fix this inefficient piece when I could instead be working on this other piece? You know, these are very abstract things for people to be thinking and learning about but they’re really, really critical. And I was reminded to, there’s a lot of myths around learning, right? And as a social scientist, I recognize some of these myths. So people will tend to think, once I learned something, it’s just learned forever, right? It just goes into like, my brain is a bucket, and I just dumped something in there. And it’s always gonna be there. But actually learning is really a behavior over time. So the mourn environment cannot see it as shameful, but see it as beautiful and productive and great that sometimes we’re asking each other for help. We’re reminding ourselves how things work, you know, and you see that when developers talk about googling for answers, right, and asked on Stack Overflow, and all of these other kinds of things that people do. But it was interesting to me how much they hid that stuff from their environment. Yeah,

Dr. McKayla 20:44 yeah. Because the real engineer knows all the keyboard shortcuts.And I think it’s so it’s so true, what you say, right? So learning what is learning? And if we are making a decision around trade offs, I think very often it’s not framed as learning. And then it’s also how, you know if I can write it down. And you know, if it’s not in a book, if it’s a very specific instance of something, another general thing that I can learn. What does this even mean? Right? So we learn, for example, about object orientation, and you know, how to how to have objects, but then to really think about this piece here. And the instance of should I create an object here? And how should the object look like and that I have to think about that is a little bit shameful, because, obviously, I learned object oriented programming. And so it should be easily coming to me, you know, what methods I should put in here, or naming, right? naming a method? Yeah, it’s also learning somehow, or we have to put the time into, and then it’s hard. And even though we make jokes about it, if somebody sits next to you, and you have to think about a good name, and only stupid names come to your mind. It’s horrible.

Dr. Cat Hicks 22:07 Yeah, and I think you’re, you’re, you’re pointing out something that’s actually really, really important here, which is, you know, there are good jokes and bad jokes, right. And we’ve, we’ve been around, we’ve all probably been around someone who has made a joke, you know, that has made us feel really

bad about how we learned or a mistake that we made. And this is something that came up in the report to that, you know, I think one of the quotes was, I’m always watching, like, I’m from a junior code writer, or someone said, I’m always watching the senior members of my team, because I want to know, what an engineer is supposed to sound like. And that can be really beneficial. If the people around you are saying things like, we all make mistakes, we all forget something, you know, we all help each other. That’s a good learning culture. But a negative learning culture, right? A bad culture is a place where people are, are saying, oh, you know, don’t waste your time, like doing this documentation. Like in order to get ahead, what you actually need to make sure you’re doing is putting on this performance. You know, things are very multifaceted, as you know, all of these things are always happening at once. But I do think that there’s in engineering culture, there’s a lot of myths around what brilliance looks like. And this is where I’ve pulled from some research from people like Andre Symbian, who’s done some work on, you know, when a field thinks that you don’t make mistakes, you have to just be born brilliant, then that is a story. That is not how it works, right. But we’re all kind of upholding that myth.

Dr. McKayla 23:41 Because we all want to be the 10x Engineer, right? And then we had to have 10x engineer. Oh, my God. Yeah. No, but something.

Dr. Cat Hicks 23:51 Yeah, something that, you know, just just hurts my heart, honestly, to is is like, the people who people do this work, right. People do mentor other people, they do support learning. And that actually is what creates 10x results. It I mean, investing in learning is one of the most evidence backed ways that we have to you need to do work together. And I had, if we could see it as something that we are sharing, and that we’re all working on outside of ourselves, you know, it’s it’s never about, you write bad code, I write bad code. All right, fine. Like we work to make the code better. It’s outside of us. And it does not tell me who you are as an engineer. In fact, a good engineer is someone who’s written a lot. Yeah, I mean, we need to, you know, we need to improve things and give feedback, right. But I think we need to value the messages that that feedback sends.

Dr. McKayla 24:47 Yeah, I think that I want to come back to this different kinds of things that we learn and, you know, writing good code, whatever that means. And it’s also I think, changing over time. What is good code, right, whatever, what is a good way to write code but a good applications, how to structure them that also evolves? But again, I would say this is this textbook knowledge, right? And then I think what’s, and this comes back to code reviews and to the data day to day work that we have to do and to productivity a lot as well, is this constant learning? Right? I cannot stop learning. I cannot, you know, it’s not like, Oh, now I work. You know, obviously, you get better at this code base, and more familiar with the terminology and with your, how your team works, and so on. Yes, right. But still, even if I’m at this team for three years, and have worked with this code base for X years, right? If I have a new change that somebody else wrote, then I have to look at this code. Yeah, starts right there. And you know, and I cannot come in and have this full bucket of knowledge of how that works. And then, you know, supposed to already point out what was going wrong here. And maybe it has to do with how we measure time, and then a lot of people I think, have really problems with time, I have a lot of problems with time, like, when when should I leave the house to be on time, right? And I think very similar, we

estimate, for example, how long will it take to make to look at this code and give comments. And very often people reduce that to the time to make the comments, but this learning part that is never stopping continues and will have been added nobody wants to talk about and you know, nobody actually wants to have and nobody has time for it. That’s that somehow gets forgotten or is forgotten. Right? Yeah. Oh, I

Dr. Cat Hicks 26:42 agree. I agree. And I time came up a lot in these interviews. And it doesn’t surprise me because, you know, we all have felt this time pressure. And what I kept asking was, you know, if you’re experiencing this time, pressure, like, what is the the first thing that gets cut? is, honestly, to me some of the most valuable stuff, and that is really hard for people. So, you know, there is a sense in which I think I totally agree that doing this work, the learning will never stop. And you’ll you know, it can feel a little overwhelming. But I think that that’s a reason to say, you know, what success is not you getting to the end of your learning. Like that’s not what success is success is having enough space to make a good decision instead of a bad decision about how we move forward. And I, I did see people go through that. And actually, you know, I agree that it’s very difficult sometimes with this work to predict how much time it’s going to take. And I experienced that with my own work. People ask you to do a research project. And you say, okay, like, it sounds, it all sounds good. But I need to get in there and see what the truth is. And we might learn, it’s way more complicated. So I think about things like, you know, can we have measurements of productivity, that is dynamic, that we’re able to come back to and change it, and I think people will get get very, very frustrated, you know, when they are assigned a project, they dive into it, they do all this learning, actually mapping out how complicated it is, is a very valuable piece of learning that they’ve done, and they turn around and they want to share that with somebody, and there’s no way to share that, you know, there’s no way to kind of get credit for it. So that’s, you know, that’s one thing I think about is if we can make some of that more visible, right, like, like, allow you to use the learning and share it with collaborators, I think that people really enjoy that they feel the productivity of it, even if your goals of the project change. Another thing is, you know, can we talk about where time pressure makes sense? And where it doesn’t make sense, right? So can we prioritize and and see the cost of putting everyone under a time crunch all the time? And where that is just creating these learning cycles? Yeah. So

Dr. McKayla 29:06 what I want to understand a little bit more is, there were definitely some outcomes from this report, tell us how prove right? How can we reduce these learning that how can we have this growth mindset? How can we, you know, how can we in our at least in our engineering team, a celebrate learning and make it a bigger priority? What are some of those outcomes? What can you suggest engineering teams that want to improve their learning experience? And, and the valuing of that?

Dr. Cat Hicks 29:40 I think there’s a piece of this puzzle for every different role, right? So, you know, from leaders, from engineering leaders, these people could have a really outsized impact on the culture and I think that you know, a lot of places will put a poster on the wall that says everyone could learn or or maybe there’s a bullet point in a slideshow about like we’re alerting culture. But if you go to work and you see someone actually get rewarded for a complicated learning situation like, hey, you know, we gave, we

told you to go try to do this thing in the codebase, it turned out the thing we, you know, the thing that we proposed was not possible to do. But you did all this learning, you figured out a better way forward, we’re gonna celebrate that instead of, you know, coming down on somebody for it being not what we expected, those kinds of moments. And I think leaders have the ability, you know, to, to notice that to try to push themselves to amplify that that can have an impact. Another thing I would suggest, you know, that I suggest in the report is, we honestly need to separate some of our development feedback from some of our performance feedback. So okay, I don’t know how many conversations you’ve had with engineering friends, about perf cycles. But perf cycles are a huge source of stress. And even though we have invested, this is a whole area of research this ton of people, you know, who look at this, but even though we have invested huge structures into it in tech companies, a thing that I keep seeing as a learning scientist, is that we are rarely letting people have psychological safety to talk about them learning. So I think that a very simple step that leaders could take, is to make space to separate when you’re talking about how you want to learn and grow and develop and maybe explore areas of growth for you. And separate that from promotion, performance, reputation management times that you are trying to defend yourself, which is very difficult, you know, you can’t really do those two things. At the same time. I have a number of other recommendations in the report, you know, I think that there are some simple steps like, have we put any time in our calendar for documentation? Or are we just acting like that’s gonna happen magically by itself? You know, so there are small and big steps to try to make yourself a learning culture. Does that all make sense?

Dr. McKayla 32:05 Yeah, totally. And I think documentation again, is, maybe it’s the last thing that I want to talk a little bit about. Because I think there again, we have these two different kind of learnings of information of sharing. So you have this external documentation of how things work, right? And, and people agreed, and you know, in API needs documentation, but then the nitty gritty part becomes a little bit translucent, right? It’s like, oh, this method, actually, you should be able to understand it just by looking at the code. Otherwise, the code is not good. And don’t put a comment there. That’s really bad. Right? And I, I, sometimes I, I really can’t understand the problem here. Because while it’s great, if you know, and there are different learning types, and you know, in different people that maybe somebody is easier, you know, it’s easier for them to look at the code and really get it then skip the skip the comment, right? And some people like the comment, and it gives them context. And you can really know in, in, you know, native in your native language or in in, you know, in written language instead of code. But again, here, there comes this the myth a little bit as well, right? We say, well, code shouldn’t actually be documented. And you shouldn’t need documentation to read this. And there is also some research around that. And they showed that if there are comments in the code, people are slower with reading the code. But why? Because they are reading the comments. Right? And would they read the comments if the comments are useless? No, they are reading the comments, because they’re actually helpful. Right? And

Dr. Cat Hicks 33:45 that’s such a good example. Yeah, that’s such a good example of a measure that like is taken to be a negative measure. But why it might actually be a positive measure? Yeah. Yeah, I think it’s, you know, you bring so much rich lived experience on this, and I love hearing it because it’s, the reality is that these are going to be contextual decisions, like a code that was as you said, code that was good,

quote, code, quote, unquote, in one time, my deal if the context has changed, and then that then, you know, you need to make a different decision. And I think that there’s, there’s there were these interesting quotes, you know, when I interviewed people about who, who is this for? Is the documentation actually, for me? Or is it for, you know, like, some idealized scenario where we’re describing the technology and point of view that I have in my consulting, you know, is that I like to focus on people as the heart, you know, and that code writers as learners, like if we, if we take this approach, where we center they’re learning, we can be a lot less afraid of things like sometimes the trade off is that you have more comments and that that doesn’t work for all situations, but you have preferred did some really deep losses in efficiency and invisible losses that are happening? So if someone’s able to ramp up a lot more quickly, that’s a huge game. And I think something difficult about it is that sometimes that gain is really invisible. But you know, it’s, it’s not really possible to have a single way of describing code that’s going to work for everyone who’s ever learning. Yeah. And similar to measuring developer productivity, I think it’s, it’s a question of what is the best thing for us right now. And what’s going to pay off the most, even if it slows us down a little bit in this way, then I think it will really pay off. If you know, later, this person who we gave all the support to is able to become this champion contributor. And I just think, you know, I use the learning debt cycle, like the learning debt metaphor to, to evoke tech debt, because we understand tech debt right in this field. And we understand that technologies with all these dependencies can start to break apart, even if it made sense when we built it. And I think the same is true for collaboration. Yeah,

Dr. McKayla 36:11 Yeah. Yeah, there’s so much goodness in that. And I really want to dig into the productivity. So maybe what I want to do is I’m going to invite your again, a whole episode just on productivity if you’re up for it. Yeah. And then we can really dissect that, because I would love to hear your, your opinion also on, you know, you mentioned or hinted a little bit towards that. Can we measure learning as part of our productivity? Right. And I had a podcast where was just me talking about productivity. And there, I was asking the question, I was saying that all these productivity measure that we have focused around activity, right, coming from an area of the industrial age, right, where, well, it was the activity that better Yeah, exactly. And it was that the activity that we did, right, you had only to do very mechanical tasks, and the small task, and so you could count them, and so on. And all those measurements actually stem from there. And now we put them on knowledge workers, were probably the most productive thing is that I’m sitting here doing nothing, but I make a really good trade off this session. Right? That’s right,

Dr. Cat Hicks 37:21 that’s right, or you help someone else and they do something, I would love to have that conversation. And I do think there are ways we can measure learning. And you know, if anyone is going to be listening to this, like, go to your team right now and ask, what are the things that we do that really make a difference, that are not being captured anywhere that are not being rewarded? Like what is the stuff that you know, is important to do to keep this all of this running? And they will tell you?

Dr. McKayla 37:53 Yeah, yeah. And coming back to what you say, with the sharing, I think what I have seen work really well is small things like brown bags, right? Where we come together, and somebody just explains what they have learned this week. Or if you go back to code reviews, right, that you that every Friday, for

example, that’s happening on GitHub every Friday, they are sharing, and sometimes they are sharing, what did I learn this code review? That was really excellent. Right? You know, it’s a comment that, uh, no person really took the time and gave me great comment. Or I’m showing some code that I have seen that I haven’t seen before, or, you know, some some Yeah, paradigm or something that I’ve seen. So and we are sharing, we’re making some of those very implicit things that are internal that are not, we are making them explicit and sharing them. And I think this is a celebration, as you said, I think those are themes can maybe do to celebrate what’s also often referred to as blue work, right? Oh, this, this colleague helped me or that person, you know, they didn’t work on their ticket, which had them for their promotion, but they actually went out of their way and did this and that, right. And so, we open openly sharing this and making it explicit. And I think, especially in our remote world now is more important, right, that we have shared that somehow. Yeah, no, I

Dr. Cat Hicks 39:16 think that that’s a beautiful point. And really, really important. And, and something that I also thought, you know, something again, that people people said in the interviews, which was, I want to see specific examples. I want to sit next to somebody and see them, see them code, you know, and, and that just I think people don’t know how much that doesn’t happen. I think they assume it’s happening or they say, oh, go get coffee, you know, with this person who wrote the code, you’ll, you know, go talk to them. But people often struggle, especially if you’re remote, you know, if you’re new person, there’s all kinds of ways in which people you know, reasons that people might not ask for help. And as I told you, I started out my career looking at Three and five year olds and in classrooms and when they ask for help, and even when we are four and five years old, we’re looking at the people around us. And we’re asking, Can I Can I ask for help? Can I talk to you about my real learning? So that continues? And the more you see those small messages, and those small social moments can just have a huge impact.

Dr. McKayla 40:23 Yeah, yeah. And I think team culture and psychological safety, and all of that is so important. And it’s, it’s, it’s not something that you can just fix by doing three things today, right? It’s something that you can start. But it’s a continuous process. And I think this is one of those very rewarding things and you know, things that pay off, but are a little bit invisible, that you have to constantly work on that right, and that you have to raise the bar and say, we are actually allowed to have questions be wrong, you know, growth mindset, and I think it’s really, it’s a continuous work in a team, but the teams that managed to do it, they are so much better off than That’s right.

Dr. Cat Hicks 41:07 And it just is a beautiful part of it, you know, I try to make these problems easier for myself, and for other people by saying, who’s already doing this, right? Like, how do we give them a stage to do it? Like, you’re who’s the person that someone always everybody goes to this person to ask for help? You know, how do we make sure that they are instead of being like, burdened by this invisible work, they’re actually rewarded for all this support that they’re doing? Yeah.

Dr. McKayla 41:34 Yeah, that’s so true. Well, it kinda, it actually brings us to the end of this show. I said, I’m going to bring you back. If you have time. I will continue. We can continue this discussion a little bit more. But is there

anything that you want to tell my listeners, maybe that you think, you know, wraps up some of the learnings that would be powerful for them for the software engineering teams? How can they, you know, be in a better place? What are what is the one advice, you know, that you would give them?

Dr. Cat Hicks 42:08 Yeah, great question. How, what a lovely question to be asked, you know, I think I end the report that I recently released, saying, learning matters. And I would I would like to leave with that, which is that, you know, learning matters and measurement matters. Like whenever we measure something, I think, Who is this measurement for? And is it bringing us closer to this culture that we want to have, you know, where we feel free and happy and, and like, we’re all learning together, which is what we need in order to tackle these huge, complicated problems in the world, you know, we need to get past some of these myths about where brilliance comes from, and the myths that we all need to hide, you know, are learning from each other. But that people will only be able to do that if we make the environment around them safe. You know, so it kind of comes from both sides from from us building the environment as individuals in it, but also from people who are able to kind of say, well, I’m gonna, I’m going to do something to make this environment safer. So that’s what I would say, you know, learning matters, it pays off. Let’s let’s work for it.

Dr. McKayla 43:18 Yeah, that’s beautiful. That’s really great. So thank you so much cat for being on my show. And I will definitely ping you again and ask you for more of your input. Thank you so much. Okay. Bye bye.

Dr. McKayla 43:35 This was another episode of the Software Engineering Unlocked podcast. If you enjoyed the episode, please help me spread the word about the podcast, send episode to a friend via email, Twitter, LinkedIn, Bell, whatever messaging system you use, or give it a positive review on your favorite podcasting platforms such as Spotify or iTunes. This would mean really a lot to me. So thank you for listening. Don’t forget to subscribe and I will talk to you in two weeks. Bye.

 

Are happy developers more productive?

Are happy developers more productive? Let’s look at some research together and explore whether happiness and satisfaction affect developer productivity.

Measure developer productivity using the SPACE framework

Dr. Storey explains how to best use the SPACE framework to measure the productivity of software engineering teams. Dr. Storey is a Professor of Computer Science at the University of Victoria and a distinguished expert in empirical software engineering.

We talk about:

  • Productivity metrics for software developer
  • Developer experience as a different mindset to improve developer performance
  • The SPACE framework, which focuses on giving a well-rounded understanding of developer productivity. 

Book your awesomecodereview.com workshop!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: Measuring Developer Productivity with Dr. Margaret-Anne Storey 

[You can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

[00:00:00] Dr. Michaela Greiler: Hello and welcome to the software engineering unlocked podcast. I’m your host, Dr. McKayla. And today I have the pleasure to talk to Dr. Margaret-Anne Storey. Dr. Storey is a professor of computer science at the university of Victoria and a distinguished expert in the field of empirical software engineering.

[00:00:18] I had to pleasure to work with Dr. Storey on many occasions. Even this year, she joined me during a research I led on developer experience, looking at what makes developers happy and productive and leads them to stay longer and more engaged in their job. Today, I have her here to tell us more about developer productivity and especially, I want to know how can we measure it? How can we improve it? And so I’m super happy to have Dr. Story or Margaret-Anne, or actually Peggy how friends call you. Here on my show. Peggy. Welcome to the show.

[00:00:52] Dr. Margaret-Anne Storey: Thank you very much, Mikayla. It’s great to be here.

[00:00:55] Dr. Michaela Greiler: In the last episode. I talked about my perspective on developer experience and developer productivity and well sort of, there was a little bit of a conclusion, uh, bottom line, which is that I think organizations and teams should stay right away from focusing on measuring develop. productivity and more think about developer experience. This means like, how do the developers feel about their work? Are they, are they feeling productive or are they happy? You know, do they feel that they make progress? Are they bothered by some tools and so on? But what is your take on measuring productivity?

[00:01:32] I know you did a lot of studies there, so you have a lot of expertise. What do you see? think?

[00:01:37] Dr. Margaret-Anne Storey: All of my research that I’ve done over the last few years has really pointed towards taking a lot of effort and understanding what you mean by productivity before you try to measure it. So what does productivity mean to you? I know that in your last podcast, you mentioned the space framework, and that is the summary of a lot of years of research that shows that, that there are many different dimensions to productivity.

[00:02:01] To some people it’s about pull requests or lines of code they committed or features delivered to the customer or ability to be able to learn something new or help other people. You can’t just say that there’s one way to understand productivity or define it. There’s many different ways and consequently, there’s different ways of measuring it as well.

[00:02:23] It’s interesting to say that we shouldn’t measure productivity, but the fact is a lot of companies will still try to do that. And I think a lot of developers also try to think about how productive am I being? Am I being as productive as I think . I really like this pivot towards thinking about developer experience, which is what we worked on together.

[00:02:45] And you invited me to join that wonderful project that you’ve worked on. And I loved that because a lot of my earlier research really distinguished developer satisfaction from developer productivity, they’re definitely related. So more satisfied, happier developers will be more productive and feel more productive and vice versa.

[00:03:05] But there is this difference. Developer productivity to me really it’s about measuring what they do, right. Or how they do it. The amount of work that they were able to do, or the amount of value that they provide, whereas developer satisfaction or developer experience is more how they feel.

[00:03:22] And those are two quite different things. So I really like that nuanced change that you brought to that through developer experience.

[00:03:32] Dr. Michaela Greiler: You brought up two things, which I think are also in my opinion, two extreme different things, which is the things that they do and the value that those things bring. I thought about this, especially in my entrepreneurial journey it even impacts me much more, so that everything that I do should also lead to impact and have impact and have value.

[00:03:54] Sometimes I see in literature that it’s productivity versus performance where performance, a little bit more output oriented. But even there, I think it’s really hard to grasp . So what is productivity? In my last podcast, I was comparing it to the industrial age where we really have off producing something which comes back to lines of code, and impact has nothing to do with lines of code.

[00:04:16] You can have one line of code in. it can have a huge impact. It can be a drastic bug, or it can be a line of code that really is such a satisfying thing for the customer. I think there are really a lot of nuances, and I wonder, people very often, I see them measuring productivity because it’s the easier metric. I actually really liked the SPACE framework. I’m super inspired by it, but I’m also a little bit skeptical on the metrics side of it. I think it’s so great to have it as a mental model to think about productivity in all those different variations. But then on the end we have like these metrics that are very isolated and then we try to stick them together.

[00:05:01] As I understand it. Right. You’re the expert here. So I I’m happy to hear much more about that, but so we should have different dimensions and take at least three or something. Um, but then in the end, like we were taking very different metrics and how are we going to combine them? What will the combination tell us?

[00:05:18] Can we even interpret it? So these are all questions that are racing up in my hat. What do you think about that?

[00:05:25] Dr. Margaret-Anne Storey: I’m not a fan of developing a lot of metrics, honestly. Let me just maybe step back a little bit and just remind our listeners what the SPACE framework is about in case they didn’t get to listen to your last podcast, which by the way was great. I loved your discussion. SPACE framework is very much an overarching framework to think about different dimensions of developer productivity. The goal behind it wasn’t so much defining metrics, but just thinking about when we talk about productivity, what are the dimensions about productivity that we may mean, or other people may mean. So SPACE is an acronym, and the first letter is S and that stands for developer satisfaction and wellbeing. If we think about understanding developer productivity or improving developer productivity, if we make some change, say to improve developers productivity, we need to think about the impact of that change on developer satisfaction and developer wellbeing. The second one is P which is performance. So performance or the outcomes or the quality of the work that you’re doing. And again, what performance means really varies from developer to developer, engineer to engineer, or managers. They all have different views about those performance outcomes that they care about.

[00:06:44] And then the last three dimensions, the A is for activity, which is what a lot of people think about when they think about development productivity. They think about lines of code. They think about pull requests. They think about features that are delivered to the customer. So that’s kind of the typical one that developers tend to think about when you ask them about developer productivity. C is communication and collaboration. In the research that I did with now, thousands of different engineers, when you ask them, what does being productive mean to them?

[00:07:15] For many, they say it’s about collaborating with others. How well I helped others and how well I collaborated with others. And that’s not surprising because software development is such a collaborative activity. You don’t write code by yourself anymore. And then finally, E which you also touched on is how efficient I can be. My ability to be able to get my work done without a lot of interruptions and my ability to get in that very pleasant flow state, so that I really feel immersed in the work that I’m doing. The work that I’m doing, isn’t so challenging that I feel overwhelmed, but it’s at that sweet spot of being challenging enough that I feel that it’s very rewarding.

[00:07:53] Arty Starr also talks about flow in her book called flow about software development, and talks about the joy of development, which relates again to that experience and developer satisfaction. The SPACE framework honestly is very high level because it impacts all of those things, right? It impacts how developers feel their satisfaction and their wellbeing, the performance.

[00:08:15] So the quality, the outcomes of the project that you’re working on, or the tasks that you’re doing. And then it also looks at the activities that you do and then how you collaborate with others. And then that efficiency and flow part, which again, relates into satisfaction and has an impact on performance.

[00:08:32] So these dimensions, they’re not stand alone dimensions. Maybe you make a change that makes developers feel more satisfied and their wellbeing goes up. So for example, you make a change that allows developers to spend one day a week learning something new.

[00:08:47] That could have an impact on their ability to collaborate with others. If they don’t all work on that same day, they won’t hear back from others and it might have an impact on their activity, at least in the short term. So you have to think about these together. In the SPACE framework paper that we wrote about, we spent a lot of time talking about these different dimensions and the fact that there are these different metrics. None of us, I think really believes that, okay. Take SPACE, choose three dimensions and then choose three metrics and you’re done. That’s not really the best way to use it. However, doing that would be better than choosing one metric.

[00:09:26] The benefit from space comes is thinking about these different dimensions and thinking about. What is it we understand about these different dimensions. What do you, and I understand about activity and what that means to have more outputs. When I say software quality, what does that mean to you? What does it mean to my peers on my team? What does it mean to my manager? What does it mean to my manager’s manager? And when I say that I’m spending a lot of time collaborating. What does that mean to you? And what does that mean to other people and so on. So really thinking about those different dimensions, realizing that any change in one is going to have an impact on the other dimensions and coming back continuously to reflect on those and to reflect on how do we each think about these and how do we each think these will be affected if we do make a change to try to improve overall.

[00:10:18] Dr. Michaela Greiler: One thing that came up also in the developer experience work that we did is this idea of between short-term and long-term. And I think, especially in measurements are falling short in that regard, right? With your example where you have wellbeing coming or going up because they’re spending one day learning and then two other dimensions going down because now they have less overlap for the collaboration and they are writing less pull requests or lines of code. There’s also another dimension, which would be maybe learning right. And learning then in terms of what’s actually the performance of the engineers? Do they create better things, maybe they are inspired and all this becomes really intangible. How do we measure it? Is it happening right now? Maybe it’s happening. We see this. If you measure the things wellbeing, let’s say we have a survey and we ask people and we see well-being goes up, then we see from Git, well, the commits go down. We see maybe collaboration overlaps go down. We can measure that as well, but what’s really hard to measure here is that, maybe somebody has an innovative idea. Or maybe somebody had this idea and learned something and this saved us from a bug or created the more maintainable software system because of the things that they learned here.

[00:11:35] This is a little bit my critique point here, and I really like your stand on it. It’s just a mental model to help get all these different dimension, a little bit more organized, because there are so many things floating around. So this helps us looking at the SPACE framework.

[00:11:50] We can at least go through some of the dimension and we’re not measuring it, but we make a thought experiment like I did right now and say we have a very strong feeling that in the long run our engineers will be more innovative. We’ll be up to date. They will learn. They will maybe stay longer with us. I know that for every job that I was stuck, where I felt like I’m not learning. I was very unhappy . And I think a lot of engineers are like this, they want to learn. so I think maybe it’s a nice mental model to think around those things.

[00:12:20] Dr. Margaret-Anne Storey: That’s a really good summary. I’m going to just mention some of the more recent work that I did with Brian Hopkin and Tom Zimmerman, where we looked at alignment between different developers and their managers in terms of how they define productivity.

[00:12:34] And we also ask them how they define software quality. And what we found is that there are many, many different views of what productivity and software quality mean. If you’re saying to somebody, should we use this new tool? Should we allow engineers to spend time learning?

[00:12:51] You have to unpack what are all of your assumptions about what the impact of that change will be on developer experience or the quality of the product, whether it’s in the short or long-term and literally expose all of those assumptions, but also expose what it is that you don’t know.

[00:13:11] If we make this change or introduce this new tool, what are the things that we need more information about? And often enough, I’ve sat in on a lot of meetings and people are using terms like productivity and quality, and it’s clear that they don’t even mean the same thing. And yet they’re in these meetings trying to make decisions, and these decisions are very strategic and the decisions are often made without really unpacking.

[00:13:37] We have comfort when we have signals of what’s going on, but software development is a very complex sociotechnical activity and you can’t reduce it to these very simple metrics.

[00:13:49] This came out in the work that we did too Mikayla, but not everybody’s the same, right? Some engineers might be happy not knowing what the impact is and they may be happy helping the people around them. And that’s what they really care about. I helped four people today.

[00:14:06] I’ve worked with people like that. They’re not egocentric at all. And they’re less focused on understanding the vision. They’re happy to help the people around them. There’s no single way to measure this, even if we use surveys as well.

[00:14:19] Dr. Michaela Greiler: There’s so many good things that you just said that I want to touch upon. why are organizations striving for measurements? the higher up, the more we want some tools. We want to understand the world. And I think it’s this idea of models. Of abstractions, because it’s just too hard to grasp. So if you are the team lead and you have like five engineers. You probably have a really good idea of how things are going.

[00:14:45] Are we productive. Are we performing and so on? If you then the manager of managers and you have a team of 50, I think it’s really hard to understand everywhere. Like, are we doing good? If you have an organization of 500 engineers, it’s like, I’m flying blind, right? I’m still really, really skeptical about building a model, which is so abstract that every model is wrong, that it doesn’t reflect the reality.

[00:15:12] And it doesn’t really help us. And I like what you said about, there are things that we know, but there are unknown unknowns? We don’t even know what we don’t know. And I think a lot of. Our activities in engineering or some of the else is about the unknown unknowns.

[00:15:27] We have to make decisions with the information that we have right now, to the best of our ability. And I’m really wondering if those metrics, if they’re helpful, or is it just that we feel that it’s helpful? Maybe it’s, I think it’s maybe helpful for somebody that has some agenda, right.

[00:15:43] So they want to come up and so now to make the metrics look great. And it’s, again, this short-term vision of, oh, I want to Excel here. I want to be the VP of engineering here. So I make this because it’s easy, right? And even if you have like five or six or seven metrics, we can tune them.

[00:16:00] We know that we can make people respond to it. We can’t show that this is really the outcome that we strive for longterm, but it enables us maybe for some hidden agenda. And it’s more personal than what we are actually going for this main goals. What’s your perspective on that?

[00:16:19] Dr. Margaret-Anne Storey: I think that a lot of organizations use metrics because it helps have a handle on complexity. If I can somehow measure what’s going on, then I can have confidence that the decisions that I made last week or last month or a year ago were the right decisions. Or I might get data back that indicates that those decisions were not right. And that we need to make a change. Good managers know that there isn’t just one metric. They’ll know that there’s a host of metrics. And I think really good managers and really good leaders will also listen and ask the right questions to find out more nuances, more deeper understanding about what those metrics mean.

[00:17:02] I’m not saying don’t use metrics. Use metrics and also have rich insights and be continually reflecting and revisiting your assumptions and thinking about, you know, what are are your goals.

[00:17:15] Are our goals to sell more of our product? Well, yes. Right? Because we need the money to be able to make sure that our developers are well paid. But once we’ve done that what else are our goals? Is it to improve the culture so that when people come to work, that they feel secure and they feel safe and happy and they have psychological safety.

[00:17:33] Is our goal to retain our really best talent over the long-term and, and how will we do that? Understanding those goals and then understanding which of these metrics from a whole different set of possible metrics, I think is one thing to do, but really looking at what do our metrics tell us.

[00:17:52] But what do they also allied? Right? What do they hide? What are they wrong about? What is our data gathering? What is our data not gathering? Every time we define a metric, what risk are we introducing by using it? And what else do we need to gather? Like maybe some stories or insights to give us that full picture.

[00:18:10] That’s why I think the SPACE framework is quite powerful because it helps us kind of identify a whole set of things that we need to ask questions about and that we need to listen to those answers, to be able to make better decisions in the future and make change.

[00:18:26] Whether it’s change to address a problem or change to make some kind of improvement. There’s a lot of different things to consider and it’s an attempt to get people to slow down and not to rush, to define metrics and then create a dashboard and then look at it once a week and say, look, our numbers have gone up, wait a minute what’s happening behind the scenes here.

[00:18:46] Dr. Michaela Greiler: So what comes to my mind when you talk about that is the goal question metrics framework ? And it’s a little bit of a different approach. I always say, do not measure productivity. You know what I mean by that is in this very simplified way. I think the data is so, so powerful. And I think those things are two very separate areas. The critique that I have for how people use it is that they are creating metrics. But they’re not data driven. I always felt like this connection because you had the same thought about data-driven investigations and research, which is we combine qualitative with quantitative. I personally really think that they’re only in combination, they become powerful.

[00:19:32] I think that only qualitative isn’t as powerful, only quantitative can be extremely misleading. This is the metrics area that I’m talking about in the net critiquing so strongly. But I think that if we combine them, this can be extremely powerful.

[00:19:45] In industry, it hasn’t really landed. It’s also quite complex to combine that to have mixed research approaches. And behind the research approach, there is also a hypothesis. Questions that have to be tackled and so on.

[00:19:59] I’m consulting organizations, where we look at their data because I think it’s so powerful and it can help us guide and make decisions in this very complex world. But I’m always missing this qualitative aspect that we actually go and say, what does this mean? And so coming back to code reviews, it’s turnaround time is on one hand super interesting metrics. On the other hand, it’s completely meaningless. If I take it as face value, if I built a dashboard and I’m printing out turn around time there it’s maybe meaningful for the first week. It only becomes meaningful if I do the qualitative work which means that now I’m digging deep and I’m trying to understand what’s happening here. Why I’m seeing this number? Is this even a number that I should take at face value?

[00:20:51] Dr. Michaela Greiler: Probably not most of the time, not. And I wonder how can we bring that to industry ? How can it be applicable and manageable for industry what’s your take on that?

[00:21:01] Dr. Margaret-Anne Storey: Oh, that’s such a great point. I think that there are a lot of cases of industry that do use mixed methods and do use qualitative data and quantitative data. I’ve seen some examples of this and I’ve seen some examples be used really, really well. I don’t want to mention any company or any person in particular, but I saw it with large companies.

[00:21:23] And I saw one colleague in particular. He went and he sat and he watched developers to see what their pain points were. And that was incredibly valuable to identify some really easy to solve pains.

[00:21:37] Dr. Margaret-Anne Storey: Another example, this was more research that I did with, with Microsoft and we published this in our Tripoli software or my student, Laura McCloud. She was looking, we were looking at the data and looking at the. And she was going around and following sort of jumping from office to office and seeing what happened behind the scenes.

[00:21:57] The code review tools collect all of the telemetry of what happens that the tool records, but it doesn’t record the engineer jumping over to somebody’s office and saying, ah, by the way, I just tagged you in a, in some code that needs reviewing. Do you think you could do this quickly for me?

[00:22:13] Or, oh, I see that you submitted this code and it’s got this really big problem with it. Do you want to fix it before you really send it to me to review it? Because they don’t want to embarrass somebody by finding a big bug. So understanding what kind of happens behind the tools and behind the data is really, really critical.

[00:22:32] Sharing examples of this with companies and showing them why that’s powerful to have these rich quotes, these rich stories. about what’s going on to augment the data, to go hand in hand with the data, I think does shift how people approach it.

[00:22:48] Data only tells us what’s happening. It doesn’t tell us the why. It doesn’t tell us what we should fix. It doesn’t always tell us what is actionable in here that we can change. So we may see over time that engineering productivity, according to the activity metrics goes down. But that doesn’t tell us why it’s going down, necessarily. We have to observe, talk to developers to find out what’s going on here. Why are you not committing as much code as you used to? And then by talking to them, you can then get insights that help you make changes, and then you can use your metric to see, okay, is there a change? Do we see this change?

[00:23:26] Dr. Michaela Greiler: And I think especially with that one, it could be just a change of how people use the tool. Maybe they squash commits and we are commits

[00:23:34] Dr. Margaret-Anne Storey: Yes

[00:23:34] Dr. Michaela Greiler: Right.

[00:23:35] Dr. Margaret-Anne Storey: Yeah.

[00:23:35] Dr. Michaela Greiler: I think the, the biggest problem here also is that okay, if you have one team it’s normally quite simple, but if you have several teams and they have very different work styles, then, these numbers really become meaningless.

[00:23:48] I would love to find more ways for organizations to bring that insight . This ability to actually have metrics. But not only have metrics really have measurements. I distinguish between measurements, investigations instead of metrics. I define it once and then, half a year later, they are outdated. They’re not reflecting reality, but I’m measuring and I’m having data. I’m looking at data, I’m doing investigations . This investigation mindset. I think that would be so strong for organizations and the ones that I’m working with I see so many really good results. It’s almost like enlightenment ? Where metric is a light somewhere making a little bit, in the dark, something visible.

[00:24:28] Dr. Margaret-Anne Storey: The other thing that I’ve come across is that a lot of folks in industry think that interviewing or observing developers is very time-consuming and it doesn’t have to be, you can learn a lot from sitting with your team at lunch and asking them, what are your barriers? What are the challenges that you face? How is your experience. And gathering those insights just even once a month can lead to a lot of insights that you can then use to make change.

[00:24:59] Dr. Michaela Greiler: I think one perspective that I also want to add here is that this qualitative aspect that I’m talking about, doesn’t always have to be talking to people or observing people. It could be that there’s a person that has this task and they’re going in, they’re investigating, let’s say 50 pull requests. And they writing down what’s happening here, or the last three bugs, why did that actually happen? Some quality metrics or if you’re thinking about metrics again, metrics for me would be oh, line coverage. But then a person really doing the investigation going and saying, why is this project so different in line coverage than that project ?

[00:25:36] Or why are people having those large pull requests over here and not there? And very often, if we then do the work, and I call this also qualitative, because you’re not collecting data. It’s not quantitative. You have to look at it, you have to investigate and you have to see, oh, actually this is very coupled ?

[00:25:52] This is the reason maybe there’s a framework.

[00:25:54] And metrics, don’t tell you this story . And I think that this is really what’s so important for engineers to improve the experience and to improve their productivity, their performance. To reduce their pain points

[00:26:06] Dr. Margaret-Anne Storey: Actually, you reminded me of one good example when you talked about coverage We did this study that I mentioned that looked at the quality, how developers define quality and how managers defined quality. And we have this framework called truce, which is the timely delivery of robust features that delight users, support future collaboration and future evolution of the product. This definition of quality came from the developer and managers words that they gave us in the survey we did. Again, there are five dimensions ? Quality you can think of according to these different dimensions and test coverage is quite interesting because that would fall under robustness.

[00:26:48] That you have really good tests for the code that you’re delivering so that it will potentially catch some of the bugs that you have in the code that you push out today. But you might also have tests that don’t necessarily cover the code as it is today, but are there to support change in the future. So they allow you to make changes in the future. Obviously they cover the code still, but they’re more focused on not finding bugs today, but allowing somebody else on my team to make changes in the future. So how do you tease that apart? Understanding what it is that you’re looking at is really, really critical.

[00:27:24] Metrics, if you use them or measurements, any measurements, if you use them in a blind way, you’re going to be missing that nuance and they’re gonna get stale. And people will misuse them. And they’ll be abused and they’ll be gamified. So really bringing that nuance in is critical and addressing the misperception, I guess, that it takes a lot of time to bring that extra information and it doesn’t . We need to think about it and build a culture that it’s important to ask these questions along all of these different dimensions.

[00:27:56] Dr. Michaela Greiler: I think there also have to be role models. But I totally agree with everything that you said. I actually think we are at the end. I’m so happy that you were here and I definitely will invite you again.So thank you so much, Peggy, is there something that you think makes this conversation a little bit more rounded that is still missing from this productivity idea?

[00:28:17] Dr. Margaret-Anne Storey: I guess, just to sum up that if you’re thinking about developer productivity, also think about developer experience, and also think in terms of quality, like product quality and to really kind of think about those three independently and to think about if you make some changes or you’re making decisions, what are the dimensions of each of those three things? What are those dimensions that you need to think about? And if you’re working with other people. Find out what their assumptions are. If you’re talking in a team and somebody is talking about developer experience or developer productivity or software quality to say, hang on a second, what does that mean to you? Even if you do that, I think it’ll shift the conversation in the room quite a bit.

[00:29:03] Dr. Michaela Greiler: Unpacking their assumptions, this is so powerful. So thank you, Peggy. Thank you so much for joining my show.

[00:29:09] Dr. Margaret-Anne Storey: Thank you so much. It’s been great.

Do not measure developer productivity

In this special episode (50th) I’ll tell you a bit about the research on developer experience and developer productivity that kept me so busy this year. 


You will learn about:

  • some history of productivity focused thinking
  • new productivity research like the Space Framework that helps understand and measure developer productivity
  • the difference to the Developer Experience framework that I co-created
  • why (IMHO) metrics and a productivity-driven mindset can be problematic for your culture and long-term success
  • and what you should focus on instead.

Book your awesomecodereview.com workshop!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: Do not measure developer productivity

[00:00:00] Michaela: Hello, and welcome to the software engineering podcast. I’m your host, Dr. McKayla, and today is a special episode. Today is the 50th episode. Can you imagine? Time flies! And as I announced last time, this one has a new format. It’s not an interview. No, no, no. There’s only me talking. There’s no other person joining me. Well, I want to tell you a little bit about the research that has kept me so busy over this year. I spent really hundreds of hours investigating what makes developers happy, productive, and satisfied with their work. I was especially looking at the concept of developer experience and what that is, well, that’s, that’s the content of this episode today.

What inspired me to talk about this is that I recently gave a keynote at a large internal conference at a large corporation to over 1,300 developers. And when I was preparing this talk, I thought, well, this could be actually an interesting topic also for the podcast. And yeah. It’s something that I know a lot about that I spent many years actually researching being in this area. And so, yeah, I wanted to tell you a little bit more about developer experience and code reviews, obviously, and productivity. And today’s episode is really about productivity and developer experience and you know, what those two concepts have in common and what makes them different. And so, yeah, well, let’s, let’s try it out. Cut me some slack, please, because as you know, I’m experiencing experimenting with the new format and I would also love your feedback. So I will link at the end. I will link a survey. You can always go to the survey and let me know what you think about it. Let’s start. And do you know why we start? We started in 1440

[00:02:00] that’s right. 1440. We are not stopping in 1940. He started in 14, 14. 1440. There was a very unsuccessful businessman that wanted to reveal a new and really astonishing invention. And he was hoping it’d with this new invention, you will be able to pay off all his death. In fact, he did not manage to do that, but what he revealed was really, really unique and very game changing. It changed a lot. Do you know what mean. It was the printing press and the, the guide revealed that boss called Johannes Gutenberg. And the printing press was a machinery that the loud to print books and other documents extremely efficiently. And what this means is that now books and documents could be manufactured in mass and it could also reach masses. So it was not only one book that was super expensive because it was hand printed or handwritten, but they could now print really a lot of books and became much cheaper. So everybody could actually buy one. And this invention lad to many, many. Changes, right? It led to widespread literacy and education, especially of the middle-class. And also change of thinking came with that suddenly a new thoughts, you know, became, could spread around very easily. And so this invention also played a key role in development like the Renaissance or reformation or age of enlightenment and the scientific revolution. And so it permanently altered the structure of society through mass communication. And this is why this printing revolution was so, so important. But also with this printing revolution and new thought was really made to work and that is productivity. So in comparison, if you had this printing press, you could produce up to

[00:04:00] 3,600 pages. But before the ad, you could only print 40 by hint printing or only a few by hand writing head copying. Right. So we really saw that suddenly we can produce much more efficiently. But this was obviously only the tip of the iceberg, right? There was the industrialization which came later starting mid 18th century and more and more production processes became driven by technology and by machine. And also the machines, like the printing press that was first hand operated now became operated by steam engines and electricity. And this led to another level of mass production and the thought of productivity became even more engraved in our minds. Right. But it also meant that a lot of professions became obsolete. Right. So we, we didn’t do. Everything from start to finish, like producing a shoe. There wasn’t like a Shoemaker that would know how to do that completely. But new and new professionals born at that was the factory worker. And because we were so focused on making the production process more effective and efficient, we realized that actually, if you do fewer staff, And, you know very, very focused task that this would lead to better results, more quality, but also really a higher production scale. And well this means that only even nowadays, right, a lot of those factory workers only have to do a few hand movements or tasks, so. With this, we could really reach a productivity level that we haven’t seen before, but you also noted that industrialization. Wasn’t where we stopped. Right? Mid of the 20th century, the digital revolution took place. And this is really important for us, right? Because now automation happened and that was enabled by computer.

[00:06:00] And once again, it’s replaced a lot of professions, but also it aided a lot of professions. Right. And so when computers took over work, that before hand was only done by humans, right. They could do it faster and with less errors than human. This technology was more, much more versatile than a technology before, right? It’s not one machinery that can do one task, but it’s a machinery that can do so many tasks in theory, perform endless operations. And so it’s very important to ask about, well, what, what can this technology enabling even at a Loveless already ask herself? Well, Can Kim computers even think, and she concluded a machinery is only as intelligent as we instructed. And while AI promises to shift us, we are not there yet. So we have to, we have to instruct machines. We have to instruct the computer to do it. And so this is all professional software engineers, developers, right? But there is also product managers are HITECH testers, UX designers, and many, many more, many more that really are needed to work with this versatile new technology and make it do what we wanted to. The problem is that productivity is still on the forefront of our minds. And it’s a goal that we have, right. But we face this dilemma that now these professions it’s not about doing so much as it’s about thinking, right? So the fuel of the productivity is our thinking, not so much our doing and now assessing and grasping what productivity even means becomes extremely difficult. Yeah, we try, we try we all know that, you know, if we want to measure productivity, we can do it by lines of code. We can also not, you know, measure our productivity by the number of meetings

[00:08:00] we attend. And the company, unfortunately, does not automatically gets more successful as we, you know, ride more. It doesn’t get more profitable with that. It’s not a guaranteed the recipe, but still we try, we try and we try and we also try to measure productivity because somehow we want to be accountable and we must be accountable organizations. I want us to be accountable. Our, our team wants us to be accountable. Right. And so we have to demonstrate our contribution and this thought of productivity. That’s very, very connected to activity and output is, is, is on the forefront of our minds. And so, yeah, we’re measuring, unfortunately, some companies, some teams are measuring lines of code or features now, although those kind of things, because we can easily access it. And I think there’s this heritage that we have from how we did it before. But it’s not as accurate anymore as it was before. and so yeah, I want to talk about that a little bit about productivity and how can we assess it and an interesting, very new. Approach to assessing this productivity problem comes from Nicole four screen from GitHub and Margaret and story from university of Victoria. And then there are a lot of Microsoft research faults like Chandra Mudela and Brian hook and Jenna Butler. But what did they do? Well, they created something called the space framework and the whole idea behind it is let’s look at productivity and let’s try to measure it. Right. And I think that the biggest takeaway from their work that they did is that. Well, we cannot measure productivity with one metric to one, you know, with one single dimension. And, and I think that’s very true and there’s also a really, really excellent book. I will link everything in the show note, which is called. I have it here next to me. It’s called

[00:10:00] rethinking productivity in software engineering. It’s not that new anymore. I think it’s 2019 or something. And it’s the, the editor where Tom Zimmerman as well, right. Also from involved in the space framework and Caitlin Spassky and there a lot of different researchers around the world actually write some essays. That are based on their research that they do about what does productivity mean? And here we have also to other people talk about well, there’s not a single metric, right? This is something that actually comes also from Kathleen’s Bardowski and, her colleagues at Google, right? Where you say, well, let’s actually not one similar metrics. You cannot compromise that. And if you look through the book, you will see that productivity can have so many different dimensions and people look at so many different things. What does productivity even mean? And but coming back to the space framework, I want to talk a little bit about this. And so this ad, well, there’s not one dimension that we can, you know, somehow. Measure productivity, right? So like lines of code, but there are different dimensions that you have to look at. And they, I think they are really interesting because it’s the first dimension it has to do. You have to measure something around satisfaction and wellbeing, right? So this is helpful filled our developers with their work, with the team. Oh, happy and healthy. Then you have to measure something about performance. And this is more in terms of outcome than output, right? Output would be well, the, the features, right? The number of features, for example, that we do, but outcome would be more, oh, how happy our customer. What’s the quality of our, softhearted VO developing. And does it make revenue, right? Something along this lines. And then you talk about activity, right? Activities very often, you know, in the center of our minds, when we have probably think about productivity and it would be for example, commits how many commits are happening or, you know, what are you

[00:12:00] doing? That very easily maybe can be measured through our systems that we have. Uh, Another dimension is communication on collaboration, right? How people in teams communicate and work with each other. And again, the idea is, again, how can we actually measure that? How can we put it into a metric? And the final thing is efficiency and flow, right? So do developers have minimal interruptions or delays for them? And if you look at the space framework, I’m going to link that as well. Then they have some example metrics, right? Because it’s all about metrics. And they give some examples, right? Like for satisfaction, you could have a developer satisfaction survey. So you know, a little bit about how people feel about it, about their work for performance. Well, he could have cultural view blossom for activity. You could have the number of code reviews completed, right? This is really just a activity metrics and then communication and collaboration would be well. You know, PR merge time is something that they came up with, right. And efficiency and flow would be the code from your timing. And while I think it’s really one of the. One of the most holistic views on productivity that I have seen so far. And I think it gives a good balance between those things. I still have the feeling that we are trying, you know, to measure things that are very often meaningless, right? Like for example you know, PR merged times. It has a meaning, but most of the time, I would say the meaning comes from really looking closely and qualitatively at each of those PR merge types. Right. So you can, if you, if you put up a dashboard. What will they say, right. What, what will happen to all of that? And then also, how can you combine those different metrics that you’re not having and get this, this holistic view of productivity? I think it’s very, very difficult

[00:14:00] understanding. And there’s also a nice essay, very short essay. So if you want to read it I will link it from Amy Cole as she’s a professor at the university of Washington. And she says why we should not measure for active. And she wants us to be really cautious because it can send the wrong incentives. Right. So when you’re measuring, if you start measuring, for example, cultural view, velocity, what will happen if people know it? Right. And if you didn’t know that this is actually something that you that you judge and is, is the changes in behavior. Is that really what you want? Do you want them to finish that pastor? But you know, are you lacking somewhere else? I think it’s a little bit tricky. And so I find the space framework extremely inspiring, but for my research, we took a little bit different stand on the whole, on the whole part. And it goes away from measuring productivity to more, to measuring developer experience because there’s a lot of research that shows. Productivity and satisfaction somehow hadn’t had, right. They somehow influence each other. They are entangled. The people that are more motivated, they are also performing better. It’s a lot of research around this. And so developer experience was something that we thought well, instead of, you know, looking at those metrics and really about productivity, let’s think about how do be puffy. Uh, About the work, how do they think about their work and how to do value, but right. Which is our definition of develop experience. So what are the encountered in their day-to-day work and how does this make them feel? And so we also looked at different dimensions that are. Influencing how a developer feels about their work. And I’m going to, to show you a couple are, tell you a couple of those dimensions, right? So we also thought about collaboration and culture. You can see there is a parallel to the space framework. We thought about developer flow and fulfillment. I

[00:16:00] would say to somehow goes into this efficiency and flow area. We thought about product management, which is not really there. Right. So it’s different. And development and release, which is really the tooling. And I think this is also very different. And so if you assume in a little bit to this developer experience framework, and I will link that as well. But I think that the basic concept is quite different than. We don’t want to have any metrics around that, but we really want deeply to understand what impacts, how good a person can do their work. A developer can do the work, right. And I define it as well. Developer experience is all about doing. Your best work joyfully. Right? So that you can do your best work and it it’s, it’s fun. And so I did really a lot of interviews with people and I think this fun aspect or that I’m proud of my work. I think this came up a lot. And, and so we want the, to understand what’s, what’s impacting people and we started culture collaborative ness, right? So supportiveness how connected to a field with my team? How, how safe do I feel? My work environment, all these are really, really important. There’s a lot about product management. Is that actually going very well? Right? Do we have clear goals, requirements? Can we work iteratively, right? Do we have reasonable deadlines? I mean, do you know how, how unreasonable deadlines, how do destroy moral. It’s crushing it’s soul crushing. I heard stories and, and with the soul crushing activities that we have, we definitely reduce our productivity. We reduce our performance, right? So we want good experiences for our developers. And so this developer, extreme Springbrook book is really all about. Understanding what makes for a good day, what makes for good work for joyful book that people can nicely work. And I think Dan, it’s all about how do we assess that? Right. So and it’s not metrics, we don’t, we don’t crawl data from guitar or get lab and then,

[00:18:00] you know, merge it and then it comes out the number. It’s really about understanding. I think this is so important. So this is really where I’m coming from. I always think it’s about understanding what’s really happening. So let’s say one of the things in the bucket of development and release would be the code based help. So really understanding how is our code base health, but not, you know, one metric that tells us, oh, we score a 71% out of a hundred. No, it’s about how do we think. Are we going into our code base and it’s really cumbersome. If we have to fix a bug or add a feature, we don’t want to touch this part of the code base. Well, this is really bad, right? And here we should something do something independent of some number that comes around. It’s about, you know, the flow, the flow would be how challenging was stimulating. Do I feel my, my work is right. Do I feel motivated to do it? How often am I interrupted? And it’s not, again, not that, you know, become that or that somebody observes, maybe the camera it’s really about how do I feel? Do I feel uninterrupted? Do I feel interrupted to have the ability to do. And in my courtroom workshops, I do the same, right. So when I work with, with teams, when I work with companies to improve the culture processes, I definitely look at data. Data is important, but it’s like a small thing. It’s it’s, you know, it’s, it’s, it’s tipping us off. You know, so let’s say if we are looking at our contribution, I definitely ask you, so how long are you code reviews? Taking which we could say, well, this is turnaround time or whatnot, but I don’t want you to build a dashboard and look at this number. I want you to get a feeling really, really understanding what’s happening here. Oh, you know, we feel, and maybe the best is to say, we feel it’s too low. Or we feel it’s just right. You know, this is maybe even more

[00:20:00] important than knowing it’s it’s a week or it’s a day. And obviously there’s evaluation in it. There’s judgment in it. Right. And then we can go back to the data and say, okay, you are not feeling so right. It feels, you know, we are a little bit too slow. It could be faster. How long is it taking on Everett? And then we look at particular things the longest one, how long are they taking? Right. And then we try to, let me try to really understand why are you taking so long? Are there specific code reviews that are taking it on? Do they have some certain characteristics? Right. And then because of that, this is really an investigation and an improvement mindset. And we can try to come up with solutions because if you have a dash. Then it’s one thing, right? It’s, it’s making those things faster. But maybe there are some cultural use that can’t be faster and they shouldn’t be fast that it should take long. Right. And it’s okay that they feel too long and, you know, so really looking at the particular uh, things. Yeah. So I also wanted in this new to format to make my, my podcasts a little bit shorter, I hope I gave you a little bit to think about and Maybe the main message here is that productivity metrics, right? They come, they come from a different age, I would say from a different time. And I think also in a different setting, they probably in an industry setting, they are still very relevant and they can be very. Important, but as knowledge workers. Right. But we think them do, or you know, where everything that we do should be thoughtful. It become very meaningless and I think they are really dangerous for organizations. I think it’s super atrophy that we, you know, sometimes take data to investigate, especially investigations around how are we doing a really good, but. I have never seen them really work very valid in dashboards, maybe very short term because we have one particular goal, but in general,

[00:22:00] it’s really about helping us to meet. Make decisions and make improvements, right? So the data should just help us to go in the right direction and help us to dig a little bit deeper, right. To know where to dig deeper, to really look what’s going on here. And I think the developer experience, I liked this contest concept a lot. I think that people that are happy that, that liked to work that can do their best work. Joyfully. If you can reach that then, you know, Trying to measure productivity or performance becomes really a little bit more obsolete, but I’m super happy to hear your thoughts on that. What do you think how are you assessing some of those things? Is there something, how do you keep yourself accountable, your team, your organization, and, yeah, and as I said, For the survey, I will link it. Maybe you, let me just know how you like this new format, this new episode, it’s a catastrophe, or was it good? A good start. Maybe some topics that you want me to talk about and that I was thinking about the sad question that I will end at there. Right. So three questions. It would be really, really grateful if you, if you let me know. And yeah, so that was it. And by.

Content creation as a career path for developers

In this episode, I talk to Florin Pop. Florin is a web developer that started building websites in 2013 and worked many years as a successful freelancer. I know Florin from his super-popular YouTube channel and his funny and inspiring Twitter stream. In this episode, he explains how content creation became a lucrative career path for him. 

We talk about:

  • how he turned from developing software as a freelancer to a successful content creator
  • his recipe of success through failure and smart goals (e.g. specific and measurable goals)
  • his journey to more than 100K YouTube followers.

Book your awesomecodereview.com workshop!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: 

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

[00:00:00] Michaela: Hello and welcome to the software engineering unlocked podcast. I’m your host, dr. mackalya and today I have to pleasure to talk to Florin Pop.

But before I start, let us talk about this extremly long, and very unexpected break. You must have believed that I might never come back. But thankfully, that’s not the case.

In fact, I actually came back bigger and multiplied… Yeah, from today on, I’m not doing those interviews alone anymore, but I have a little intern for the next couple of months – which is sitting right in my belly. So far, the intern has not been very helpful I have to say – instead, I got horrible morning sickness, which is also called hyperemesis. Well, that’s also the reason why there was this long, unannounced and unexpected break. But I had a good talk with the intern and put it right on a performance improvement plan, and yeah, it seems we are slowly getting better.

So, we both started working on new episodes for you again. During this break, I also decided that it is time to shake things up a little bit. I will start to experiment with the format and content of the podcast.

I have a couple of ideas that I will try out and see how you like them. So, stay tuned for new episodes! But now back to Florin and his insight into content creation.

Florin is a web developer that started building websites in 2013 and worked many years as a successful freelancer. I know Florin from his super popular YouTube channel, and he’s funny and inspiring on the stream. He’s dedicated to grow and learn in public. And what fascinates me the most is this Florin always is humble, honest, and very, very kind. So I can’t be happier to have Florin here with me. Florin, welcome to the show.

[00:00:34]

Florin: Thank you very much. And thank you very much for the kind words that oh [00:00:39]

Michaela: yeah. I’ve been following for, for quite some time and I’m really always impressed , . It feels very authentic. If you do a YouTube channel, if you do your challenges and how you share what you’re learning. And also sometimes you’re vulnerable, right? If people, you know, online can be a rough place, you probably know that. And, and I think it’s really important to also show that, you know, words can harm and can. Yeah, you can feel it. And I like that, that you shared that. Like, if, if you are deep down, you’re sharing it. If you have like success, you’re sharing it. And I always feel like you’re very, very honest with your journey and not everything is like super fine. And, you know, I’m writing three blog posts and now I’m famous and make the most money or something. Right. So yeah, I always say, give and take, [00:01:29]

Florin: right? Yeah, exactly. So this is how life works. You have successes and failures and some days you’re doing great and other days it’s not so great. And I like to share that and to, because. I always, I’m thinking of people who are following me. I want them to learn the most after my experience. This is one of my values to share what I’m learning and alongside my journey. There are also failures and I’m messed up a lot of things. Usually people are kind of afraid to share that because you have to be vulnerable about those. But if you don’t do that, especially as a influencer quote it just sends the wrong message that everything’s perfect, but in reality, not everything is perfect all the time. It’s just a continue grind of doing your best every day. And sometimes you mess up things and that’s okay because that’s how we learn by messing things up and. [00:02:34]

Michaela: Yeah, it’s true. Like, it’s really easy to say for others always. Oh, it’s, it’s totally fine. It, I think they are. They’re also forgiving for artists very much, but not so much for ourselves if you’re messing up. Right. And you’re afraid to, to show that things are not. Not going as well, or, you know, we made this big goal. You make this big goal, right? You said like 100 K you didn’t say many how many days. Right. But you said 100 K so it’s a list, but you know, like, can you fail with that? How would you say it? Would you say, oh, it didn’t work out or, you know, and actually. [00:03:09]

Florin: I like to create big goals for myself. This is probably the first challenge where I didn’t have a deadline for, for it. For example, 365 years days of running everyday, I did 100 projects in 100 days. I did, when I started my YouTube journey, the first challenge was 31 videos in 31 days. Then I did the frequent camp curriculum in a month. So everything kind of was kind of had a deadline because. Those are called smart goals. They have that deadline aspect of it. The reason why I didn’t add the deadline to this new challenge, which I’m currently working on going from zero to 100 K I mean revenue is because I wanted, I, I just feel that there are so many variables. I don’t know. And I didn’t want to put a lot of pressure on myself, although I kind of have a deadline of one year, 1.5 years, roughly, I don’t want to go 10 years with it. And I’m sure that I, so I have kind of a hidden deadline for myself. Oh, I don’t make it public. Although in some of the streams, we talked about it when we kind of decided, okay, how many projects I should work on? What should they do? And what are kind of the deadlines just to see, just to keep track of what’s happening. And I think that’s, for me, that’s highly motivating because this is how I worked in the past couple of years. I just. These kinds of challenges got me out of my comfort zone. Also the public aspect where I share on, in public, what I’m doing is what makes me kind of have to do it because now people watch me and, you know, I, I it’s okay to fail. But like, The challenges, which I’m doing. I try not to make them super, super hard. Like, I don’t know, make 10,000 pushups in a day for 100 days, you know? But rather make 10 pushups every day. For one of the days, it’s more about the consistency aspect than having crazy, crazy, crazy goals. I might do that, but like with shorter, like 10 days or something, Yeah. So it’s going [00:05:31]

Michaela: into the building. I have it building thing, right? So I say tiny habits are actually better for, in the long run. [00:05:37]

Florin: Right? Exactly. So it’s not about doing super, extremely hard things, but then just doing something which is relatively easy to do, it’s just a matter of being consistent with it. And it will over time change. Change an area of your life. Like when it was for running, I lost weight that period, then I felt much energized and yeah, building the projects have learned stuff along the way. So it’s just being the consistency. Yeah. [00:06:08]

Michaela: Yeah. And so, for example, we’re coming back to the running because I also follow that one. I’m following a lot of things, but so you lost weight and then after the challenge, do you keep up with the things, do you still run daily or several times a week? And did you know, did the, the way you go up again or, and you share that as well? Like if it’s setbacks, for example, [00:06:31]

Florin: Yeah. So when it comes to weight, my weight journey II, it’s kind of rough because I did this like several times in my life so far, I would lost the way doing a challenge. Then when I kind of gave up on being public about it, I started to go back to my old habits and I got some of it back. So right now I’m. Doing on tick-tock I’m doing this weight loss challenge again and I’m sharing what exercises I’m doing, what I meeting everyday, just to, again, hold myself accountable. And what I’m trying is to, which is really tough. This is one part of my love with my life, which is tough for me is to not only lose the weight because that’s relatively. it’s just the map. If you have ambition, you can get it done. You just said, okay, for the next three months, I want eat and healthy. I will do these exercises. And it’s that the most challenging part is afterwards, like keeping the weight off and keeping the habits. So that’s where I’m a. Kind of going now is to build a healthy lifestyle, which can continue after I lose the weight. So I want to keep it off for good. And it’s still a challenge for me. It’s been going on for a couple of years now. But yeah. Yeah, I think a little learning and [00:07:55]

Michaela: yeah, I think having a healthy lifestyle is a challenge for, for many, many, many people. Right. Be it sleeping enough, eating healthy, you know, don’t not gaining weight. I think also sport, like sport is something. I have a lot of friends that don’t do any sport and I’m like always, I’m always amazed. I also have two. Struggled quite a bit to make enough place and space in my life to do sport, but I always do some kind. I mean, there are always like weeks you know, where I didn’t do it or sickness, for example, I was very sick at that time. I didn’t do sport for a really long time or what I wouldn’t consider sport that the, you know, the doctor would consider it even sport like walking and things like this. But in general, I try really to make sure. You know, I also needed, it’s also for my health, for example, for mental health. I always feel much better if I, if I do, if I do sport, but yeah, it’s, there are people that don’t do any sport and I’m always amazed. Like how, how are you doing it? Like, I really feel completely. And ease and very unhappy. So yeah, maybe everybody is different. Right. But I think a lot of, yeah, [00:09:06]

Florin: yeah. He’s like, so we are different and some people can just have a great body and all of that without doing any exercises. With eating like junk food and all that. For me, you can quickly see that. So if I don’t take care of myself for a couple of weeks and I start eating junk food and stuff, it just, you can clearly say not only that my mood is going down, I don’t have energy. And part of my reason why I’m doing I’m working out and all that is because of that energy, I need a. What I’m doing now as a content creator, making videos, live streams and all of that, I need energy and I need a clear mind to be able to do that. And for that, I need to take care of my health. I need to go to sleep early. I need to eat healthy exercise and follow the. I mean, I guess everyone knows what are the good habits to do in this area. It’s just sometimes we, we mess up and it’s okay. So if we mess up once it’s okay. It’s not the end of the world. It’s just, the problem is when we do it through Peter Lee for weeks, that’s one, that’s when sort of say that our lives. Yeah. [00:10:24]

Michaela: Yeah. I think can even, you know, mess up for several years and still start today and say, well, today’s a different day. Right. So yeah, exactly. Yeah. I have two little kids and I have to say it’s so much more challenging to do all those nice things with little kids, because like, for example, sleep. I mean, you can, it actually messes you up. If you have like this goal of having a healthy sleep habits and you have like a newborn, I mean, it’s just two competing goals that are not, you know, you can’t, you can’t do them at the same time. And I think it took. It took almost three years that, you know, each of my kids, you know, we’re able to slip through. And so until that time, there is no healthy sleep you know, balance, for example, for yourself and with the sleep thing, you know, a lot of other things deteriorate because you don’t sleep, you don’t eat healthy because you’re like just not, you know, really awake and not clearly thinking and so on. Right. So that’s, I think, and the same for sickness or other things, right. Just struggles in your life. And I think that’s okay. Yeah. Whenever you wake up and you can try again and maybe you fail and you know, don’t give up. I think this is probably the most. [00:11:32]

Florin: Yeah. Yeah. This is something I like about what I’m doing now is that I’m okay with failing for me every day is a new day to do things. If I mess up, for example, last week for a couple of days, I felt unproductive and that and that for me was okay. I accepted that, that it was okay for me to be unproductive because now it’s a new week. It’s a new day and I can pick up things which were not done last week. So it’s okay to always like, give yourself this. Boost of all right. I messed up, but it’s okay. I can start over and I can do it right to this time. [00:12:19]

Michaela: Yeah. And so content creation, this is really the big thing now in your life, right. It’s also where you build your business around and how did that come about and how do you, how does the monitorization work? Can you live from it or, you know, how long did it take you to live from it? I think content creation. A dream of, from many people. And then the question is, you know, is it really working out or is it not working out? Do you think that you can sustainably do that for a long time? [00:12:50]

Florin: Yeah, so I expected as a content creator on my blog writing articles. This was in 2019, I think in February or March, I posted my, I restarted blogging because I had like seven articles. But they at least started logging in. I did it sort of consistently three blog posts, two or three blog posts per week. I had a job back then. And it just said, okay, after my day job, I’ll just write something because it felt like something fun to do. And they always wanted to get down this path of blogging and creating content. So I started blogging and at the same time I picked up a Twitter and I started sharing on Twitter. I started to be active on Twitter, really. I think I spent hours and hours per day on Twitter, interacting with people, with people, replying to them and all that. And it took like six months. Well, the, the plan was actually to leave my job. Next year. So in 2020 January, that was the plan they need for plan. So I’ll just try these for 10 months and see how it works. And then if it’s all good, I’ll just quit my job and do this full time. But then on June in 2019, so six months prior to my actual deadline, I was like, I told my wife, you know what I just, I want to do this now. I mean, we had some money saved up from the job. And I was like, you know, let’s, let’s do it earlier. I mean, if it failed, I failed in six months, I’ll get the new job and it should be okay. We use the savings and it was an interesting journey. I can say that it was tough because my focus wasn’t. Monetization. So just imagine, like in the first month I gave up my job, I made 150 bucks. So yeah, it went down for several K two to 150 bucks. But for me, that was okay because I never. I didn’t chase money in the first year or so of concentration. Right. I liked what I was doing. I wanted to grow my reach to grow my audience, to get in front of multiple people. And I knew that it will pay off one day. And they did that for, so basically I was blogging for six months or so. And then in November, that year I started my YouTube channel. And in 2020, my main goal for the year was to get 100,000 subscribers in a year. And they started working really, really hard on that, I think in six months or so I published over 200 videos and livestreams on my channel. Yeah. I was in the crazy, crazy mode where I was putting out content like crazy. Of course it wasn’t like. Highest quality and all that. But for me it was a great practice. I, I know people say quality over quantity, but for me it was quantity brings quality. So I was pushing out a lot of content and see what works and then doubled down on that and made it better and better. And I got monetized in February 18th or March. No, it was in March. 2030. I was monetized. Quickly compared to other YouTubers. And probably because I also had an audience on Twitter, so that helped. And then the amount of content I was putting off out was was a lot. So that helped as well. But from the YouTube revenue side, it wasn’t a lot, it was like probably $400 a month or so. Yeah. After two months or so, I don’t, I don’t remember now exactly the numbers, but the peak on my YouTube channel. Was it September where, when I did a live stream, another challenge, 10 pro 10 JavaScript projects in 10 hours. I just got the idea that morning and it was like, okay, I’m going to go home prepared. These inches go live for 10 hours to do 10 projects. Wow. And that turned out to be great. That video now has over a million views. Wow. And brought in like three or four K sense. But like when it comes to YouTube, the trick is that YouTube revenue from ads is oh, okay. It really depends from which, what, which part you’re saying now is roughly seven, $800 per month. So it’s okay. It’s probably not lots of people can live off of that, but the, the main source of income from YouTube is that the audience, where if you create a digital product, you can sell that digital product and you can also have sponsors. So those two combined will bring in more revenue. Yeah. That combined with some, I think I had a couple of projects for someone I managed to get past to that period of low-income and now the digital products are making good income. Roughly 3, 4, 5 came depends on the month just from digital products, which is mostly passive. So there, the products are out there. And they’re just selling on their own, I guess that’s your book, for example. Yeah, so I have my ebook and I have a course on you than me, and they’re both both doing this. Like [00:18:27]

Michaela: that’s not counting them for the zero to 100 K. No that’s so exactly. [00:18:35]

Florin: Exactly. So those projects I bead last week last year, and I’m not comping for challenge for, for this challenge, which has started. Two months ago or one and a half months ago. I started from zero. So everything I’m monetizing in, the challenge is built during the live streams. I go live every day from Monday to Friday and I build something and the things I’m monetizing then are the things which come for the challenge. Because right now I also have some sponsors on my YouTube channel. And they can’t add that too. I don’t feel like it will be okay to add that to the challenge because it kind of uses my audience before the challenge. Right. There’s just some extra income which I have. And it’s not for the challenge. The challenge is something else in it. [00:19:26]

Michaela: Yeah. And so today I went on YouTube and to your profile, and then I saw that now you can not only subscribe, but it seems like there’s a membership thing on YouTube. Now, is that something that you offer and you see that it’s working already? Or how does that work? Yeah. [00:19:42]

Florin: Yeah. I offered this for quite, I think over a year now. And it’s. It worked out well at the beginning, when I started to promote that I had, I mean, well, I had several people who subscribed who became members, but it’s. I don’t know if people can rely that maybe if you offer something valuable, it can work out. Well, it’s sort of like a Patrion, but it’s built into YouTube. So if you have something to offer you might get more people to become members. For me, it was just like, Hey, if you want to support, become a member. So that’s not like a high incentive to people. To become a member. Yeah. I still get one. She remembers every now and then, but it’s not something you can at least not for me because probably I haven’t laboratories date to the maximum. [00:20:35]

Michaela: And so what do you do members get? Do they get something else or is it just really that, you know, they, they get the same public videos and it’s just like, they support you and they want to be. [00:20:46]

Florin: Yeah, so you can do like sky’s the limit through that? For me right now is you get the special badge and you get your name collar to the live streams. You get some special emotes who can use. A lot, a lot of value there. That’s why probably I don’t have a lot of members, but you can do that. So you can have specialty videos for those members. You can offer them a one-on-one consulting or coaching, or you can send them a discounts on your products and like the sky’s the limit to. What you can use it for. I’m just yeah. I even forgot. I have that enabled. And now you also have a button, a YouTube. They added it recently where people can thank you. So they click the button and they can donate you. If they liked your video, they can donate a, I’m not sure if anyone used that button so far on. I’m not sure if where I can see that. So, and people also can donate through the livestreams. And I got a couple of those along the year or so I’ve been streaming probably for streaming. I’m still debating, which is best YouTube or Twitch, because I noticed that on Twitch people are more likely to support creating. And like donate more become members and all that. It’s just the communities built around, you know, supporting creators on YouTube is more like people come to watch polished videos, which are edited and all that it’s nicely placed. So they’re not that popular right now with streaming. So probably that’s why. People, at least in my niche, people are not. Likely to donate, [00:22:36]

Michaela: but how many people do have on your life? Coding streams onto it? [00:22:40]

Florin: It depends on if I like, for example, last week I had a special livestream where I announced it two days prior to the event and I had over a hundred people joining me, but in the day day by day-by-day stream, I gets 30, 40. Tomorrow or less that [00:22:59]

Michaela: are, that are following you and your [00:23:02]

Florin: staff. Yeah, but I mean maybe some of them leave and others join, but like an average of 30, 40 people tuning date. I mean, that’s the number I see of viewers at the moment, but who knows how many people show tonight? [00:23:20]

Michaela: And so you, do you use restream Dan too, or something like that, the platform stream your Stritch video also on YouTube and the other way around or? [00:23:28]

Florin: No. So right now I’m only streaming on YouTube. So I’m using just OBS to stream directly to YouTube last year I streamed. So I started streaming on YouTube last year, then I moved to Twitch and now I’m back on YouTube because I just felt like I have a big audience here. And I don’t know. I was thinking that I’ll get more viewers over time. I still don’t know. I might have to test multiple times to see all right, which is best Twitch or a year to maybe just keep Twitch for streaming and a YouTube for videos. But I found myself that that was too lazy to just take the videos from Twitch and upload them again on YouTube. So I I’m just dreaming now because. Easier for an hour. The goal is not necessarily to have the streams go out to thousands and thousands of people because I only see them after a day or so. They’re not very polished. So the goal is to have a place where those who are interested to follow. Day by day didn’t know that, okay. Flooring is life this hour everyday. Let me check what is day. And I’m also doing recap videos every week. Now I messed up a couple of weeks, but the goal of the recap videos is shorter videos, which kind of describe what I did in the past week. And those should like push out the challenge idea to more people and get more people. To eventually join me. [00:24:56]

Michaela: Yeah. So I have been streaming on Twitch for, I was 2019 a long time ago. I actually almost said, no, it wasn’t. 2010 days, sorry, 2020 last year for a month. And also for like my challenge of building, you know, building a tool within 30 days. And I also went live every day was very, very nice. I was a little bit exhausted to be honest, after 30 days with like, oh my God. And it was fun, but I also feel like it’s really hard to do something meaningful in an hour. Without really preparing for it. Right. So this was also always like great, just jumping in and doing it on the spot. And, and then even talking with people, like if people are coming you’re a little bit chit-chatting and then really getting something done, I feel it’s very, very challenging is it’s something that you felt you grew into and you just got some more, you know, some muscle memory to do it better. Or do you prepare before the stream or how, how do you. [00:25:58]

Florin: Yeah. So I have to agree, like it’s very exhausting. For me, I just, I kind of noticed that after two hours of going live, building, researching, brainstorming, chatting with the people from the chat for two hours, I’m just dead. Like it just can’t function anymore. I need an app very bad. It’s just, that’s how it is. I mean, I can think on my head hurts from after two hours, because I think. Too much going on because I’m also coding and thinking at the same time, because it’s not something I know by heart. So I have to research it. I have to think about the things I’m doing. And at the same time, people from the chat are talking with me. I have to interact with them. So it it’s, it’s tiring. But I liked the, I liked the fact that I do this every, every day and the, it just. To be honest, some of some days, this is the highlight of the productive part of the day for me. So if I didn’t have this, I wouldn’t do anything that they, so for me, it’s. Motivating to keep doing something, even if it’s just for 30 minutes or an hour, it’s doing something towards the goal of what are a cake. And like the money aspect is nice. It’s kind of intriguing for people to join and see, let’s see how much money flooring made. But for me, the real goal is not necessarily the 100 K in revenue. I could make that it don’t have to make it public. I almost did that in a year, so it’s not the, I it’s it’s possible, but for me, it’s just who I have to become, what skills they have to learn and develop and what knowledge I need to learn along the way to be able to do this. And I also do it publicly. So it’s, it’s more about my personal growth than it is the money aspect. That’s what motivates me. So the money goal is nice. We could public people like to chase those things. But yeah, it’s more about, because I’m also going out my comfort zone because I’m building projects to monetize them. So I need to maybe learn new skills of how to develop a proper database and how to get that education and how to design well and market and all that. So there are new skills I have to learn along the way. And that’s, that’s motivating for me and hopefully inspiring for others to get out of your comfort zone and money is just a return of the value you bring and grow to have. So it’s just a matter of time afterwards. [00:28:35]

Michaela: So it seems like you never suffer from analysis paralysis, right. Where you’re like, oh, what should I do? Oh, this or that? Or they say that, how do you do, do you just do all of that? Or do you feel that [00:28:47]

Florin: something. I feel that probably all the time is just the chat helps. So whenever I don’t know what to do, usually what I try to do is to set the side tasks for tomorrow. So whenever I’m live and I have inspiration of how to develop the project to bring it to the next level, I just write down a series of tasks. So then tomorrow, when I’m not that inspired of knowing what to do. I just have the tasks and another thing which really helps is the chat. So I have a couple of people who are joining every day and just having people to bounce off ideas and they give you feedback and their critique, your work is it’s a great way to have something to do. But I, yeah, sorry, [00:29:38]

Michaela: man. Do you know how, how old. Audience is, or the background or the new developers or the senior people are they’ve maybe indie hackers as well, or, [00:29:54]

Florin: yeah, probably those who follow me along everyday are indie hackers or at least want to be in the hackers. The reason why, like I have 115,000 subscribers, but. Dan’s joined the live streams and there isn’t why is that? Because most people who subscribe to my channel, they subscribed for my tutorial. So like probably they want to learn to code, but what I’m doing now in this challenge, basically it’s not necessarily beginner friendly, although I kind of try to make it beginner, flan friendly, where we build a project from scratch, but there are. Some things which go out of that comfort zone is some things which are more of a business related thinking. And not a lot of people are interested in it right now. You know? So most people who follow me day by day they are interested in this like building projects, monetizing them and work for themselves kind of. Entrepreneurial stuff. [00:30:57]

Michaela: So you have actually two, two sort of niches. One is the indie hacker niche where you have, you’re building a following and then you have that mixed in with the, I want to be a developer niche. Right? So teaching niche, do you want to have them separated more? Do you feel like. You started off it, for example, teaching development. And now you want to be more in the D you know, indie hacker space, or is that both that represents you? How do you think about that? [00:31:27]

Florin: So throughout my journey, as a content creator, I mostly shared what I was doing. So I started off as a blog. Right. I was posting articles. Then I moved on to YouTube creating YouTube tutorials, and now I’m moving on to being an indie hacker. So I’m kind of doing my own journey and. People who follow some people follow me for me. But then I have separate audiences for those separate stages. As I said, most of the people I most of the subscribers I gathered along the past year or so were those who are interested in learning how to code, but now as I’m approaching like a new direction, some of them will be interested in this too. But I’m also now targeting another audience for me most, most about my own growth. And I know that if I learn stuff and share stuff, people who also want to do the same. The same things they will follow along. I know that with this new indie hacker kind of journey, I’m not targeting my older or my old audience. But that, that’s fine because it’s, it’s a progress in my own life. I’m just, I want to be I feel like I would be starting. In a place if I just don’t grow, you know, and I will continue to address that audience as well with tutorials, but my life goes on and I learn your stuff and I, it. Move on, on a, on a new, because at the same time, there are so many YouTube stars out there doing tutorials for beginners and much less of those who just use the skills you’re learning. And building stuff, monetizing them, be your own boss. Yeah. Yeah. Kind of thing. I think that [00:33:23]

Michaela: that thinking and those fears around those thinking are very, very similar to those fears that you have. Oh, I studied computer science and now I want to be a writer. Oh my God. You know, my life will end. I’m even allowed to do that. Right. So these growing aspects, I think of people and, you know, whatever you set out to do, and then you grow and you realize actually something else. It’s happening in my life. I think this is very important that we acknowledge that and that it’s really normal and it’s okay. Right. You, I don’t know, you studied history and now you want to be a developer, go do it. Right. And now you did those videos and you want to be, you know, want to do other videos that are following along your life. I think that’s a super important and we shouldn’t be afraid. I think it will work out wonderful. You’re very charismatic. So I, I was really happy that you have been on my podcast today and to talk with me about all of those things, content creation, monitorization, building an audience, and I will definitely follow you. I will link everything down in the show notes and yeah, with those words, thank you so much, Lauren, for being on. [00:34:31]

Florin: Thank you very much for having me was very nice step. Yeah. Thank you, [00:34:35]

Michaela: flooring. Bye-bye [00:34:36] Florin: thanks. [00:34:38]

Michaela: I hope you enjoyed another episode of the sup engineering unlocked podcast. Don’t forget to subscribe and I’d talk to you again in two weeks. Bye.

Driving innovation and engineering practices with Dr. Holly Cummins

In this episode, I talk to Dr. Holly Cummins. Holly was the development practice lead for IBM Garage for Cloud, before becoming an innovation leader in IBM’s corporate strategy team. She drives innovation for companies in various industries, such as banking, catering, retail, or even nonprofit organization. She is also a Java Champion, a JavaOne Rockstar, a published author, and a regular and vivid speaker. 

We talk about:

  • What it takes to drive innovation in an organization
  • Test-driven development (TDD)
  • Ensuring a healthy and welcoming company culture
  • The benefits of Pair programming

This episode is sponsored by IBM – where innovation and transformation come together.

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: 

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

Michaela: Hello and welcome to the software engineering unlocked podcast. I’m your host, Dr. Mckayla and today I have the pleasure to talk to Dr. Holly Cummins. This episode is sponsored by IBM. IBM not only produces and sells hardware, middleware and software, but also offers hosting and consulting services. The part that is the most interesting to me, is that IBM is also an active research organization, and an enabler for innovation and transformation. One interesting business area is called the IBM garage – which focuses on accelerating digital transformation, by helping people generate innovative ideas while it also equips them with the practices, technologies and expertise needed to rapidly turn those ideas into business value.

Dr. Cummins was the development practice lead for IBM Garage for Cloud, before becoming an innovation leader in IBM’s corporate strategy team. She drives innovation for companies in various industries, such as banking, catering, retail or even nonprofit organization. She is also a Java Champion, a JavaOne Rockstar, a published author and a regular and vivid speaker. So what should I say? I’m super thrilled to have Dr. Holly Collins here with me today. Holly, welcome to the show. 

[00:00:56] Holly: Thank you so much. It’s yeah, I’m really looking forward to our chat. 

[00:01:00]
Michaela: Yeah, me too. I mean, my introduction was really, really long because yeah. You have so many accomplishments. It’s really cool to talk with you. So how does that work? Driving innovations for organizations? Can even one person drive an innovation for a whole organization? Or do you need like, that everybody is on board. How do you. 

[00:01:21] Holly: I think one person can make a whole organization innovate, but one person can help create an environment where innovation flourishes. I think we’ve certainly all seen the opposite as well. One person, if they do it wrong, can really best innovation across the whole organization. And I think. With innovation. It’s about making this sorts of environments where ideas can grow and where there’s the second, the logical safety for people to express ideas, but then also the organizational tolerance for risk too, to be able to invest in those ideas. But then also I think you need some methodology or, or some rigor to try and. Manage your innovations, because I think a lot of us have as well have seen innovation labs where there’s all these amazing ideas and then none of them actually make it out the door of the innovation lab. And that’s fun for everybody, but it’s not really moving things forward. And really what you need is innovation that matters. 

[00:02:29]
Michaela: Yeah. . I’m currently working on a research project where we look at cultures, especially for development teams. How do they have their cultures? What makes them happy? What makes them productive? What makes them innovative and psychological safety and, you know, being able to speak your mind. This is also important. And I conducted a couple of interviews. I also have worked in different organizations and it’s just really tricky, right? I mean, it’s really tricky to be in a work environment and being able to voice your opinion. And some people get really lucky, but a lot of people really struggle with that, I think. And I don’t know if it’s, if it’s bigger organization, I can’t, can’t even say like a bigger organization. It’s more tricky than in, in smaller. I’ve been in startups. So you think, well, innovation should really flourish down. There were like brilliant people on the team, but they’re are also. They take all the space, right. They’re very dominant people. So then all the others conferee so much, then there are like larger organization where you can strive. Is there some recipe that you can recommend for people to, you know, follow to get more psychological safety or do you know, be, be more self-aware if others even can speak their mind or, you know, like, how does that work? 

[00:03:40] Holly: Yeah, that, that that’s yeah. Super interesting about the startups. I I sometimes feel at a disadvantage talking about culture cause I’ve worked for IBM, my whole career. And IBM clearly is not a startup. It’s about as opposite a startup as, as you can get in terms of its history. But one of the things that I. Like to talk about, which I think is probably quite related to your, to your research is the importance of fun in the workplace. And I deliberately talk about fun because it’s a little bit provocative because we all have this sort of instinctive reaction that says work is a place for work. It’s not a place to have fun. And so then. I think by sort of choosing something that seems counter-intuitive and then peeling away the layers to talk about why actually that fun environment is really closely correlated to a productive work environment. And I think as well, it’s, it’s quite closely correlated to psychological safety. And I think, you know, the psychological safety manual, certainly doesn’t say let’s have achieved psychological safety by, you know, installing. Ping-pong or, you know, that kind of thing, but, and it’s, you know, and I think what I mean by fun as well, it’s not those sort of that superficial layer of fun. It’s that, that deeper thing where you feel the connection to your colleagues and you feel the work gives you joy. 

[00:04:55]
Michaela: Yeah. I also saw that coming up in my own research, but also related research, right. That satisfaction, happiness and productivity. They are really concepts that are very intermingled. ? So engineers also having fun if they are feeling productive and productivity also means connectiveness. ? So a lot of developers that are interviewed, they talk about supportiveness and how they have to know that there is another person that I can. Call or no call before we could walk up to them, but now we call them and they are there and they’re helping us. If you’re stuck, we don’t see the siloed. Right. There’s a friendship coming up as a concept. Right. People want friendship in their workplace. Yeah. I can totally relate to that. I felt really lonely last year working as a solopreneur. And so that’s also why I stepped a little bit away and was taking on more customer work again, because now I’m in teams and I’m feeling, you know, I’m talking to people more and this is really, I mean, it’s also joy and yeah, so I can totally relate to that. How, how do you engage with organizations? So you are at IBM, but you got into different other organizations or is that all internally where you have like little labs that you, you know, that you try to get to flourish? 

[00:06:09] Holly: So my role at the moment it’s somewhat internal and somewhat external. We’re always working with clients, but sometimes I’m working with an IBM team who is working with a client, but in, in the garage we were, we were very outward facing client facing. And, and I think there’s, there’s lots of different answers for how do you engage with an organization? How do you change an organization? Right. The, the answer that we chose in the garage is really sort of support at the top and then making the change bottom up. So we would try and get buy-in from the senior stakeholder. And the organization wanted to try working in a new way that it wanted to try bringing some of these, the psychological safety in the innovation. But then also some of the other things that we talk about a lot, like, I mean, agility is an overused word, but that, you know, that ability to respond to change that, that tolerance for risk. But I think sometimes know. If if we try and make that change only at the top level, then it just ends up being as a lot of words on slides and so in. And, and there’s a lot of resistance to these ideas as well because people work in the way they work for a good reason. It’s not like everybody’s sort of set out and said, I know we’re going to make our organizational cut culture so that it, you know, crushes the spirit and destroys productivity. You know, the intention was always to, you know, to try and achieve something good. It’s just that the side effects. Yeah. We’re not good. So then what we do is we work with a particular team on a particular project, and we say, we’re going to, we’re going to do this particular thing and we’re gonna get a result and we’re going to do it in this new way. And you can see that while we work in this way. Actually good things are happening, not bad things. And bringing in dev ops, for example, hasn’t increased the, the odds of something bad happening. Look, we can show you it’s reduced the odds of something bad happening, and look, it’s actually made the process more rigorous, even though the process is also more seamless. And so if we can do it on this one project, that’s maybe not super business critical, let’s try and now expand it to the next project that maybe is a bit more business critical. That, that ripple I would affect because I mean, I think success is the best evidence. And so when you can do something and show the results, then that makes people much more keen to try it for themselves. 

[00:08:32]
Michaela: Yeah. So you are coming in and then you’re working with one team. And is it only you, or is it you and the team that’s working with that other team with that project? How does that work? 

[00:08:41] Holly: Usually we’d have a team. And I think the, sort of the, at that teamwork aspect is, is so important. I think going back a bit to what you were saying about the lockdown that even the most introverted developer, I think, you know, we, we get something. Team and the, the effects are much better as well. So we try and have really diverse teams in terms of the skills and the disciplines of the people. So normally what we would have is we’d have a handful of developers. We’d have maybe some, some architecture support. But then we’d also have designers who are really making sure that we’re focusing on. The humans using the technology rather than just look, it’s a thing and it’s shiny and I can install it and I can write code on it. And so I’m happy, you know, trying to sort of reel it back, but I’m glad you’re having fun Holly, but how are we making life better for someone else? And, you know, what’s good. You know, cause success for any software project. It’s not just, I did code success is something is better somewhere either at a business level or, you know, at a user level or that kind of thing. So on, on our side, we try and have this really diverse team, but then we also want to make sure that we’re co-creating with the client. So our ideal is that they’re bringing their developers along. They’re bringing their architects along. They’re bringing their designers along as well. And then they’re bringing a product owner because they’re the one who owns the vision for what we’re trying to do. And then that means that as well as making the thing we’re doing a skills transfer. And so I when I was first working in the garage, one of our, the the IBM sellers who we were working with got a bit grumpy because the, the sort of model that they had done was that we would do a thing and then they would sell training for the thing. And because we were. Co-creating that training just sort of happened on, on the job and it didn’t slow anything down. So we would be pair programming and that knowledge transfer would happen. And it would happen in both ways as well. So we, we know things about the carriage method that we can share. We know things about test-driven development dev ops, but then, you know, they’re going to know things. Or organizational context to say, ah, yes. When you want to do this, you need to tell, talk to Bob on the second floor. And so having the person who knows that pairing with you means that you don’t sort of have to go through this elaborate process of I’m stuck. Who do I talk to you? And then, you know, try and figure it out. And they know things about their, their business domain as well. And you know, the sort of the, some of these problems are really quite specific and niche. And, you know, you couldn’t have just a general consultant go in and solve it without doing that. Co-creation. Yeah. 

[00:11:24]
Michaela: And how long are those engagements normally until there is some transformation and some knowledge transfer, how long does it take 

[00:11:31] Holly: for the license? I don’t think the sweet spot is about six weeks, so that’s, that’s long enough to do something that’s really meaningful to get an MVP, but it’s short enough. That an organization will feel okay with the risk. Cause, you know, if we, if we sort of say, and, and, and as well, you want to make sure that at the end of it, those results are going out and are really visible. So having that short cycle and then say, okay, and if we’ve done it once and you like it now, let’s do it again because. You saw that result and it wasn’t this sort of really protracted process where it took 12 months to see any change. Yeah. 

[00:12:10]
Michaela: So you are mentioning already a couple of development practices, like Def ops test driven development, and you have, I mean, the development practice lead for IBM garage. So. Do you think, what are some of the development practices that you recommend that really everybody should do? Is it like peer programming? You also mentioned that or code reviews. What about testing? Do you think this is crucial? Do they have to do it? Can we just do it a little bit? Or can we just skip some of those things?

[00:12:40] Holly: Yeah. We sometimes have conversations about testing because. The there’s a trade-off I think between doing something quickly and failing fast and getting that rapid feedback and not over-engineering while you’re doing that and the enormous benefits of testing. So sometimes if we’re doing something that we know is going to be throw away, and I think there’s a lot of value in doing something that you know, is going to be thrown away. That is that, you know, sort of lean startup , methodology, maybe testing doesn’t make sense. But I think in general, The, the benefits of testing are so great in terms of the quality of the code, but also automated testing is absolutely necessary to support dev ops and dev ops is really. Necessary now in order to support any kind of automation and efficiency and any, you know, that, that ability to do those repeated deployments and the ability to respond, to change and to manage risk. Sometimes, you know, you sort of hear these stories of something that goes wrong and then an organization doesn’t have any way to make a change to fix the problem, except either to go through. Lengthy process or to completely short circuit and bypass the process and, you know, have someone secure shell into the effective machine. And then they change the things by hand, which is obviously not going to be particularly robust in terms of the repeatability or the safety or anything. So you sort of get this chain where you. Do dev ops, because I know it gives so much better results in order to do DevOps. I need to have automated testing. If I’m going to do automated testing, I want to do it with test driven development, because that gives so much better quality for the tests and it. ensures the testability of the code and as well, I think one of the biggest benefits of test driven development is really to refine our understanding of the problem as well. Some people call it tested and design rather than test driven development because of that effect that when I sit down, I think we’ll see, what am I really trying to do? How will I really know what I’m successful? Let me write a test for that. And usually what we look for with a test is something that we would have been looking for manually. Anyway, you know, I go to a web page and I see this, or it prints this. It’s always, you know, we’re always looking for some evidence. We just try and encode that, looking for the evidence in, code, which is efficient. Usually. 

[00:15:09]
Michaela: Yeah. So test driven development often is I see it a little bit synonym to also unit tests instead of integration tests. But now you also mentioned something like a UI test, for example. So do you have, like, do you make some distinction here and do you think one is better than the other? Do you see that there’s a shift nowadays in industry? I see a shift and a little bit that, what is your perspective on that? 

[00:15:33] Holly: Yeah. I mean, I like to do test driven development at, at all levels. So I like to do test driven development for my integration tests. I like to do test driven development for my unit tests. I think sometimes you do get a little bit tangled where you can’t have, you know, you sort of, you, you do your, you write your unit test and then it passes. And then in doing that, you’ve done enough that actually your integration tests is already passing. So then you’re. Catching up with your integration test a bit, but sometimes we do it the other way and we say, okay, I’m going to start with my integration tests. I’m going to get those integration test passing. And then I’m going to fill in a bit with the unit tests. But I think like, I don’t think it’s something that is just for one level. I think if it’s an outcome that you care about and that you don’t want to regress, then there should be an automated test on it. I mean, I, I. I’m a huge fan of contract tests as sort of an intermediate layer between the integration tests and the unit tests. Cause I think sometimes with unit tests, well, integration tests are really expensive to run in any kind of complex environment, especially once you’ve got 60 microservices. Good luck running the integration tests in any kind of regular way. But then with the unit tests, I think you can sometimes get the sort of abdication of responsibility where everybody owns their microservice and they run their unit tests and everything works great. And the system as a whole doesn’t work. And so somebody has to care about that at some point, but then you sort of end up playing this sort of. Sort of pass the parcel of responsibility, where everybody goes more, my services working as designed. And so then an on all the problems happened at the seams. 

[00:17:13]
Michaela: Yeah. , my PhD thesis was about playing in testing our plugging systems and how you test them. It was more or less also services, service oriented architectures at that point. Right. And it was pretty new. People were just jumping on that vegan and so on. And I said, well, you know, you were going to get a little bit into travel if you’re, if it stayed the same with how we are doing testing and nowadays but you’re also an expert for cloud computing. Would you say that in the cloud world, somehow testing or in general engineering practices change, is there, do we have an impact we should we or can be developed in a different way, test, deploy everything. Why is said the same? 

[00:17:54] Holly: Yeah, I think it has to be different in order to take advantage of the cloud. So one of the things that you’re almost certainly going to want to be doing on the cloud is, is that DevOps it’s that more rapid deployment. And then if you. Deploying rapidly. And you don’t actually know if your code works, then either you’re going to have an enormous issue in production, or actually you’re not going to be deploying rapidly, you know? So we still sometimes see these cycles where something is getting deployed to the cloud, but then there’s a three week UAT phase before anything can be deployed. And so then. You know, that just doesn’t work. It’s a waste of the cloudiness. It almost may as well be on-prem. So, so you sort of get this ripple back from, again from the dev ops, which you want to be doing to the testing to the TDD. 

[00:18:42]
Michaela: I also think like we had, we had very strict roles back then. Right. So whatever, like operations. Yeah. The engineers, the software engineers or developers. And we had like the testers, then there was like a time. Now we have this dev ops for, you know, at one point for dev ops, I feel like every engineer was supposed to be a dev ops engineer. And and then we had like the full stack. So you’re not a front end or back end, your full stack, your full stack from front end to back into dev ops to everything. And now I feel people start to struggle with that concept again. No everything because there’s so much to know that there’s not a single person that can be like this end to end dev ops engineer to front end you know, genius. You see dad, like is there, is there again do you see that there are more roles that are forming itself or a person is bringing more Def of engineer and then more of backend, more front end, you know, cloud maybe, you know, even more concepts that we have here.

[00:19:43] Holly: Yeah, that one’s a really tough one. And I, yeah, I sometimes sort of, and I think I sometimes talk to people who ha, who say exactly the same as you, that, that there are too many expectations on me and actually trying to do all of these things means that not only will I not be quite as good in all of them, actually, I’m going to be pretty inadequate in all of them. And are you sure that’s what you want? And so. I think there probably is, is a space for having those specialist roles. But I think part of the issue as well, sort of is there’s an organizational decision about where do you, where do you put the boundaries? Because I think we probably still do want to be saying. That if you are too specialized, it creates organizational friction because it means that you risk becoming a bottleneck or, or the opposite as well that it, you know, it means that you risk not being deployed because all of a sudden, none of the projects our organization is working on, have a need for your skills. And since you only do this one thing really well. You’re just going to be sat around and that’s not great for us cause we’re paying you and it’s probably not great for you either because you’re really bored. So let’s try and have everybody at least be able to do a few things and let’s have people really comfortable sharing their skills as well. Cause I think that comes back a bit to the pair programming and the multidisciplinary teams that maybe I’m pretty sure. Pretty bad at front end, but I know just enough front end that if I’m collaborating with a front end developer, I can bring my something else. And we’re still going to do a better job than if that front end developer was on their own. And we’re going to do a way better job than if I was trying to be a front end developer on my own. And so then you get these sort of complimentary skills in, in the pairs. 

[00:21:37]
Michaela: I think we are coming back again to the teams as well, or to the concept of a team. And that people are really strong as a team. Maybe they are. And there was like, I did an interview with it, very senior engineer. And what he said is like, , if you want to go fast, go alone. But if you want to go far, go with the team or with people. Right. And so this was indeed in one of the interviews about productivity and happiness and so on. And I think. I was also talking to Alex from FedEx and she was on my podcast. He’s a testing expert. And she was also talking about these teams where you have like a person that has a strong expertise, but then this expertise somehow overlaps. Right? So you want to expand your expertise to other roles. Let’s say you are a testing expert, but then you want also to understand development a little bit, then you want to understand maybe dev ops a little bit. Right? And so you’re having this. These shapes that are overlapping. And then in the same team, you have a person that is very similar to what you said, right? They are front end expert. And so you’re overlapping in your understanding each other quite a bit. Right. It’s good. If you don’t, if you’re not solely responsible for everything and you can learn from each other, I think learning is also such an important concept for happiness. Do you see that, that people want to learn? 

[00:22:47] Holly: Yeah. A a hundred percent, I think it’s, it is one of those things that motivates you at work. Isn’t it is, is that desire to learn and, and, you know, if you just do the same thing every day, it, I mean, it’s, it’s awful. Isn’t it? There needs to be something coming in. And I think you’re right. That, that does come back to that teaming that if you’re working in a team and people have different skills than you, then you’re, you’re automatically going to be learning. And one of the things that I always said about pairing in particular is, you know, there’s sometimes we put sort of a hierarchy on pairing doughy and we say, okay, so we’ve got the senior developer pairing with the junior developer and they’re teaching everything they know to. It always, it always goes in both ways. So as a senior developer, if I’m pairing with a junior developer, often they’ll know a framework I’ve never heard of. And so then they’ll teach me about that and they’ll know keyboard shortcuts. I’ve never heard of. So they’ll teach me about that. And so it’s always that, that two way knowledge transfer in, you know, independent of your position in the hierarchy or how long you’ve been anywhere. Yeah. 

[00:23:50]
Michaela: So I hear you talk a lot about pair programming, so. I don’t hear you talk about code reviews. What do you think about them? Do you do them, are they not that important? Do they compliment or do you don’t need them, if you do poor programming, how do you see 

[00:24:03] Holly: that? So my, my, my personal take is that one of the great advantages of pair programming is that it eliminates the need for code reviews. And we sometimes talk about You know wait, isn’t pair programming, more expensive. I’ve got two people doing the work of one person and, and, you know, there’s all sorts of reasons why that’s not true, but I think one of them is that otherwise you have, usually you will have a para-pro code review process at the end, otherwise, and that can be really expensive, so it can be expensive in terms of people’s time, but then it can also be expensive in terms of the sort of thing. Bottleneck and the blocker that it creates, and it can be expensive as well in terms of the, sort of the patterns that it encourages. Because if people know that when you put something in for code review, it takes three days to get it back and get it approved. You know, that’s maybe a pathological case, but it’s not that pathological people. Aren’t going to be putting things in every 10 minutes. You wait until you’re finished something and then you send it over and then you get this. Spiral where the person who’s doing the code review gets a mountain of code and they go, Ooh, I’m not, I’m not looking at that until I’ve got a bit of room in my schedule, which is three days later. And then as well, when they look at it, usually. I see a couple of things happen. One is that because it’s so much work, if there’s a really fundamental design problem, either it’s sort of too late and they can’t see it, or they do see it, but they think, oh man, you know, they’ve been working on this for three days. I can’t go back and tell them they should have done something completely different or that they shouldn’t even written any of this code. And so then the sort of the big problems don’t get fixed and. But then you think, well, but I’ve got to show that I did the review. I’ve got to show that I’ve got some value in this process rather than just annoying them by waiting for three days. Let me find the position of the semi-colon line 36. Let me comment on that. Then everybody knows I’m contributing. So you get this sort of bike shedding. And as you can tell, if I find the whole, the process for us one of the patterns that I really encouraged with the pair programming is that you rotate the pairs every day. So that gives you a much deeper code review. Cause I think otherwise you only, you get like one person’s code review, but then you sort of end up where two people can be wrong just as easily as one person or two. Certainly, you know, two people can be wrong. So then on the second day, A third person comes in and then there’s already sort of another built-in code review where they, in order to be able to contribute, they get walked through what was done the day before. And then they’re able to say things like, oh, well, but why did we do this? And here, why don’t we just try this? And it it’s, you know, it’s not a formal review. It’s an interactive sort of getting them up to speed teaching experience, but then it means that there’s this second chance to catch errors before. Developed too much, but I think, I mean, I think you probably are. You’re asking the question cause you, you probably have quite a lot of expertise on code reviews and you’re gonna tell me all the patterns where it does work, which of course it can, then it can work 

[00:27:07]
Michaela: with no, no, but I definitely did the recall and realize all the things that you said, because this are definitely really common problems that I also see that teams have. Right. So this is also one of the things by in my view, Teams come and they bring all really everything that you said, right? Like, and this whole chain of how it just doesn’t work. Great. How to process doesn’t work and where you, where you have this waiting time, where then the code reviews are too big, right. Or you’re done, cannot understand them. You still have to do them. What do you do? Right. So this, there is definitely this, this loop that you are describing. Totally recall, because this is, you know, this is the, the problems that all the people are bringing on the table when they’re coming in, when I’m working with it. Maybe what I see, I actually really liked code reviews because of this synchronicity. Right. So you can have them in a very lightweight way. I also see them complimentary a little bit to peer programming, but you definitely have to do them in a different way. Right. And I think what many organizations don’t understand and why we are creating this loop of yeah. Troublesome problems that we have, how we doing is that we don’t understand the goal of why I’m doing this. Right. What do we want to get out of that? And then also, okay, what do I want to get out of that? And how can I shape the process in a way that I’m getting this out of that? Because I really see that they have all these painful drawbacks. Definitely. But they also have like really wonderful benefits. So I think the most important is that you really understand. The pain points that you said very, very deeply, but then also, what can you, you know, what can you do to counteract them? How can you change your practice but, but I see, I see all the things that you say, and I’m actually a big fan of pairing as well. For me personally it’s very draining to do it. Like I love it from time to time, right? Like it’s the best where I feel like. You have your mentor there, or, you know, you have just this connection and the supportiveness with the people. So I totally enjoy it from time to time, but not too often. How often do you do pairing? 

[00:29:17] Holly: So what, what we used to do. In the, in the garage is, is we would do it pretty much all day, every day. And there was, there was a few advantages to that because I think one of the, sort of the hardest things of pairing is the logistics. And so then going back to the PA to the code reviews, you know, there’s some circumstances under which pairing just will not work and makes no sense because it’s, it’s so synchronous and asynchronous doesn’t scale. So, you know, you need to have that kind of asynchronous process as well. And if you’ve got Particularly, you know, if it’s something like open source where people are in different times zones and they’re working different schedules and some of them are doing it in their own time, you know, something like pairing it, it, you know, it’s almost off the table to, to begin with. But what we found is if we tried to be. Ad talk with our pairing, which of course works quite well for a lot of teams. We sort of, we never ended up doing it because it would be well let yes, let’s pair today. Yeah. We definitely want a pair today. Okay. So, so maybe after lunch. Oh, I can’t after lunch, I’ve got, you know, I’ve got a thing. Okay. Well we’ll maybe, maybe at two o’clock. Oh, I can’t. And then, you know, we, we settled that we’re going to start pairing at three o’clock, but then something would come up and then somebody would be unavailable. So by sort of defaulting to pairing, we’d keep our calendars free. And it was great actually, because if we got invited to. I’m afraid I can’t attend this meeting. I’m pairing. So if you interrupt me, you’re interrupting my hair as well as it was sort of, it was like this sort of intro we could block your time. 

[00:30:43]
Michaela: a couple of organizations that are working with and That we try something out and it looks really, really nice is that you’re doing code reviews on a particular time. And then it’s done by one engineer. Right. But they’re doing all the others can go in and now everything is via suit, right. As are our teams and whatnot. Right. So by that video conference, and so they’re doing this cultural view, right? Everybody that’s interested can join. Right. And those sessions really, really particularly work well. I’m very surprised by that, but I really have good feedback from, from different organizations where you know, you have this casual thing where people know this is happening, right. One person really drives the review and the errors can watch ask questions, clarification questions, or, you know, other things maybe learn just have their fairness. Have you tried something like that? Is that 

[00:31:36] Holly: we’ve tried some similar things? Not, not exactly like that, but that, yeah, that seems, seems really good. So we did I mean, one pattern of course is the sort of the mobbing pattern where we say We don’t just want to do it with two people. We actually particularly for knowledge sharing, you know, we want to do it with six people. So let’s all gather around the keyboard or let’s all gather on the zoom, but as well, what we used to find was, again, it’s that scaling that the pattern I described, where you rotate the pairs every day in a big code base. With a big team is still gonna be quite a while before you rotate round. And so then you do need something else. So what we’d sometimes do is on a Friday, we’d do a show and tell session. So it was, it was very similar to what you described actually, but we’d sort of someone would say, okay, well, I’ve just done this particularly evil thing in this part of the code base. And nobody’s sure. Yeah, understand what I’ve done unless I talk them through it, or I’ve just discovered this really counter-intuitive behavior in this library. Let me show you all what it does. So you don’t get called out the same way I did. So it was sort of partly a code review and then partly a, an education session, but it would just be really informal and just whoever had interesting code. Would show it and talk it through the rest of the team and then they’d ask questions and that kind of thing. 

[00:32:46]
Michaela: So maybe one last thing that I would like to talk a little bit with you about is because you. You actually transitioned a way, right? From, from being this development lead at the IBM garage. And now you’re an innovation leader in the corporate strategy team. What does that mean? And what, what’s your role there? What do you have to do? 

[00:33:05] Holly: So our, our, my role in corporate strategy, it’s really interesting. It’s because I’m sort of in the, you know, we’re sort of a headquarters role, so I’m sort of in the, in the heart of IBM in, in the center of IBM and I sort of get to see a lot of what’s going on and what we’re trying to do is we’re trying to. Really just be the, sort of like a free resource, both people and financial to try. And when we see something amazing that can’t quite happen because there’s some sort of blocker or there’s just, you know, it just needs a little bit of money to, to get over a starting line that we can sort of give it that, that push. And then hopefully. Make something amazing happen so often it’s where if we have a client team and you know, the client really wants to do something and we really want to do something, but just somehow it just needs a little bit of money just to demonstrate to the people who have the large amounts of money that this is really worth doing. And, and one of the things that we do as well, because I think as an industry, we’ve, we’ve moved a lot now, too. Every, you know, we always want to be trying to do things by actually trying them out rather than doing slides. So that that’s not, it was new when the team I’m part of was started. It’s not, it’s not new anymore, but still in a larger organization, you still sometimes get things that fall between the cracks where it doesn’t quite fit in, in anybody’s mission. But that means it’s actually extra important. So then, because, because we’re sort of central, we can bridge those, those internal barriers. 

[00:34:39]
Michaela: And do you still have a lot to do with engineering? Do you still develop software or is it more really strategic and leading that you’re doing right now? 

[00:34:49] Holly: It’s a little bit of a mix, which I think going back to what you were talking about with the learning and the, and the variety, I think it is good. So it means that whatever, whatever seems most necessary. We’ll do that. So sometimes it’s actually let me go in and architect this, let me, let me go in and out a bit of code. Let me, you know, I’m not a data scientist, but some of my colleagues are data scientists and they’ll okay. Let me fix your model for you. And then sometimes it’s more strategic and more making those connections to say, actually, I can see that this is going on in one part of our organization and something complimentary is going on in another part of my, let me connect those two, and then we’re going to get a better outcome. 

[00:35:31]
Michaela: Oh, that sounds like you’re really having a lot of hats. I really liked that when I was at Microsoft, also driving bit innovation there and having all these different hats, like you’re, you’re driving projects, but you’re also doing the implementation. I was mainly prototyping at that time. But it also means that you, as you said, you have to learn a lot. Did it take it a little bit to get used to that role and know what you have to do? Do you have like mentors that help you or is it. Structure around some, formal mentorship program at IBM. How does that work? 

[00:36:03] Holly: I think. With that kind of role where, where you have a lot of hats. I think it comes back to, to the team again and the sort of the resiliency and the team. So what we tend to do, because we’re doing challenging things and we don’t know in advanced necessarily what skills will be required is we, we do sort of go around in groups where there’s more than one of us. And then that means that whatever hat ends up being needed, there’s someone who has that hat and then someone else who can sort of shadow the hat. 

[00:36:34]
Michaela: Yeah. Yeah. That sounds really a great team to be in. Maybe the last thing really last thing. And then I’ll let you go. Or that I want to talk with you about is there’s the same culture eats strategy for breakfast, right? So, and what it means is that. The culture is of utmost importance. But also it’s a very vicious cycle that, you know, how do you get your culture to apply and how do you get your team members to, you know, like each other or at least respect each other, right. Especially if you have, so sometimes people have I also have that in my workshops when we are, you know, when we are working on these problems, that code reviews create right where we have, for example, very strong personalities in a team with very strong opinions. So it have problems, you know, like giving into, what did you hear? Do you have like do you have like some strategies for that? Do people do something to do, do some coaching or can you help can the team help itself? What’s your experience with that? 

[00:37:34] Holly: It’s. It’s tricky culture, because in some ways, some things about culture, you, you can change because you can, you know, sort of start with your small changes and then success is the best evidence. And then you can roll it forward and you can make those little changes to encourage psychological safety. And you can have, if, if the leaders are bought in, then they can make some of those changes as well. But part of it then does still come down to the people in the team. And that is often the thing that is. Most challenging to, to change, but, but even, even people I think are, are changeable. And I think sometimes characteristics that we assume are just this person actually are the context in which we put them as an organization or habits that they’d learned that with the right environment can be unlearned 

[00:38:27]
Michaela: or teamed up that makes maybe right or one person creates or reacts, but only two, right. Person, but to really the whole team dynamics. Are you are you a fan of like bonding sessions and you know, we’re people, what a team really can, you know, get to know each other, do you think that’s 

[00:38:45] Holly: I really like them, but I think they, they need to be done sensitively because they do end up sometimes not being very inclusive if we. If, if we choose something that half the team love, and then some people are sort of stood there going, well, this isn’t really what I wanted. So I think there sort of needs to be some, some pre-thought to, well, there’s everybody in the team going to like going out to a noisy bar or. Does that actually not work. And I’ve seen I’ve had some good conversations with people actually, when I talk about fun, because sometimes we get these sort of bonding sessions that get put into a team and we say, right, we’re going to have fun. Now we’re going to, you know, do our bonding and we’re going to go out to a bar and some people are going to know this, this isn’t fun for me at all. But then there can be alternative. So some teams, for example, they’ll play a board game at lunch. And so it means that people who need to rush home after school, you know, are after work to get kids from school or that kind of thing. You know, they’re, they’re included and people who don’t drink are included and it’s in sort of at work. So then it feels like an extra nice treat. It doesn’t feel like you’re sort of being required as part of your job to go out and do things out of hours, which some people really object to. And so then, you know, and there’s other things like, like that, or. This is a really old example because w w one of the other things that happened when I started talking about fun is lots of people told me about their workplaces and that the terrible unfun things that had happened. And there was a team and they were sort of there were a support organization, so they would work quite long hours and shifts. And it was a distributed team. So what they would do is AF after five 30, they would all play quake or doom or something like that together. And it was sort of back in the day when broadband at home was a luxury. So you would take advantage of your office network and they were, you know, they were, it was completely you know, a bonding thing. And they were told by management, if you’re in the office after five 30, you have to be doing work, which I just thought was. Incredibly short-sighted on the, on the part of the, that management to say, you know, your, your people are not on your time making the effort to get to know each other better and to work better as a team. And not only have you not, you know, encouraged this and, you know, put in money for cakes or something, you’ve actually told them they’re not allowed to do it. Yeah. Yeah. That’s very, 

[00:41:08]
Michaela: very shortsighted. Yeah. Terrible mistake. But sometimes I really like for management, sometimes I really ask myself. How can you make this decision, but you know, different story. Okay. Well, Holly I know we are on time, so thank you so much. I could have, you know, like talked with you another hour, but thank you so much that I could pick your brain about everything, about all your experience and you know, your knowledge that you have. Yeah. It was really wonderful that you have been on my show. Is there something that you want to share with my listeners? Did you think it’s important for them maybe around culture, happiness, fun productivity, maybe a little thing that they can start doing today? 

[00:41:49] Holly: I mean, I th I think, yeah, just to sort of think about those, those, those aspects of fun and, and think about how can I have more fun at work? How can I bring more joy, joy, and delight at work, but also how can I make. Those around me are also having more, more joy into life at work because otherwise it becomes a bit one-sided. Yeah, I 

[00:42:09]
Michaela: think in general, after Corona, I call it now after COVID right. I just say after, because it’s just nicer to say that I think we really have to come back to thinking more about others. I think we haven’t been thinking. Enough about others before, but I think, I don’t know how it’s in, in, you know, in the UK, but it, at least here, I feel people are more distance because of it. Right. And I really think we should think more about each other and you know, what brings us joy? How can we help others? How can we be nice to others? Right. Yeah. And I think this can bring joy again to yourself, right? If you maybe should think about how can I make the day, a little bit better for my colleague today? Or help somebody? I think this can be a cycle of positivity. I dunno. Like, yeah. 

[00:43:00] Holly: Yeah, absolutely. I think we realized one of the things that we realized with, with COVID is how, how much we need others and how it’s, you know, it’s not much fun without others. Yeah. Yeah, 

[00:43:12]
Michaela: exactly. I think so, too. So I hope you all can come back together and then really be nice to each other and care for each other. Yeah. Okay. So Holly, thank you so much for being on my show. Have a wonderful. In them. Yeah. I hope I talk to you soon again. 

[00:43:29] Holly: Yeah. Thank you so much. It was, it was great fun. 

[00:43:32]  Michaela:  Yeah. It was really fun.

Better collaboration & performance through diversity and inclusion

In this episode, I talk to Trier Bryant and Kim Scott who co-founded the company Just Work which helps organizations and individuals create more equitable workplaces.

Trier Bryant is a strategic executive leader with distinctive Tech, Wall Street, and military experience spanning over 15 years and the CEO of Just Work. She’s previously worked at Astra, Twitter, Goldman Sachs, and led engineering teams in the United States Air Force, where she already also drove diversity, equity, and inclusion (DEI) initiatives.

Kim Scott is the author of both successful books: Just Work and Radical Candor. Kim was a CEO coach at Dropbox, Qualtrics, Twitter, and other tech companies. She was a member of the faculty at Apple University and before that led AdSense, YouTube, and DoubleClick teams at Google. 

We talk about:

  • how they both landed in tech
  • their diverse and exciting background
  • how to counter bias, prejudice and bullying in the workplace
  • the framework for diversity and inclusion they developed
  • and how engineering teams can be more inclusive.

Today’s episode is sponsored by CodeSubmit – the best take-home assignments for your tech hiring!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: 

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

Michaela: Hello, and welcome to the software engineering unlocked podcast. I’m your host, Dr. McKayla, and today after pleasure to talk to Trier Bryant and Kim Scott who just released the newest book, just work. But before I start, I want to tell you more about code, submit the best take home assignment platform to streamline your tech recruiting. Yes, exactly. This amazing startup is back sponsoring. Over the last month, they introduced a lot of exciting new features, such as live coding within a full working ID, running directly in your browser code submit makes it really easy to recruit and hire amazing title, and they support 64 different languages and frameworks and integrate seamlessly with. Beginning of the year when I was hiring engineers for a startup, I worked with, I used the tool during the interview process for all the candidates and was extremely satisfied. Their mission real task. No, brainteasers resonates a lot with me, so I cannot recommend coats. Admit enough, please check them out at codesubmit.io. That is codesubmit.io, but now back to Trier and Kim who founded the company just work, which helps organization and individuals create more equitable workplaces to your brand is a strategic executed leader with distinctive tech wall street and military experience spending over 15 years. And the CEO of just work. She previously worked at Astra Twitter, Goldman Sachs, and led engineering teams in the United States air force, where she also drove diversity, equity and inclusion. Kim’s cough is the author of both successful books, just work and radical candor. Kim was the CEO coach at Dropbox, Qualtrix, Twitter, and other tech companies. She was a member of the faculty at apple university and before led AdSense YouTube and DoubleClick teams at Google. So what should I say, except that I’m super, super thrilled to have both fantastic and super accomplished women here with me through here. And Kim, welcome to. [00:02:00] [00:02:00]

Trier: Thank you for having [00:02:01]

Kim: us. Thanks so much. It’s an honor to be here. [00:02:04]

Michaela: Yeah, I’m really, really excited. It’s also the first interview for me, where I have like two guests here on my shows. I’m so I’m super excited. And I normally start my show with asking my guests how they actually landed in tech. So a little bit about your journey and here, I think it’s really interesting because you both have such a wild, a little bit wild and very diverse backgrounds. So three, I want to start with you. You served in the United States air force. Like, I mean, it’s already makes me wow. Right. And you led engineering teams there. How did you get into us air force. And how did you get into software engineering and how was that experience before. [00:02:44]

Trier: Yeah. I actually got into the air force through, by attending the air force academy. So I attended the air force academy for four years for college and then got commissioned as an officer. And I actually. Wanting to be an engineer. I majored in systems engineering because my dream job was actually to work on the planes. The future planes at the airport was going to build and take feedback from the pilot to make changes. That’s not what I ended up doing. I ended up doing cybersecurity, but that’s what I wanted to do. And here we are, so [00:03:21]

Michaela: okay. And cyber security. So. And did you do that as the U S M U S air force? Or where did you, when you do do that? [00:03:29]

Trier: I did that. I did that for seven years, active duty in the air force, cyber security, primarily defense. So preventing adversaries from getting into the us military is now. Oh, that [00:03:42]

Michaela: sounds very, very exciting. How was that experience for you working with probably quite a lot of man at that point. I mean, maybe that’s a very naive picture of the U S air force. I don’t know. Maybe it’s like equal, but I mean, engineering generally is very heavy, you know, unbalanced work [00:04:00] with diversity. So how is that in the us? [00:04:04]

Trier: Yeah. So that’s actually then how I, I usually say I stumbled into my passion with diversity equity, inclusion, DEI, and that was because there weren’t a lot of women in the military, particularly as an officer in the officer Corps. And as a black woman, there definitely were not a lot of black officers as well. Fewer black women officers. So that’s when I really started to understand what could we do as an institution, both at the air force academy level, air force, and DOD to increase representation in the U S. [00:04:40]

Michaela: And then you have also been at other companies like Twitter and other tech companies. How has that experience, is it different at the us air force or is that very similar? We say, well, people are similar or work. Cultures are similar, you know, problems are similar. [00:04:55]

Trier: Yeah. I think that, you know, every organization has similar problems. I mean, cause you’re dealing with people, but how you may approach them or solve for them will be unique and different. But every company and organization and industry has their own cultures and subcultures within those cultures. So it’s been quite an experience going from a military type of a culture to then, you know, wall street and Goldman Sachs and then two tech companies. But I think ultimately what’s really exciting is that. Really great challenges and really incredible smart people across all of them, but they’re vastly vastly different for sure. [00:05:32]

Michaela: What do you like? Could we generalize that it’s more, that’s more hierarchy there in the U S air force, at least that’s what I would think that it’s very radical and very like order and the, you know, [00:05:44]

Trier: yeah, there, I mean, there’s definitely a chain of command. You, you know exactly how many people in levels there are between you and the commander in chief, the president of the United States, but there’s a, you know, I think the biggest difference from a culture [00:06:00] perspective is. And the military, as I say, everything that the military does is either to save a life or take a life on wall street. Everything at Goldman was about making a dollar, losing a dollar. And then I found at tech, you know, it’s, it’s really just about. What’s been really energizing about tech. It’s like, what is the cool new thing, right? Like what’s the new, cool thing that people want to build or how do you want to solve it? And, and, and building upon that. And it’s been really interesting, but very different cultures as far as like what motivates people to show up. [00:06:36]

Michaela: Yeah. Yeah, I can imagine. Yeah. I like it this very, very, to the point abstracted essence of what it means to work somewhere, right? Like a dollar alive. And now we say, well, the coolest and newest and shiniest thing, even though I think maybe Twitter and, you know, like those tech companies are a little bit more advanced. There are a lot of tech companies that are quite old school, boring tech companies, where I wonder a lot, like I’m doing a study right now. Um, work culture and what motivates people and productivity, satisfaction, happiness, and a lot of people deal with not that new and shiny thing, right. They work with, you know, established technologies and. What I’ve seen from the interviews that I did is that people are not only motivated by, you know, the new and Chinese thing, but really the, the value also that they bring with their, with the product, for example, or sometimes it’s just the people that you’re working with that are very, very energizing and, you know, bring your motivation. And I have seen it as quite diverse and really depending on the company and the environment, people are very, also adaptable to the environments that they are in. When, you know that thing isn’t going so well, they can adjust and focus on something else. Is that also your experience that, you know, even if you’re in a workplace where some of the things aren’t going that well, depending on what kind [00:08:00] of things you’re focusing on, something else, and people are tough. [00:08:05]

Trier: Yeah, I think that that’s one of the things that, you know, professionals that you gain with experience is just how to be adaptable and how to understand, you know, how to make the biggest impact you can with the resources you have and, you know, collaborating together efficiently. And I think that that’s why, you know, just work the book and the framework that we have. Is really being so receptive to tech companies because we, we need to increase. We need to, you know, efficiently collaborate. Like how do we, how do we increase collaboration while also, you know, respecting individuality? And that’s what just work is because, you know, that’s, that’s the two by two that Kim gives you. And if, you know, cam from radical candor, like Kim’s going to give you a two by two and Kim is going to give you a framework. And, and it’s been really exciting too. Have the framework and the book leveraged in that way that, you know, teams are able to increase that collaboration. Yeah, [00:09:04]

Michaela: that’s really cool. I really want to deep dive into that and really understand a little bit more about that. But before we go there, I want to ask Kim a little bit about, about her background, because this is also super fascinating, right? So you manage a pediatric clinic in Kosovo. That’s what I read online. And you started a diamond cutting factory in Moscow. I mean, how, why, how did that come about? I mean, this is really a big change. We were just on vacation with my kids. And I read this article on a guy that, where he was looking for diamonds, and I told him about this to my kids and he actually found one and proposed with this diamond and that, and he was like, yeah, we are going to do that. And I was like, yes, I didn’t even know that it’s still a thing. So how did you do that? Like how did you diamond cutting or diamond timing companies? How does that go? [00:09:59]

Kim: [00:10:00] Well, so I, unlike TRIA, I had a very impractical major in college. I studied Slavic literature, so it wasn’t totally clear when I graduated, how I was gonna, how I was gonna make it. And I wound up, I wound up going to Russia and moving to Moscow and I took a job earning $6 a month, working for Moscow physical technical Institute and what I was doing there. I was the reason why I studied Russian was that I was very interested in. And ending the cold war and then the Berlin wall fell and it solved that problem solved itself. So I wound up in Moscow doing a study on military conversion, sort of swords into plowshares. And, uh, and that was very interesting. But then that company wound up pulling out of Russia and I wanted to stay in Russia. And so. As all things, this is what TRIA and I ain’t going to talk a lot. It all comes back to relationships. So through a friend of a friend, I wound up. Job in Moscow with this, with this diamond cutting factory. And that was actually where my interest in management started was, was I had a higher these diamond cutters, these workers, and I thought that they wanted that they were going to just want to be paid. I didn’t have any notion of management at the time. 22 years old. And I thought it would be easy. Cause I had dollars may have rubles dollars worth something and rubles were worth nothing. And so I went to them and I just said, I’m going to give you this salary. And I just assumed they would take the job, but no, they didn’t just want money. They wanted a picnic. And so we went out on a picnic together. And it turned out after a bottle of vodka. I finally figured out what they really wanted from a leader was someone who would give a damn who would get them out of Russia if things went sideways in that country, as they were apt to do at that time. And, and so that was all of a sudden [00:12:00] management became much more interesting than being just about paying people. It became about for me, Relationships. And as tree are said, learning how to create environments in which we can collaborate and respect one another. That didn’t lead me to attack immediately. That was a longer, I wound up in. I wound up in tech after I, after I, I graduated from business school and I worked for them. I worked for the federal government, the only person in my class to do so working at the FCC. And when I was there, the T this was, gosh, it was long time ago. Now it was in 1996, but the telecommunications revolution was, was in full swing. And that was, that was actually where my interest in tech. Working for the us government. So go [00:12:48]

Michaela: figure. Yeah. Yeah. And so there, you started doing something technical or managing technical people. How, how did you tip [00:12:56] Kim: I, so it’s very strange. So we were trying at the FCC to. And the settlement right system. So it turns out the United States is a net exporter of telephone calls. And because we had broken up the U S had broke it up. It’s it’s telecommunications, monopoly. We, these different telcos us telcos were negotiating with, with PTT that were monopolies and we were losing those negotiations. And so we were exporting billions of dollars in what’s called settlement rights. And those days it was quite expensive. I remember. The man I was dating at the time was in Africa and, and I called him and had an hour long conversation. And while that with a thousand dollar phone bill, so that was, remember those days we forgotten those days. But that, that, that was when I was there. And I, we were trying to end that we were trying to bring down the cost of international phone calls. And as, as we were looking at doing this through regulation, I learned about voiceover IP, and I thought, you know what? That [00:14:00] is the solution. W, and I wound up starting in Israeli voiceover IP company called Delta three. So that was my foray into tech. I thought, oh, well, yeah. Tech could solve these problems of bureaucracy. Wow. [00:14:14]

Michaela: Yeah. So you found it a lot of companies even in different countries and this must be such an. Impressive experience as well. I mean, I moved to several countries, lived there, established a life there, but even, you know, starting a company is another, another step. Right? Like you have to understand how to do that there, how people work, how people think that’s really, really impressive. And so you both together work on chest work. You wrote the book, just work. And now you have a consultancy around that. As I understand it, it’s like. Focusing on recognizing understanding and preventing or fighting injustice. But if you have to summarize it in one sentence, how, how would you say what’s the, what’s the essence of the book and, and why, why would people care? Why should they go and read it? [00:15:08] Kim: So the essence of the book is about really diagnosing and treating the problem of workplace injustice so that we can build the kind of organizations where we all want to work, where organizations that are optimized for collaboration, which is humanity’s superpower and organizations in which we can all respect. One another as tree said before, I don’t know if that counts as one sentence about chair can do it better than [00:15:34]

Trier: me. No, I think that’s, it can that’s that’s the essence of the book. And then for just work, the company, the company helps leaders and organizations build more equitable, productive, and successful workplaces. But what makes the company unique is that the just work framework. Book is definitely part of that, but we meet organizations where they are, because there’s also other things, you know, there’s not a [00:16:00] silver bullet to get this right. You have to have a very comprehensive strategy. And so we provide, you know, a full suite of D and I solutions and products that, you know, can help organizations get there so that they can just work because it takes a lot, you know, there’s not just one thing. That’s gonna get you there, but you have to have a starting place. Right. One of the things that’s just so powerful about the book is that, you know, we don’t have a lot of frameworks. We don’t, I, I have never been familiar with a. Framework that employees can use, that organizations can use, that leaders can use, that you can add to your toolkit. That’s very tactical, right? And so the fact that Kim has really built this and provided this is really powerful that you can point to something and people can easily grasp it and start using it in their every day, you know, in their everyday work situation. [00:16:57]

Michaela: So, what you’re describing is this diagnostic tool for identifying and treating systematic work injustice. Is that also described in the book? And can you describe it for my listeners? How it looks like, how can they imagine it? What does it do? [00:17:13]

Kim: How do we work? Sure. Absolutely. So I think we tend to treat the problem of workplace injustice as though we’re one big monolithic problem. And when we treat it that way, it becomes very difficult to, to, to cure the problem to solve the problem. And so what we’ve done is we broken down the problem into its component parts. So the, the, at the root, the root causes of workplace injustice or bias, prejudice, and bullying. And I think too often, we tend to conflate those three things. We treat. We treat them as though they’re all the same thing, but they’re different. So bias is sort of not meaning it. It’s often unconscious. Prejudice is meaning it it’s a conscious belief and bullying is being mean or meaning [00:18:00] harm. And so each of these, each of these attitudes and behaviors demands a different kind of confrontation. And then when you add power on top of bias, prejudice and bullying, you wind up with discrimination, harassment, and physical violations, and we can walk you through some of the, some of the solutions that we recommend that leaders can put into place and, uh, upstate. Can use so that they don’t get slimed by other people’s bad behavior. And that we can use when we are the person who’s harmed by these attitudes and behaviors. And also how we can respond when we get feedback that we are the person who was harmed. So in some senses, it’s like a six by four. It’s a big, it’s a, it’s a big problem, but six by four is not intractable. So there’s bias, prejudice, bullying, discrimination, harassment, physical violations. So those are the problems. And then each of us play four different roles where either the leader where the upstander. We are the person who’s harmed or where the person who’s causing harm. And one of the things that trio and I are working on doing is, is coming up with very specific interventions for each of those problems. Enrolls. [00:19:13]

Michaela: Yeah, I really liked that. And I think, especially when I was younger, I’ve ended up, I don’t know why I ended up quite often in situation where there was harassment or really bad situations. And I felt like people could already smell that they can step over boundaries and, you know, be mean, be bullying, um, even more. Right. And so, I don’t know. Is that something that you, that you saw, you probably did some research around that and, and very familiar with. [00:19:44]

Kim: So I think that it is one of the things that I have found is that when we, when we observe workplace injustice or we observe that someone is a colleague who we care about is coming into work, having experienced [00:20:00] injustice in the society at large. And if we don’t do anything about it, if we, if we are a passive bystander, Then I find at least I often wind up feeling quite good. And then, and then that wakes me up. And now all of a sudden, not only am I a bystander, I’m also harmed by it, but I also have caused harm by not intervening. And so now all of a sudden I’m playing three of those roles. And so teaching teaching. Sort of bystanders to become upstanders is really important. And then also working with people who are the targets, bias, prejudice, and bullying to know how to respond. Cause it’s it’s. I think we have a default to silence and very often when, when there is a default to silence, then we reinforce the problem. So, so helping people learn how to choose a response. [00:20:58]

Michaela: I also think like I’m coming from Europe and especially Australia. So I don’t want to generalize for whole Europe now. There is in Austria then was when I entered the workforce. I wasn’t really expecting that people were really nice to me. You know what I mean? Like the school system here is already that, you know, there’s like the power hierarchies and teachers can be quite mean and you know, the person is the boss, so they can, they have, somehow people are expecting the boss to be mean and, you know, to be in power and to be able to say mean things. Over time. Very, it took me many, many years and you know, many countries to work on that. I also changed my, my perception and I said, well, what happened at that point where I felt really shitty as a, you know, as a student, for example, with professors or even working at university horrible, horrible work environment, harassment, but really official harassment, like shouting in front of the colleagues. Like the professor, for example, nobody would stand up because. [00:22:00] The new it, but it weren’t like it wasn’t, it wasn’t something that you would say, oh, it’s not allowed. It’s not good. We know it, but it wasn’t really not allowed. And just over time, and those were being in the U S I get more sensible for it. And I was like, this was really unright at that point, I would, you know, like, but it wasn’t, it wasn’t my current. Understanding at that point that this is something that is not allowed. How do you see that? Is that, is that a cultural thing as well? Or it has to do, I think it’s cultural, but it’s also probably with the age, right. That you’re really young and you’re coming into and you don’t know what’s right. And what’s wrong. Is that allowed or not? [00:22:37]

Trier: Yeah, some of that, some of it is culture and how things are communicated, but you know what you’re, I think that what you’re, what you’re getting to are some gaps within organizations, within their people, HR practices, because there’s a need for things to be very explicit and not be implicit. And one of the things that we talk about in the framework is having a code of conduct. Right. And it needs to be very clear. So. People can think and believe whatever they want, but you can’t come into an organization and do and say whatever you want. And so in a company to your point, like it has to be very clear. This is not acceptable, or these behaviors and attitudes are acceptable. And then another part that we talk about in the framework is having, you know, a holder of consent. And that’s another one that, you know, Kim and I have spent a lot of time talking about, about we’re in an organization. Organizations, aren’t very explicit on a culture of consent. Right? So like McKayla, you’ve probably worked at organizations where if we said, Hey, was there a culture of consent in your previous organization or companies? And most people will say, well, yeah, there’s a culture of consent. No, one’s going to say no, we don’t have a culture of consent, but it’s, it’s, it’s implicit. But those are things where organizations have to make it very, very clear. Right. Like in whatever type of documentation employees, reading adhere to that, [00:24:00] everyone can point to it. Everyone understands what it is. And the other thing that Kim and I have talked about a lot is that in this, you know, environment of a pandemic with COVID and people going back into the workplace, having that being explicit is really important because it goes beyond. You know, these physical interactions, it might be more intimate or personal to something as simple as like a handshake, right. There’s culture of consent. And COVID is like, what are we going to do with the handshake? It was interesting yesterday in my building, someone reached out their hand to introduce themselves to me because they’re a new member of the staff. And I was like, I’m never shaking, anyone’s hand again, but we can like nice to me to pull it out. Right. But like, how are companies thinking about this in your organizations or even, you know, you’re in a meeting. If someone wanted to borrow my pen and didn’t ask you just grabbed it. I wouldn’t think too. Now, if we’re in a meeting and you grab my pen and I’d be like, you know what, it’s yours have it. I have plenty on my desk. So, you know, these are some of the things that I think there’s real opportunity for leaders and organizations to really pause, look at the artifacts that they have for their employees that help them understand. What is acceptable, what is expected of their behaviors and their actions in the workplace. And if there’s things missing, then where do we need to add and fill some gaps so that we can get it right. And it’s very clear of as far as like, what is expected of people. [00:25:22]

Kim: And I think also McKayla, I’m sorry you had those experiences in school. It sounds like. Sort of acceptable for professors to bully students. And I don’t think that’s unusual, unfortunately I don’t. I think that happens everywhere in the world to a certain extent. And, but I do, I also think it’s changing. I’m Optum. Well, I’m, I’m an eternal optimist, but I really do. In fact, I learned how to deal with bullying from my daughter when she was in third year. So she was getting bullied on the playground as happens, children everywhere in the world, unfortunately, and, and her [00:26:00] teachers weren’t doing enough about it. I mean, one of the things that trior and I work with leaders on doing is creating consequences, but there were no consequences for this kid who was bullying my daughter. And so she and I were talking about how to deal with it. And I was sort of. Trying to convince her to use what we call an I statement with this little kid and to say, I feel sad when you, blah, blah, blah, blah, blah. And my daughter banged her fist on the table. And she said, mom, he is trying to make me feel sad. Why would I tell him he succeeded? And I thought, oh my gosh, she is exactly right. And so we talked about it and we realized a use statement is much more effective. If an I statement sort of. Invite someone in to see things from your perspective, a you statement pushes them away. So you can’t talk to me like that, or you need to stop now or, or what’s going on for you here. If, if it feels like those first two statements might escalate the situation too much. But the point is with the use statement and the Facebook. You are now in the active role and you’re making the other person, the person who’s bullying. You answer your questions. So you’re not submitting to the bullying and that is really crucial to respond to it. So I think it’s, and I think increasingly leaders are beginning to understand that it is a part, whether they’re a teacher or a manager or a CEO, they’re beginning to realize. Part of their job to tamp down bullying in their organizations. Because if humanity, superpower is collaboration, as we were talking about earlier, bullying is a collaboration killer, and it might work for the person who’s bullying, but it’s bad for the team collectively. [00:27:52]

Michaela: Yeah. One thing that came to my mind is I love to talk about software engineering practices ended [00:28:00] on this podcast as well. And. What I’m wondering sometimes is how, and probably you, as the experts here, you thought about that already. How can some of the engineering practices shape our culture, or how are you doing this? And do you think that they can increase or decrease, you know, diversity, equity and inclusion? For example, cultural abuse, right? There are also studies on biases in culture abuse that, you know, certain, certain types of groups GAD, their cultural views rejected for, you know, for no reason or less of a reason than other people or what I always saw. Like the Friday night beer. Well, like I hated the Friday night there. I don’t drink beer and, you know, it’s very, very stereotypical, but I don’t drink beer and there was no wine, never, ever a wine, right. Or a coal gore, you know, I would even like more, just a soda or something. Right. It’s sort of the Citroen. What is your, what are your thoughts on that and how, how we should, should we reflect on it? Is there something around engineering, testing, code reviews, even there’s Def [00:29:06]

Trier: ops. Yeah. Okay. It’s so interesting. Having been an engineer, led engineering teams, working at tech companies, working very closely with engineering leaders. There was a lot of things that are problematic in kind of the engineering culture and it doesn’t have to be right. That’s the part that. So, so silly is that it doesn’t have to be that people consist, like continue to perpetuate and make a conscious effort not to change their behaviors because it works for that person or the status quo. But we have to challenge the status quo. What are some things that engineering leaders and teams can do? One that I was really inspired. And there’s a bunch of, there was an article written about it and there was a bunch of tweets on Twitter and it got a lot of attention actually from a black engineer that when I was at Twitter, my university recruiting team actually hired, but they created this docu. [00:30:00] And really getting engineers to change even the language that they use, right? Like a black list versus a white list. There’s a lot of problematic language and language is so important in engineering. And so even like going and finding that list and saying, okay, we’re going to change some of this language. We’re not going to use, you know, this language anymore because it just reinforces bias. And, and our, our minds are very, very powerful. And so I think the language that is used within engineering is step one. Right? That’s that’s one, two. What is really interesting is I, I was working with a white man engineering leader. At a previous company once. And he’s a true, I have one of the highest performing engineering teams at the company and they’re all white men. So if it’s not broke, don’t fix it. Like, why would I need, you know, like if, if we’re performing and we’re high performing, like w why does it matter that everyone on the team are white men? And I said, wow, like you, you think if you’re high-performing with just all of these white men on your team, The data, the data and the research is there that we know more diverse teams, outperform homogenous teams, right? Imagine what you could be if you actually had representation on your team. And I wasn’t even my, my engineering background didn’t even align with what he did, but I pointed to an engineer on his question. This was a team that part of their responsibility was to write algorithms. To identify hate on a platform. If you look at most platforms, underrepresented women, first of all, trans women and black women face the most hate on most social media platforms. So if that is the population that experiences the most hate, but yet you have a group of white [00:32:00] men that are supposed to write the algorithms to do find that hate. That’s problematic. Right. There we is that we are, I don’t even know exactly how to do, I don’t know how to do your job, but I just know that it’s not working. Right. And we also know that. These populations are still experiencing so much hate on every single platform. And one of the problems is that we don’t have a people who look like the populations who can identify that those populations have considered the table and have those conversations about like, how do you really define that and make it better? And so I think that, like, we really need to think about representation on the teams for that that’s inclusive for the problems that we’re solving for the communities that it impacted. [00:32:42]

Kim: I think, I think that’s exactly right. It’s so important to be willing, to interrupt bias in engineering culture. And there is a lot of it. And so one of the things that TRIA and I work with with engineering leaders to do is to, to, to begin to disrupt bias. And, and so there are a couple of points to, to disrupting bias. There are a couple of different. The first is you need to come up with a shared vocabulary. So TRIA and I use a purple flag. So if I wave a purple flag, it means either I’ve said something biased or someone else in the room has, and we know that fear. And I know that. So, so shared by other teams we’ve worked with, have you. I come again, or I don’t think you meant that the way it sounded or piece it doesn’t the words matter. But, but I can’t give you the words your team has to choose the words that you will actually use. So come up with the words. The second point is you’ve got to commit to using the body center up there. You know, that bias is occurring in every single meeting you have. So you need to come up with an expectation that bias is going to get flagged at least once in every meeting. And then the third, the third thing to do is [00:34:00] to teach people what to do when they are the person who’s caused harm when it’s their bias, who’s being flagged. So if, if TRIA waves a purple flag at me, I get two choices of what to say back. And she asked the same two choices when I wave one at her. The first is thanks for pointing it out. I’m going to work on not doing that again. That again, or thanks for pointing it out. I don’t quite understand what I did wrong. Can we talk about it after the meeting? And then we do have to talk about it, or if we’re on video meeting, we can drop a link into the chat that explains it. And the reason that it’s so important to interrupt bias is that if we don’t interrupt it publicly and in the moment where we reinforce it. And so I’ve seen this happen, In code reviews, you asked specifically about code reviews all the time, where, where you find that, that people are reviewing. Code of, of, of someone who’s underrepresented very differently from the way they’re reviewing other people’s code. And it’s important, this, this brings us to the second point. So we’ve got to interrupt it when we notice it, but we also need to quantify it to go out, looking for it, quantify your bias and. This means that if you, if you are in your code review, you can quantify how many times someone has negatively reviewed people’s code. And then you can take a look at whose code they’re not going to play review it. And if you notice that men tend to negatively review women’s code more than. Men’s code then you know, that you have identified some bias in your code review. Another simpler thing that I experienced, I was working with a leadership team at a tech company, big tech company, and their bias quantification did not take a lot of effort. They noticed that they had not promoted any women to the executive team at this company. And the [00:36:00] company had been around for about 10 years. So they knew it was a problem. They knew the problem was not the women who worked at the company. They had a lot of great women, so they knew there must be something broken in their recruiting process. And so they invited me to their credit to join their promotion committee, meeting to note because everybody on the committee was man. So they thought maybe I would notice something that they themselves had not noticed. And. There were two people up for promotion. One, a man, one, a woman, both of them had great reputations for being excellent managers, building teams that were very highly functioning and very loyal loyalty. Each of these, these two individuals and. They referred to the man who was up for promotion as a great leader. And they prefer, they referred to the woman who was up for promotion as a real mother hand. Now, who are you going to promote the real leader or the real mother hen. And, and so I pointed this out to them and at first they sort of were like, oh, Kim, come on. It’s no big deal. I said, it is a big deal. This is why you’re not promoting women. It’s like the, the, the subtle ways that language impacts the way you think about people, it, you know, is real and you’ve got, that’s why it’s so important to quantify your bias and then go look and figure out what’s wrong and not what’s wrong with the underrepresented candidates, but what’s wrong with your hiring processes or your promotion processes or. [00:37:33]

Michaela: So you’re saying that we have to be very consciously thinking and looking at bias and what’s going on to do work. And it looks like it’s not just work, but it’s also work all the time on, you know, improving our collaboration our way we work together. More powerful. Yeah. Maybe the last question that I have for you too, as you’re giving workshops on inclusion, diversity [00:38:00] and equity. So. How do that workshop works. And also who should be on the workshop should be asked advocates, like people that are already pro diversity, equity and inclusion, or should we better have the skeptics participate or a mixture, or how are you going about that? Is there a minimum number of people at the company that have to take such a workshop to be, you know, to, to, to get that ripple through in the organism? [00:38:28]

Trier: Yeah, I think that, you know what we have seen and it’s, it’s, again, it’s been so nice to have such a positive response that we can come into an organization and do a, just work keynote for an hour or a half day workshop. And that we’re literally leaving people with tactical and practical things that they could implement. And it’s for everyone right now. Yes, there are. In the frame where we talk about, you know, what do you do? Whether any w if you’re in either of the four roles, like a person who’s been harmed. A person who’s a upstander, which is a bystander who actually intervenes, or if you’re the person who caused harm or a leader, and we can do a deeper dive as far as like what leaders and organizations should be doing. But there’s something for everyone in the framework now just work the company. We also though have a lot of D and I. Seminars that we do talking about language, talking about, you know, what does, how do you reduce bias in your recruiting? What does it mean to, you know, take all this education and awareness that you get and put it into action in the workplace, right? And those are seminars that are for everyone as well, whether it doesn’t matter where you are in your journey. Because for those who actually think that, Hey, I am a, I am an advocate. I am a ally. You know, one of the things that we talk about in one of the seminars, How do you go from being an ally to an advocate? Because allyship is very passive, right? And ally is saying, I’m not going to cause you harm, which is good. Right? We don’t want people to call [00:40:00] each other harm, but an advocate, it says, not only am I not going to cause you harm, but I’m going to through action. Stick up for those who have been marginalized and through action. And, you know, create a platform and uplift those who, who need, who, who have been marginalized and know that like they may not have access to all the same opportunities as you. And so how do you use your privilege in that way to be an advocate? And so it doesn’t matter where you’re at in your journey. There’s something that we all need to continue to educate because. It’s not a sprint and it’s not a marathon either. I hear that a lot of like, oh, it’s not a sprint, it’s a marathon. No, it’s actually not a marathon because for those of us who have run a marathon, there is a destination, right. When we’re very happy about that, but there’s no destination for this. We have to continue to do this work. And you know, the other thing that I tell folks is one of the reasons I love, I love this work is because as long as there’s a majority, there will always be a minority. And what’s interesting though, is that as time goes on, Those audiences and those groups have changed and they’ve evolved. And so it’s, and that means that we always have to continue to the work to understand who are the minority groups that we need to ensure that we are paying attention to that we are representing them and that they are having equitable experiences, just like every. [00:41:15]

Michaela: Is there something that you would say to my listeners that they should take away from this episode? What is like the one tip that they can do maybe from both of you? So we have two tips for them that they can go and start doing just today and in their workplace to make it better and nicer forever. [00:41:37]

Kim: Sure. I think if you can distinguish between bias, prejudice, and bullying and respond to bias, which is just not meaning it with an I statement, which invites the other person. And to understand things from your perspective, respond to prejudice with an it statement. Cause prejudice is a conscious belief. The person means what they say. And so you need to show them where the boundary is. They can believe whatever they [00:42:00] want. They can. Do or say whatever they want. So, and its statement can appeal to the law. It is illegal and it can appeal to an HR policy. It’s a violation of HR policy, or it can appeal to common sense. And it’s ridiculous, you know, to, to refuse to hire a woman, for example, and then last but not least with bullying, which is being mean, respond to it with a use statement. You can’t talk to me like. [00:42:25]

Michaela: Okay. I like that. Very, very concrete. Cool. Do you know one thing that you would want tip that you could give me? Yeah, [00:42:32]

Trier: so I think it’s really interesting. And Kim is the one who really pushed and challenged me on this is that I’ve always said that Kim empathy is the catalyst for change in this space. And Kim would say, We need more compassion. And I was like, I want, no, I want more empathy. And then I really had to understand the difference between empathy and compassion. And so I still do believe that empathy is a catalyst for change, but the change actually occurs through compassion. And the difference is, is that empathy is yes, you are putting yourself in that person’s shoes. You’re understanding what that person is going through, but compassion is you wanting to. Through action. Take that pain away, take that suffering your way, do something about it. And so it’s, I think that it’s a journey, right? There was something that I saw about how you go from feeling sorry for someone and having pity to having sympathy. To having empathy and compassion. And so what I would encourage your listeners is to say, where are you in that journey? And to really strive to get to compassion, which means that, you know, that’s showing up through action and then understanding what that app. [00:43:54]

Michaela: Yeah, thank you. I really like it. Great. Thank you so much. You both for taking the time [00:44:00] being on my show, I really enjoyed it. I will put the book there. If you have other links, I will share them down in the, in the show notes. So thank you so much. I thank you for being on my show. [00:44:10]

Kim: Thank you. [00:44:12]

Michaela: Yeah. Wonderful. Bye. Bye. [00:44:14]

Kim: Bye. [00:44:15]

Michaela: I hope you enjoyed another episode after sup engineering unlocked podcast. Don’t forget to subscribe. And I talked to you again in two weeks. Bye.

 

Bootstrapping Netlify to a multi-million-dollar company

In this episode, I talk to Matt Biilmann. Matt Matt is the CEO and co-founder of Netlify – the modern platform for high-performance websites and apps. Netlify has around 150 employees and an estimate of over 20 million dollar of annual revenue. Matt also coined the term Jamstack, which stands for JavaScript, APIs, and Markup. 

We talk about:

  • his journey bootstrapping Netlify to a million-dollar company
  • how he got the vision for the JAM-stack,
  • how it feels to grow a company from a two-person adventure to over 150 employees,
  • how he envisions the collaborative software development of the future,
  • and the acquisition of  FeaturePeek.

Today’s episode is sponsored by CodeSubmit – the best take-home assignments for your tech hiring!

Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.

Transcript: 

[If you want, you can help make the transcript better, and improve the podcast’s accessibility via Github. I’m happy to lend a hand to help you get started with pull requests, and open source work.]

Michaela: [00:00:00] Hello, and welcome to the software engineering unlocked podcast. I’m your host, Dr. McKayla, and today I have the pleasure to talk to Matt Billman.

But before I start, I want to tell you more about CodeSubmit – the best takehome assignment platform to streamline your tech recruiting! Yes, exactly, this amazing start-up is back sponsoring the podcast. And over the last months, they introduced a lot of exciting new features such as live coding – within a full working IDE running directly in your browser. Beginning of the year, when I was hiring engineers for a startup I work with, I used their tool during the interview process for all the candidates and was extremely satisfied. CodeSubmit made it really easy to create custom tasks that reflect the actual work candidates would be assigned to on the job. Their missing: real tasks, not brainteasers, resonance a lot with me. So, I cannot recommend CodeSubmit enough. Please check them out at CodeSubmit.io. That is Codesubmit.io.

But now, back to Matt. Matt is the CEO and co-founder of Netlify, the modern platform for high-performance websites and apps that defy has around 150 employees. But that’s not all: Matt also coined the term JAMstack, which stands for JavaScript, API APIs and markup. Today, JAMstack is even more. It stands for collection of technologies and languages, including web oriented databases, frameworks, like Nuxt and NextJS, and even framework less approaches. So I’m super, super thrilled to have Matt here with me today to talk about his experience founding and running Netlify and also JAMstack and
software engineering practices at Netlify fly. So yeah, I’m super thriller that you’re here. Thank you so much for joining us.

Matt: [00:00:57] Thank you for having me. Yeah,

Michaela: [00:01:00] really, really excited. So how is that? I looked a little bit like a research you obviously a little bit. And so I started it’s around, you know, seven, eight years ago that you, you for aided or you found that and Netlify how, how was that? Is that. Or you have an idea and you do it, or what was the process like?

Matt: [00:01:23] It was a long, it was a long process that, that, that started way before Netlify itself. So. I I’m originally from Denmark, but spent seven years living in, in Spain, in Madrid, where I worked a CTO for a company that built websites for small to medium businesses, but at a very large scale. So we would build something like a hundred websites a week, tens of thousands of sites in total. Right. And in. And I let the whole product and engineering or built the platform that all the designers would do the design with it, all the clients with useful content management that, that powered every single website from brief to production in. And then, then I actually started a CMS startup in, in Madrid together with the founders of that Spanish. Is that up because we had just tried building sort of several iterations of this. Develop a platform in-house and we thought, okay, we can build a cloud hosted multi-tenant version that, that other agencies and other professionals can, can use to get a lot of the same efficiencies when they are building websites for their clients. Anyway, that was sort of the first take on, like, how do you really remove all of that? The friction for web developers in, building deploying operators. With properties, but, but it was built as Hess as a traditional, like monolithic application. Multitenancy Amisu with database and template engine and all of that. And I came to the, to the bay area and the whole tech scene here, working on that. But while working on that, I started getting this sense. But even if it, if it was a product that was, I was very proud of building. It had a lot of like early innovations in it that had serverless functions before. That was the thing you could write, like service side Java script to running in, in this case, within the JVM in isolates and so on. But I got the sense that the fundamental architecture of this. This monolithic approach where data business, logic template language, front end code is all closely tied to gala was just not going to be long-term the real, like the few charts I could take chunks the way. Yeah. I was looking at lot at, at, in, at what was happening in the, in, in, in two different areas. One was like the space of static site generators. Jake hill and middleman were at the time in the other ones, the whole no JSPs ecosystem and Beaufort was having what was happening there in terms of the early built tools and task runners like grunt and gulp, but also. The first sort of real full race into the, in, into the whole world of single page application with originality tools like sprout Cole or Andy and Leyda in birth in angular react to all of that. Right. And I got this sense that. Pretty soon as browsers really started maturing, it would make much more sense to have an architecture where you try to decouple the front end web UI layer completely from the backend business logic, Leah, and the best back in business logic layer would likely Kelly split into all these different API APIs and services where someone to them, of course I, your own in Europe. But a lot of them are other people’s services, like Stripe oil, goldeo Twilio, and the like, and I also saw that if, if you could do that, you could sort of map that whole web UI there. You could map the workflow around that pretty tightly into the get centric workflow that developers were already working on, where in pull request and merchants and so on. Right? Like it was much more straightforward to. Map that whole process on twist StatePlus, UI Leah, then mapping it onto both the UI layer and the whole business logic data layer that tends to require all these kind of migrations and the settings and so on. So I got, I got the sense that that architectural approach would win out, but I could also see that there was just too many too, too much friction. Standing in front of developers that wanted to go that direction and then actually building, deploying and operating with properties like that. So I built a small in VP of like, what’s the smallest thing I can build that that’s sort of. Aims at edit dressing the workflow for those kinds of web developers. And the first MVP was this was a small service called bit balloon, where in the very first version, you could drag a folder with your friend dot com and it would immediately go live on a, on a, on a URL. And then I edited some CLI tooling and some in API tooling around that. And, and quickly saw that it, that it resonated with the right kind of early adopters in the front end space and, and got very validated in the idea that this architectural shift was going to happen. So at that point, I started to talking to one of my best friends back from Denmark, who Chris was my was my co-founder today. Him. He. We we’ve known each other all the way back from, from high school, which is sadly a long, long time ago by now. But while I, I spent seven years in Spain, he had built his own production company back in Denmark is specializing in like in very interactive, often video power websites typically built in flash for some of the largest brands in the world. They won a bunch of international awards for its work there. And then sold that to a full ed foot, to a full service agency where he became the partner and the chief digital officer. And I started talking a lot to him about this architectural shift and what it would mean if you could sort of pre compile the whole UI and put it on a globally distributed network. And then just talk to these different APS and services. How we could really fundamentally solve a lot of the problems around global performance, around scalability, around reliability, around security, in an, and even in the process, potentially really address to develop a practice city. And all of these areas were where areas that, that. Like he, he knew from, from operating across like web properties from, from tons of different companies and running digital strategy for the sort of Walmarts of Scandinavia and the, like how, how big these problems were and how enhanced they were. Like how, how much worse the problems got as, as, as we also started having more and more people using mobile devices for the web and, and expecting a different kind of, of both pace and use experience. But we could also just see again, how much friction there was. If a team wanted to adopt this architecture, suddenly they had to stitch together like CIC CD with object storage, with CDNs. They had to figure out cash perching rules and it’s caching. They had to figure out how to connect to all these different API APIs and services, and typically had to pick out triggering, rebuild swings. Content that data changed and so on. And there was just no viable tool chain for saying like, okay, we’re going to do this. What do we do it with? So that became the core idea. We, we, we sat down and discussed and came up with from fo for Netlify and still the mission we’re we’re still working on, right? Like how can we create a. At cloud platform for the collaborative work, where teams can really operate efficiently, where we can remove all the friction involved in going from pull requests to live code running in, in, in front of a real uses in. And yeah, we, we, we started out just bootstrapping the two of us. Build on top of the, of the product I had already built and turned it into Netlify launched on air show. Heck a news post the in, in March, 2015. In, and by the end of 2015, we were still just two people bootstrapping a company, but we are serving around a quarter billion web requests a month out of our homegrown CDN for customers. Like we work in Sequoia capital and the Molalla foundation and, and was realizing at that point that, okay, now, now we need to raise capital, build a whole team around this and, and really accelerate. Hmm. Ray cell first round of venture capital in the start of 2016 and hired the first engineers in March, 2016. And then, and then it, of course, it’s been a really fast paced growth since then by now we’ve raised about $107 million. From top tier find slack, Andreessen and Kleiner Perkins, Menlo ventures, EQT M we have for you onboarded more than 1.5 million developers onto our platform and, and, and sites are now like just, just the sites and web apps on our platform are reaching the close to 700 million unique visitors every month. It so. So, yeah, it’s, it’s been quite the ride so far. Yeah. Mine’s lowing.

Michaela: [00:11:26] Wow. Yeah. It’s mind blowing. Yeah. And so for me, You were really very, very involved with the technology. And you had like this vision where it’s going to go and it also went there. Right. So it was spot on. Do you feel like that you’re still very connected to that? Like, do you still feel like that you’re so connected to technology or are you now more involved in, you know, you have to see overall. I am now a little bit more away from this technology side. And how is that for you? You, for me now, how you explained it and how much passion I could really see that. Right. I can imagine that you have also like this passion for the role that you have right now. So you’re probably extremely. Business oriented and you know, all these funds and you know, like where to raise money and how to acquire a company and all of that. Are you still very technical? Do you feel like you’re as technical as you have been before?

Matt: [00:12:24] I I’m obviously not as involved in building Nipsey five from writing code perspective at Southwest, right? Like the first version of I built a CDN from there, from the ground up and the CSTD platform and the react UI that powered it and everything. Right. Like, and now I typically don’t like by my working space, now it doesn’t involve writing code file product eight. Like. But in a curious thing about my background is that that while I’ve been programming as a hobby, since I was 10 years old, I studied the musicology and cultural studies in and was always more interested in how humans adopt ideas and make sense of the world and understand things. So, so I think some people are, need to feel very hands-on with the coach to feel that they are doing something. I, I, I get a lot of joy also out of building the culture and the organization and the, and the engine that can build things without me. Right. And trying to understand both how, when we talk about something like the gem stake emerging, for example, and the shifts in technology. There’s always a mixture happening of like the actual sets of technologies involved and, and the specific program languages and API APIs and infrastructure evolutions that we’re seeing. But in the end, technology is adopted by humans, learning about things and building things, right. And you can understand where technology is going, what will happen in an ecosystem? If you don’t understand how humans adopt technology and why developers built with certain technologies at certain points in time and why you’ll sometimes see technologies that are technically better loose out in the marketplace because their adoption path is harder. Right? So for me, it I’ve always been a very curious person and, and, and, and like to understand. Both sides of that spectrum, both the lower details of, of how does technology, like how does that technology work behind the scenes, but also the details of like, how does human beings approach it and understand it and build with it. And of course, as I been building this company and it’s, I am building it right. The layer of where I operate them, we’ll have to keep shifting. Right? Like in the beginning I had to be the one who just sat down and wrote the code. And then I had to be part of a team that wrote the code. And then I had to be more warfare at it, take lead for that team and guide them in the right direction. And so. And now I have to build the right kind of organization and the right kind of organizational structure to allow our company to build the kind of product that. That we think we need to build. And that’s that, that in some cases also requires finding the right partners to build it with in terms of fee investors or, or ecosystem partners in, or finding the right people to join our team and, and help build it.

Michaela: [00:16:01] So, this is really, really super interesting. Is it, is it for you all about the people or is it also about the structures and how people are working together? Do you see it as a system? Or, you know, like, or is it self forming, like is a company self forming or do you give it some structure?

Matt: [00:16:20] No. No, we, you, I believe in, in trying to, to, to. Bring some structure along the way. I think both me and Chris have always fought that did that, that intentionally building structure and organization is really, it’s really important for building a company that can, that, that can scale to, to become a really large company. Right. Like I think. If you, if you try to ignore the structure, you, you will hit a point where, where everything’s that’s is that’s falling apart. And it’s very easy to hit points along the way that feels like that’s happening. Of course, you’re always a bit riding on a rocket that’s slightly out of control. Right. But I think culture and structure and And value is a really important for how a company functions. And then of course, like you can never replace the, like, it’s in the end, it comes down to actual people doing stuff. Right. But the structure is important and it’s important to be intentional about it. I think we’ve seen some companies that tries to build completely like say they built completely flat structures with. In any kind of structure to it. And that, that just means that as a leader, you’re not taking any intentional decisions and route the structure, because your team is still going to have people that have more offices than other people. And they’re still going to have, it’s just going to happen by politics and, and, and sort of maneuvering rather than by any intentional process of like how strict the structure. Do you see

Michaela: [00:17:51] like a parallel between like I texture, like software, I attacked her and technical debt and structures of companies. Like where you say, well, we try to build the best system with the information that we have right now. Obviously also looking into the future, but then, you know, things evolve, things change. So we actually have to go back and change the architecture or change, reverse some decisions, you know? Remove some technical debt. Do you see the same happens in company in your company structure? Or do you feel like, oh, this is for what we have foreseen, but now we actually have to restructure and re refined or redefine ourselves.

Matt: [00:18:31] Yeah. You absolutely see that happening. And of course it could be a useful metaphor too, to compare like your company through to the machine, building the thing and, and, and think of it as an architecture and that point. Just also have to remember that Indian, the pieces of the machine. So not lines of codes that, that are predictable. They are people with goals and dreams and carry ambitions and interpersonal. Characteristics in. So you have to be aware of both, both sides of it.

Michaela: [00:19:07] So you’re what you’re saying is that technical debt is sort of peanuts, right?

Matt: [00:19:12] Complicated. I just, it to deal with, with, with technology. It’s a lot more predictable Indians than people are, but it, yeah, in the same way, it can also be a lot more fun. To deal with, with human beings. Yeah, obviously.

Michaela: [00:19:30] Yeah. Yeah. I’m, I’m super impressed. Like I can’t imagine how much personal growth has to happen on a way from, you know, like bootstrapping something, then getting investors, you know, scaling probably if you get investors, you normally scale really fast really quickly. And yeah. So th that’s.

Matt: [00:19:53] Yeah. And it’s also, I mean, it’s also a choice you take when you go and raise venture capital that, that raising venture capital is only one way of building a business, right? Like the many other approaches to build a business. In, in our case, we felt that there was also the kind of market opportunity, right. Because we really, from the get go belief. That there was a real opportunity to shape how the future of the web is, is going to be built and how it’s going to function. But we could also see that, that making that big of an impact and getting there in time. And so. There was not something we could, we could have done if we had grown just organically based on our revenue. Right? Like, so that’s, that’s why we, we went out and, and, and raised funds to be able to, to scale and grow much faster than we would be able to do organically. Right. And that, of course always didn’t happen. Half the trade-off of like all the older challenges you get when you are trying to scale an organization very fast. And it has like, you have to know what you’re going into as a founder also, right? Like, as you say, of course, it’s a, it’s a learning curve and you have to be very okay with continuously taking things that, that you saw as quarter your role, like writing the code, building the technology. And then have other people come in and do them instead of you and step away from it. Right. But if you do that, you’ll also learn very quickly along the way. The more like that, no matter how much of your job you seem to delegate it at way, you only get more busy somehow.

Michaela: [00:21:39] Yeah. So one thing that that would really interest in me is like you said, you wrote this little first version MVP of, of Netlify and. A lot of people adopted it. So it seems like you didn’t really have to convince people about this solution or that there is a problem because sometimes like founders it’s, it’s hard. Right. You think like, oh, I have this idea. And then is it too early? Do I have to convince people to have to explain it better? Do you have like to, do you think that this is, this is the right mindset or should people step away from something like where we have. Tweak one sentence to be really powerful and express like the pitch. Right. Is that really too important? Or should we read our focus, our energy on finding the thing that people actually want? Even if you write a sloppy sentence about it, you know what I mean?

Matt: [00:22:34] Yeah. I think, I think it it’s never completely one or the Euler in, I think. You have to in like initially for example, the mental model we had around adoption was that for these kinds of technology products, if you’re trying to build something that’s in that the future of how things will be built, you would expect it to sort of grow in concentric circles where you sort of have these very early adopter technologies that are constantly. Joking too, to broaden their horizon, then find new things that work and so on. Right. And, and, and you want this kind of product to resonate with them first, right? Like in the initial stages of this product, you wouldn’t expect someone who was like aids. Are they working in a law long enterprise company? Very focused on solving. Big picture of business problems, insight that for which assisting technologies to even be interested in your product, right? Like it’s just not time, but you would expect like for a product like ours and, and early adopter of JavaScript frameworks or, or site generators to, to get interested in. And then ideally like there’s, there’s two is essentially two different paths to building. Product companies, right? Like one of them is product led growth and the other is sales or marketing led growth. And not, there’s not like one way is the right way for some products. If you have a product that requires in a whole organization to adopted horizontally before it really adds value. Right. Build a product lead motion around that. You have to go build a sales lit motion where you first go and talk to executives and companies and pick out the needs and then solve their needs with a product. But if you have a product that can both be really useful to an individual engineer, into a small teams with engineer to a larger team of engineers into a whole organization, then you have the opportunity of building like a product led growth moment. Motion. Where, the way you get into businesses is by individual users first adopting the product, and then, then it spreads from there. Right? And we saw the opportunity to build that kind of company. And when you built that, then it can’t be like the cost sale doesn’t depend that much. At first, unlike nailing there, the phrase on your marketing site or something like that, it comes on nailing the onboarding experience for how fast. Can you get someone to land on your website and then be inside the product, doing something where they having a hard moment of why? Like, why is this product going to be useful to us? And for us, there was really about like landing on netlify.com and then having a web property running on a custom domain in a shorter time as possible. Right? Like that was sort of the first iteration of, of, of that hard moment. And then knowing that maybe in, in, in 30 seconds, so minutes or something, right. You had gone from nothing to having a globally distributed website, running on a custom domain with a CSED pipeline plug directly into get right. If we could just make that motion, like something you could do in, in, in 30 seconds or minutes at something like. Then then we would drive that, that, that feeling of like, wow, this is, this is another generation of tooling. This, this is, this is just so different from how the world looked before and, and, and then build excitement with developers. But then in parallel with that, we will also positioning ourselves Hindu in, in the midst of like an architectural change of how are we going to build the web in the future. And at the time when we started, there was just a lot of difference. Technologies that was making that happen. There was, as I mentioned, static site generators that were single page applications. There was a lot of talk of the API economy, some talk around like the programmable weapons, but there was no name for this architecture. And that was something that, that, that, that Chris Sue, my co-founder immediately saw from his background. Like we need, if this is going to have him, we need a name for this category and this architecture, because otherwise, again, all of this happens because humans adopt the technology and humans goes in the direction and, and. If you can’t give people the vocabulary to talk about what they’re doing, it becomes very hard for that idea to spread between groups and teams and people. Right? So that’s why we ended up coining the term game stack. And it happened sort of in a very collaborative process with different people in the, in the industry. And so on in an and the term started taking off because it was needed, right. Because it gave me. And nomenclature to start talking about things that before were seen as just separate movements, right? Like, okay. This, something happening about the architecture we use for cell phones, talking to API APIs, there’s something happening or how this whole world of web API is exploding. There’s something happening around single page applications and something else happening around CDNs and site generators and stuff. And suddenly we had a nomenclature to say, oh, it’s an architectural shift. It’s a shift to watch the games deck. And that, that was really important to, to, to build the other part of like on the one hand, the individual product story and the developer story of like finding this product and instantly getting into ha moment and then connect them. To a broader story around like a new architecture for the web emerging and, and the possibilities that that would entail and how not just individual developers, but large organizations could benefit from that change. So both sides are important, but in the end, if you’re building a product led growth company, you have to be really obsessed is obsessive about the product itself and how. That product that attracts Andy and convinces juices to, to, to work with it.

Michaela: [00:29:17] Yeah. The funny thing is that when you described the story off, you know, how a developer, you know, sees your side and tries it out. This is exactly how I felt when I tried it out. I was not an early adopter dough. Right. I try it out somewhere last year, but. It wasn’t exactly like this. I was like, oh, I have to reply this website. And I want to do it quick. And you know, like, let’s, let’s try that out. Right. Everybody is already on it. I’m like the late, late person too late for everything, but I went to it. Right. And obviously at that point it was fully baked fully in, but, you know, I was there and was like, wow. Well, it’s running, right? Like I was like, and as you said, right, this, like you push and then it’s there. I exactly felt what you were saying, but it was like last year. How was Natalie fly when you say, well, let’s go five years back. How was the experience? Was it similar? Like at that point, would you say.

Matt: [00:30:18] Yeah. So, so the expense involved in, and it will continue to evolve it as, as we also go for, broadening the experience and, and telling it different, like as a large and larger story through the product. Right. So the very first story you would see was, was, was in bit balloon the predecessor to Netlify. Land on a website that just immediately on the front page, head like a drop soon in saying drag your web folder here. And there would also be a little download link where if you didn’t have a website handy, you could download one and drop it there. Right. And then you could just drop aside onto bit ballooned at com without even signing up or anything. And it, you didn’t need to sip the files first, anything you just drag the actual folder onto a bit, little.com and boom. Now you would be live. We still have that done. If you go to app.netlify.com/drop, you’ll get the same kind of experience that mimics, like what, what the very first version was like, of course, in the signed by me and not by actual designers. Like it looks like today. So that was like the first simplest motion we could do right in. And then the next step was really to, to start, like after we had, after I had built out that initial version of just getting a site live and, and, and getting a custom domain connected to it, getting SSL set up and so on, then, then it was really the question of okay. This is fine. If you’re really just one developer by yourself, manually deploying, and we added a CLI where you could do the same from like writing it at for spit and native later, just Netlify deploy and immediately from the command line, deploy fault. That’s fine. If you’re really just one individual working, as soon as you’re at team of people, that’s not very useful. Like you, you can’t just random. You have people deployed manually at different time without structure and people get their structure from, from GitHub or GitLab or bit bucket. That’s where developers collaborate on opening new pull requests and building new features. So. The next iteration of that on Netlify was really saying, instead of focusing on you deploying manually from a folder that solves the whole problem of you working in a good provider and getting that live. So the next moment really became that flow of like calming. Tell us you’ll get repository and we’ll try to even guess what tool you have a framework you’re using. And just say, okay, and now you’re done, right? Like now you have something you live in. And, and now of course, with, without acquisition of a feature peak and that whole journey, we are going even deeper into that space of like, this is not just for single developer building. On their own, like real projects, always built by teams with lots of different stakeholders and with several developers and one part of the processes it’s writing the code. But another part of that whole process is that for every release, you have some feedback cycle where you have back and forth with product managers or designers or other developers or other stakeholders. Before you take something live and now we’re really sort of expanding that whole experience to drink fluid, that process and to sure how, how frictionless we can, we can make. The process of a team actually building releases together and taking them to the world.

Michaela: [00:34:21] So with, with this acquisition, somehow you have like this deploy previews feature. Yeah. You know, my, my favorite thing are code reviews. Is that something that you think is part of the programming part or is it part of deploy? Is it, is it part of something that should be, should code reviews be somewhere in that picture or how do you see it?

Matt: [00:34:45] I mean, code code reviews are really important, but then there’s also the, the step ahead that’s like viewing their outcome of, of, of your current code. Right? Like being able to just open a pull request and having that pull request running in the full production environment. Exactly. As it would look like if you were. That’s that’s really like, it doesn’t replace the code review. Right? Like the developers should still work on the code review tools to make sure that the quality of the code behind that it’s up to scratch and so on. Right. But it does make the, the review, especially from. It QA testers, product managers to designers and marketeers to content editors or anyone else that’s involved that will want to review what the output looks like. Hmm. It makes that process in much simpler. Right. And what we were seeing, like w w like we launched deploy previews in 2016, a long time ago, and we’ve of course been very big consumers of that whole workflow internally, ever since then. netlify.com runs. And Netlify Natalie find that conference and identify all of our web properties up easily run on Netlify. And in that process of deployment, Completely essential to how our web teams work. We’re constantly sharing URLs and so on. But the one thing we saw also when talking to clients and so on, was that when you share that URL, then. The feedback cycle spec to the developers that happens all over the place. Some of it happens you’re shared in slack and there’s feedback in slack and more people open issues and get up or in JIRA, or they will piece two screenshots into documents and sent them back and forward for, at the mess attachments. And, and for developers like the, the process. The process of, of that is as fragmented as the process of code reviews was before tools like get help and get lab integrated into the workflow. Right? Like before that happened, like there was no. You, you would sometimes have specific tools for code review, but mostly it would be processes of sending back and forth emails around the code, or simply just having to sit down at a laptop together or at, at this top bank at the time, and look at the code and talk through it. Right. And get up with the pull request. Functionality really gave her home. For court reviews, right? Like in the game of place where, where now you no longer have to wonder, like where is it happening? And people commenting in all kinds of places and so on. Right. So what we’re trying to do with collaborative deploy previews is in a similar way to give it a form for the, feedback, not on the, on the input, which is the code, but on the output, which is the reason. And make sure also that since every deployed review, it’s a different URL. We don’t, we didn’t want to have a system where every deploy preview now has its own. Like you have to know it exists and go there and look at the feedback in order to take part in that process. Because like we had some initial prototypes integrating with tools like that, and it just attracted from the process because now. Apart from checking the pull request to end a slack messages and the emails also I had to continuously try to figure out is people, are people now also commenting on the deployed from you? Yeah. So it’s really important to make each deploy from URL. Okay. At checkpoint that that makes information flow into the original places. So feedback that stakeholders make on the deployment of the will, will flow back into the poll requests. They’ll take part in the comments there, or they can open tickets in whatever project tracking software you’re using related to get Harper linear clubhouse for the like, and now it’s really important for us. Right. But again, it was this sense of like, Now when a developer, she is that deployed preview URL, the Isles are sharing how to give feedback and how that whole process operates. And we hope that can really, as I said, do do for this process, what, what pull requests themselves fit for them? For the code review process

Michaela: [00:39:23] feature peak, which basically is part of what you’re just describing right. Of the functionality that you’re describing. As I understand it. Is it a company that you acquired? So I would like to understand the process around that a little bit. So you have this vision, obviously you seem very vision driven, right? So you have this vision and then you see that there is no place for that. But how does that work? Like, and then you find a company or, you know, like it, because you’re, you’re obviously. Yeah. Having your eyes out on the space and under companies, and then you see a company that works in that space and you think, oh, they’re going to the right direction. And then you contact them. Or how does that, like how, how can it be such a good match and why not do that? In-house and you know, like how does this whole process wig? And what’s your, what’s your mental model behind it?

Matt: [00:40:12] Yeah, let me, let me tell them, so let me take a step first bank and just to the listeners shit like yesterday, we announced a big feature for us called collaborative deploy previews that allow other stakeholders to give feedback in the process of, of, of reusing and going from pull requests to release. And behind that feature launch was an acquisition of. Affair venture funded company called feature peak that was backed by Y Combinator and matrix venture in that joint Netlify and integrated that product into the core of our product. And the whole, the whole process started in a way back into, in our all hands meeting at the very start of 2020, where in memory. So was a UX researcher on, on, on our team. Yeah. Brought up the, it like brought up the initial idea that take it. It would really add so much value to the other stakeholders. If there was a way of bringing feedback and commenting to to deploy previews. And based on that, we started at first in prototyping with a couple of different tools that already existed in the space for. Full commenting and annotating on websites. So we integrated one of those tools through it, built, pluck in and started testing it out internally. And we learned there that if the commenting was something external to the current process, our developers cut more frustrated than helped by it. Like they quickly felt like, okay, now, now I’m just getting. At pod from all the meals and slack messages in this year’s I get, I’m also now getting comments in a different place. Right. So after testing that for a while, we found out that, okay, that’s that’s not going to be the right approach. It’s the right idea. It’s the right problem with tackling, but it’s not the right solution in. So we think it, that, that we would have to do something that tied into the process that developers will already working in. And that tied into the pull request process. And we did start in building our own. We built first, a quick prototype that I went to celebrate experienced team built in. To be able to take that to our user researcher and then put it in front of a bunch of our clients talk through like, what would this do for their workflow? What are they currently doing for their workflow? And started all to really understanding like the set of tools that, that our customers were working with and how they were already solving this problem. Because obviously like, It’s not like this is something that everybody already doing in some way. No, no one are building software just by having developers write the code and then launch it. Right? Like there’s always a process of write the code, show the output, talk through it, do testing, validate the result, give feedback, iterate on it. And then you launch it. Right. But often that process is just a lot of screenshots and PowerPoints and emails and slack messages and stuff. And we could see that, that, that if we could make that flow back into the poll requests, that would help. But it wouldn’t be enough. Like when we tried just that with our first prototype, we saw like just full requests, comments. It’s not enough. Like people are also using is your track or some project management software. And we had to figure out how can we integrate into those pieces as well? So this was a long process and we built several internal prototypes and did some. Kicked off some real development. And in the process we kept looking at, in any, any company, they was trying to take a listen to the market. The end, the one of them that started to really stand out was, was west feature peak. So we reached out to them and, and asked to meet. And they came to us and, and had at the time actually started working on it on a nearly fight integration through our built plugins layer and. Yeah. I was in Nicole together with a, with, Jessica, one of product managers with the two founders of feature peak. They gave us a demo of, of what they had been working on in the integration. And as the demo progressed, I would say like our jobs got closer and closer to the, to the flow of because yeah, it, was really far ahead of anything else within this space. And more than that, It, it was as if they had been reading all of our use of research, like building exactly the kind of product that, that I wanted to build in that we were dreaming about. Right. So we very quickly figured out that, that, between us and, and the, and the Fiji peak founders, we really shed a vision of like, what can you do in this space? And what can you build in? They had already built a product that, gets a lot of things. But we could also like, just, just talking through food, future potential. We could see that we were so aligned in like, what could this turn into? And as we started to talk more, it was also pretty obvious that they could build a great integration on top of Netlify and here’s how our integration layer for that. But it would still just be an add-on. It would still just feel. Like something you could add and that would be bolted on, right. It would have its own like separate sort of dashboard and lock in. And the integrations would be only on there and not on our end and so on. That would not really be a good way to integrate the whole feedback cycle as a first-class citizen throughout our whole product journey. It would be feeling like it just, to pluck in just an add on, right. And we felt. Between all of us that if we really wanted to do this, integration had to be much deeper. It heads to be much tighter. And we would only really be able to do that if we were one company. So then we started talking about what if we joined forces? What if we, what if we built something together, then build something in, in two different silos ended and ended up agreeing that, that that was the right way to go.

Michaela: [00:46:35] And so now, You acquired them this week. And are you going to develop something now or is it already developed or, you know, like how does that person?

Matt: [00:46:46] So, , we did the acquisition in about three months echo and behind the scenes that their whole team and our team have been. Working really hard on, on, on integrating their technology really deeply into Netlify. So Netflix too. So yesterday we didn’t just announce the acquisition. We also announced the full product launch with with all of these collaborative features now available to all Netlify users from Friday.

Michaela: [00:47:19] Yeah, very cool. So you took the D the code base that they had, and then it w it’s not a complete rewrite, it’s just that you blacked in what they had, you know, got rid of some, you know, functionality because it was a plugin first and now it’s, you know, it’s part of Natalie fly. So you, part of the code base and integrate the data. How does

Matt: [00:47:40] that. The team that has like they both whom re rewrote parts of their code base to integrate it into our code base directly for, for the whole coy API functionality. I think our team together with their team built the. Three new microservices to power, like identity for cross integrations, for uploads and so on in. And and they updated the whole UI to be in line with how we built Netlify UI and to feel integrated into, into that process. Eh, But if, but I have to say an incredible job from, the whole team, executing that in just three months in and taking it to them.

Michaela: [00:48:29] Yeah, I can imagine. Yeah. Yeah. Well, it did. So I have 1000 more questions, but we are on time. So I will just, I would just say thank you so much for sharing everything with me and Medalla, you know, with the listeners and with, with, with us, it’s like, yeah. As I said, I just have so many more questions. I could talk for hours, but you maybe I’m inviting you again. Maybe you have time to spend a little bit more talking with me about all of those things. Yeah. Can you have more questions, but yeah, it’s, it’s, I’m really impressed. It’s a, it sounds really fascinating and really cool. Is there something from your side that you want to share, like with my listeners that you want to give them on the way I will obviously link everything in the show notes, but is there something that you want, especially for people that are, you know, like love technology, software engineering, and also maybe want to become founders or, you know, do their own thing.

Matt: [00:49:28] In. Yeah. I mean the first thing I would say, if you think all of this sound sounds, sound interesting and, and you would like to read the part of it. We are very actively hiring. So check out our careers page and if you don’t find anyone, anything there. Think you could be a great part, then we always have at your dream job position that you can write in for in. So that would be the first part. And do the other part, I would say is that it S this whole sheet. From big monolithic applications having to to, to modern architecture with it, decoupled front end and all these different APIs and services. There’s also a lot of opportunity for founders to, to build new, interesting, newer, interesting pieces that, that fits into that developer workflow. And I’m always happy to. To, to, to spend time with founders in that space that are building something new or interesting. So it feel free to reach out or Twitter or email or the like,

Michaela: [00:50:36] wow. That sounds really nice. Cool. Thank you so much, Matt. For, for being on my show. It was really a pleasure.

Matt: [00:50:43] Thank you for having me. Bye.