In this show, I open you the doors to companies and thought leaders around the world. With my guests, I discuss software engineering best practices and pitfalls, and how they strive to build software people love.
Similar Podcasts
The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.
Flutter 101 Podcast
Weekly podcast focusing on software development with Flutter and Dart. Hosted by Vince Varga.
Views on Vue
Vue is a growing front-end framework for web developments. Hear experts cover technologies and movements within the Vue community by talking to members of the open source and development community.
What hinders your career as a developer? – Mindset.
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. [00:01 - 05:08] Opening Segment Need to generate fake data that looks, acts, and behaves like production data for your test environments? Check out Tonic.ai!Head over to https://www.tonic.ai/ and sign up today for a free two weeks trial sandbox!Dagna talks about experiencing a plateau in her career as a software engineerRealizing the lack of support networksHow this led her to set up her own coaching business[05:09 - 11:26] How Cultural Upbringing Affects Work PerformanceWhat Dagna is doing to help immigrants like her fit into their American workplaceUsing the Hofstede model to understand the cultureCultural differences in the US and other countriesIndividualism and collectivismLong-term orientation and short-term orientation[11:27 - 26:14] Engineering Mindset for SuccessCoaching clients on career advancement and finding fulfillmentThe importance of mindsetCommon limiting beliefs engineers have and overcoming themBeing your own advocate, your work does not speak for itselfCreating a safe space for feedbackThe feedback Dagna received from her superior and how it changed how she was writing codeKnowing when to move onThe state of the US and European job market[26:15 - 29:54] Closing SegmentDagna’s advice: Don’t take code reviews and feedback personallyKnow more about the process Dagna uses to take her clients’ careers to the next level at https://www.themindfuldev.com/podcastFinal wordsTweetable Quotes“How you think is how you act.” - Dagna Bieda“What you really have to do is market yourself. You have to talk about your achievements and accomplishments and not expect everybody in the company to just know what it is that you're doing.” - Dagna Bieda“It's very important to understand how what you're doing fits into the business as a whole, the business that you're working for, and how to communicate about it.” - Dagna BiedaResources Mentionedhttps://www.tonic.ai/ - Sign up now for a two-week free trial!The Culture Map by Erin Meyer - https://erinmeyer.com/books/the-culture-map/Dagna’s WebsiteConnect with Dagna by following her on LinkedIn. Go to theMindfuldev.com and theMindfulDev.com/podcast to learn more about her coaching business.Let’s Connect! You can connect with me, Dr. McKayla on Instagram, Twitter and Youtube to look into engineering software, and learn from experienced developers and thought leaders from around the world about how they develop software!LEAVE A REVIEW + help someone who wants to know more about the engineering software world. Your ratings and reviews help get the podcast in front of new listeners. _______Transcription[00:00:00] Dr. McKayla: Hello, and welcome to the Software Engineering Unlocked podcast. I'm your host, Dr. McKayla. And today I have the pleasure to talk to Dagna Bieda. She's a software engineer turned career coach for software engineers. She's been coding for over 10 years and has been a coach or has been coaching for the past two-plus years.[00:00:24] Dr. McKayla: And today I will learn everything around how to get a job, how to be successful as a software engineer, and how to advance your career. 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:51] 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? [00:01:10] Dr. McKayla: Tonic.ai does exactly that. 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:38] Dr. McKayla: Well, Dagna, I'm, I'm so excited to learn everything that, you know, you have been through. in your career as a software engineer and how you actually help software engineers get the most out of their career. So can you tell me a little bit, how did you go about to this shift from, you know, being a software engineer, yourself to being a full-time career coach for software engineers? Why did that happen and how?[00:02:03] Dagna Bieda: Absolutely. And first of all, thanks so much for having me on your show, McKayla. Essentially, you know, in my own career, I have seen some incredible accelerated progression in my own career. When I started programming, I went from a junior engineer to a senior engineer fairly quickly.[00:02:22] Dagna Bieda: It happened in less than three years, which, it takes a lot more for a lot of engineers in our industry. And it was all because of the people that were in my corner that supported me, that mentored me. And because I was very relentless about asking them for feedback to tell me how I can improve, how I can do better.[00:02:44] Dagna Bieda: And as I kind of like, went up in my career in my senior engineering role, what happened is I experienced this plateau, you could say. And I recognized, later on, you know, in hindsight that I was just working really hard on the wrong things, but I didn't have that kind of support that I needed that would have showed me like, Hey, Dagna, what you're focusing on is not going to take you to that next level.[00:03:11] Dagna Bieda: So after having that aha moment, I recognized like, okay, I was going super quickly, advancing in my career in the early, in the beginning, because of that support. Later on, I didn't have that support. I had to figure it out by myself. And so , it was so much slower of a process when I was trying to figure it out myself.[00:03:32] Dagna Bieda: So I decided that, you know, this is a great idea for a business because not everybody, being a software engineer, has that support network that they could lean on. So I could step in and become that support network for my clients. And that's exactly what I do today. And it's just amazing. And I've helped so many clients, you know, I've had over the past three years that I've been coaching, I've helped over 50 engineers.[00:03:59] Dagna Bieda: They had various backgrounds. Some of them work at fan companies. Some of them work for like small mom and pop shops, and they had experience ranging anywhere from 2 to 20 years of experience. Some were self-thought. Some had college degrees, some are boot camp graduates. And you know what I do right now as a coach and that lits me on fire and, you know, brings a lot of fulfillment to my life is to help my clients find that in their life and in their career.[00:04:28] Dr. McKayla: Okay. And so, what does it take from a junior to become a senior? And why was there no support for you when you were a senior to get, you know, to the next level? Maybe what was your next level? Was it like a staff engineer that you wanted to become, or is it more in a managerial role that you wanted to develop yourself? So what's the next, the next step?[00:04:52] Dagna Bieda: I wanted to become a team lead and team lead is like a mix of both, right? On one hand, like from an HR perspective, maybe you are not on the org chart on top of like a team, but you are leading your team with your technical expertise. So like it's a mix of the managerial and the engineering responsibilities.[00:05:09] Dagna Bieda: The big reason why I had the plateaued is because I moved from Poland to the United States. And as an immigrant. I didn't realize that, you know, the way I was thinking and going about work, while it made perfect sense back in Poland, it didn't necessarily set me up for success in my American workplace.[00:05:30] Dagna Bieda: And also like right now, a lot of my clients are immigrants moving from one country to another. And what I help them is to understand how their cultural upbringing affects their performance at their workplace. Because for me that was one of the blockers, right? I had to really kind of like understand my new situation, my new culture, how I was fitting in what was stopping me, and for example, there's this one situation that I can, that comes to mind is when, when I posted a joke in slack that I thought was super funny and, and being an Eastern European, we have this dark sense of humor.[00:06:06] Dagna Bieda: And, you know, in this new American company, what happened was I was called to HR and I was told that that was inappropriate. And I was like, what? That was super funny. What are you talking about? So, that was like one of the things that I had to realize, like, okay, This is the type of sense of humor that just doesn't go with my workplace.[00:06:27] Dagna Bieda: So I can, you know, keep doing that on my own and private, but this is not going to help me in terms of work advancement, right? [00:06:34] Dr. McKayla: So can you, can you go a little bit more into this in this cultural aspect, right? Okay. There are the jokes that obviously, there are cultural differences. What's funny, what's not, what's inappropriate, right, and so on. But is there also like for leadership because you were talking about tech lead, right? So it's, how, how can you show the outside world that you're ready for it? Is there a difference in your experience? [00:06:58] Dagna Bieda: Yes. So that's another like cultural aspect, you know, like, there's this specific tool that I use for analysis that helped me really map those differences. And it's called the Hofstede model. And essentially, it has, like, this database that compares different countries on, like, six different dimensions, right? And one of the things for the United States specifically is that individualism is super highly rated, right? And Poland is more rated closer to being like a collective culture, right, where we work together towards success. And I can tell you, for example, there was this initiative that I was leading in my American workplace.[00:07:45] Dagna Bieda: And what happened was I was talking to different people, different types of stakeholders. They agreed with me. So I thought, okay, if I have a buy-in, something's going to happen now, right. Because that's how it would have worked back in Poland, right? In the American workplace, I was expected to, once I picked up the initiative to lead it from end to end. And, you know, I wasn't aware of that. So, you know, I got all the stakeholders on board. Everybody agreed to my idea and then nothing happened, and I got so frustrated. I'm like, why there's nothing happening? Like, didn't we all agree, should we all collaborate together? And because they didn't realize that my cultural upbringing was different, nobody could give me that kind of feedback, right? [00:08:29] Dr. McKayla: Yeah.[00:08:29] Dagna Bieda: They just didn't know how to support me there. [00:08:32] Dr. McKayla: I think this topic is so interesting because right now I'm working on the book on code reviews and I'm working a lot about feedback and disagreements, agreements, and how to solve that, right, how to collaborate together.[00:08:45] Dr. McKayla: And so one book that I'm actually deep diving into that I found really interesting was The Culture Map. I don't know if you are familiar with, from Erin Meyer, and there she... [00:08:55] Dagna Bieda: Oh, that's interesting. Okay. [00:08:56] Dr. McKayla: Yeah, you can have a look at it and she also looks at a different perspective. And one is, for example, agreements, how are people from different countries agreeing? And for example, Germany or Austria, right? It's a little bit more collaborative or, you know, collective, right? Collective agreement. [00:09:11] Dagna Bieda: Exactly. [00:09:12] Dr. McKayla: It's really, really important. So it takes a very long time until everybody agrees. And it's a little bit an upfront process, right? Whereby in America, it's more, well, one decision is made by the leader, but then this decision can also be questioned along the way, right? And so it's quicker, quicker to get started, right? And one person brings up and says, okay, this is how we are going to do it.[00:09:34] Dr. McKayla: And then people are working on this vision. This is how she explains it, right? But yeah. And then over time, you can actually challenge that a little bit, right? You can say, but maybe, you know, we should change course because we have more information now and so on. And in Germany, it's exactly the other way around, right? So we are investing a lot in this process of collective agreement, on this is the right way to go. But because there's a lot of, you know, a lot of time and information that goes into this process, it's really hard to challenge that later on, right? So after three months of discussing that we are going to do that.[00:10:09] Dr. McKayla: It's really hard to say a month later, oh, maybe you should change that again, which I think is perfectly fine in America. I don't know. Can you see that as well? Is that something that...[00:10:20] Dagna Bieda: Oh, absolutely. Yeah, absolutely. And another interesting thing is like, for example, in terms of the short-term versus long-term orientation, in the United States, the culture as a whole is on the Hofstede model described as a more short-term oriented. So the company would be more like working towards your quarterly goals, right? And when I work, for example, with some of my clients that have Asian upbringing and working in the United States, that their cultures tend to have this long-term orientation.[00:10:51] Dagna Bieda: What happens is, for example, in an interview, whenever they present themselves, they're talking about, you know, building a solid foundation for a long term. But what happens is. American companies don't necessarily value that, right? Because, and they even have this, this saying here to hit the ground running, right? So when I work with my clients, I tell them, look, if you're starting to work in a new workplace, American workplace, you want to present yourself as someone who's operating fast and can bring results really quickly because of valuing of that short term results rather than long term. [00:11:27] Dr. McKayla: Yeah, yeah, yeah. I can totally see that. So you are working as I understood it, you're working with a very range of experiences, right? So you said people are coming from boot camp, but it's just coming from boot camp with no experience and want to go into the workplace or is it more, are they already, you said two years, something like this.[00:11:48] Dagna Bieda: Yeah. [00:11:49] Dr. McKayla: Is it really an even distribution here or do you see that it's cooling in one direction, right? More the junior engineers in the first, let's say, five years or more the senior engineers or midterm, maybe? [00:12:02] Dagna Bieda: I would say that the majority of my clients are the mid-level professionals and the more senior professionals that are kind of like finding themselves a little stuck, maybe not sure about their next step.[00:12:13] Dagna Bieda: And they're looking for, you know, figuring out first of all, how are they stopping themselves? Second of all, how to find fulfillment in their career rather than chasing money or promotions. And, you know, the truth is there's, to my knowledge, nobody else that offers the type of services that I offer, which is working on the engineering mindset for success, right?[00:12:36] Dagna Bieda: And you know, what got you to that senior engineer position was very likely your technical foundation. And I do not work on that technical foundation while having been a software engineer myself, I can definitely send my clients some pointers, like what are the gaps that they have in their skill set that they should, like, fill up in terms of you know, career advancement, but what I really am passionate about and what I really love to focus on is that mindset piece, right? Like, what kind of blind spots do you have? What kind of limiting beliefs do you have? I actually like to say that I moved from programming computers to reprogramming human minds. And it really beautifully describes what it is that I do, because once you change your mindset, I put it this way.[00:13:21] Dagna Bieda: How you think is how you act. And how you act is the results that you're getting then from, you know, the reality, the real world. [00:13:31] Dr. McKayla: Yeah. Can you tell me some limiting beliefs? I also regularly reflect on mine and, right now, you know, I'm also in a, this state where I think, because of the pregnancy and the very new birth, I think this is such an inward-facing period in my life again, right, where I'm thinking, like, what are the beliefs that I have, and that are holding me back and so on. I would be really curious, can you give some examples of beliefs that engineers have, maybe that you have seen patterns? [00:14:00] Dagna Bieda: Absolutely. [00:14:01] Dr. McKayla: Yeah, that hold them back.[00:14:02] Dagna Bieda: There are two that are super common and super popular. Number one is believing that your work speaks for itself, which it doesn't. It does not. Like, okay, if someone else works on the same code base with you and they can look at your code, they could see the value that you bring to the table if they put in the work and effort to actually go into the code, look up what it is that you committed and, you know, have some thoughts on that.[00:14:28] Dagna Bieda: But, in order to be successful in an engineer's role, what you really have to do is market yourself. You have to talk about your achievements and accomplishments and not expect everybody in the company to just know what it is that you're doing, because people just don't know. They have their own work that they're prioritizing.[00:14:44] Dagna Bieda: And it's very critical to figure out if you have that limiting belief of work speaks for itself because again, it doesn't. That keeps a lot of talented engineers stuck in their career. That's number one. The second one, which always cracks me up, but I used to think that way too. There was a moment, and I have to be honest with you, there was a moment I thought the same way. And the second limiting belief is essentially, that you are surrounded, as an engineer, with idiots that just don't want to listen to your amazing ideas. And here's the thing, whenever, as an engineer, you have an incredible idea and you want to pitch it. You want to get people on board.[00:15:25] Dagna Bieda: It's super important for you to communicate about it in a certain way. You have to be able to negotiate. You have to be able to like really describe it, but describe it in terms of the priorities of your stakeholders, right? So if I'm going to, and I'm guilty of that as well. Like, there was this two projects that I worked on in my most recent engineering job, and I was responsible for taking care of a mobile app.[00:15:48] Dagna Bieda: And it was a pain in the butt that the build of the app was taking a few minutes, you know, and I just felt it was so inefficient. So I went ahead and I refactored how this particular app was built. And I reduced the build time from few minutes to, like, 30 seconds. And I was so proud of myself, you know, I was so like, yes, this is amazing in reality, what happened is, that what I did that work that I did, impacted my life and one other engineer. Nobody else cared. It didn't matter. Then I had a second task or project that I worked on in the same company, which was creating a deliverable for a client, super boring, a lot of copy and pasting, a lot of like following steps. I did not enjoy doing that at all, but guess what?[00:16:36] Dagna Bieda: Whenever it was deployed and the client could spread the mobile app to their own client base, I got praise from the sales representative from our BA, from the project manager. My tech lead was like, wow, Dagna, that was a super fast turnaround. You know, everybody across the organization was like, yay, success.[00:16:57] Dagna Bieda: And I'm thinking to myself, Wow. I would have never in a hundred million years figured this out on my own. If, if you ask me as an engineer to like put a value on this project versus that project, I would've thought that the refactoring was better. So here's long story, but essentially what I'm trying to say is, it's very important to understand how what you are doing trickles, like, how what you're doing fits into the business as a whole, the business that you're working for and how to communicate about it. That's the, really the key of what I was trying to say here. [00:17:35] Dr. McKayla: Yeah, I think that's really, really important, but I also found myself working at companies where. You are assigned things, right? So you're not really asked for your opinion. if this is now really helpful or not or, or something like this. And then maybe reassigned as well, right, which I think there are, there are several impacts to that. First of all, what would be your advice for people that are assigned projects where they also know maybe doesn't look like this has a big impact on the company, right? So it's also limiting my ability to advance my career here. What should you do? How do you communicate about that? What's your advice? [00:18:18] Dagna Bieda: Yeah, we're kind of going back to, you know, to that communication piece, right? So, first of all, one thing that I want to share the assumption I'm coming here up with is that whoever assigns you that work is not a mind reader, so they would not necessarily have your priorities, your career priorities in mind.[00:18:37] Dagna Bieda: So it's important to, whenever you are asking for work to kind of like be proactive and say, Hey, I am really working towards becoming, let's say a staff engineer, becoming a team lead, becoming an engineering manager, can you help me out and assign the kind of work to me that will help me achieve that goal, right?[00:18:58] Dagna Bieda: Asking for that help and support because most of us are nice and friendly people, and we want to help. But we don't always know what's the best way to provide that help. So being kind of like your own advocate and talking about what it is that you want to do is really critical here. A second thing is, you know, whenever you're in those one-on-ones with your manager, is to really ask for feedback. How are you doing, how you could be doing better, and creating that safe space for feedback. You know, something that is my strength actually, and really helped me with accelerating in my career early on was that relentlessness in asking for feedback. Like, I had this team lead that worked with me that helped me become a senior engineer because he kind of vouched for me in the meetings that I wasn't part of.[00:19:53] Dagna Bieda: And he really said like, Hey, she's ready. She can handle it. She can be a senior engineer. I think she's ready. And that's what got me the promotion. But when him and I worked together, I was telling him, look, I really want to know. Don't worry. You're not going to hurt, hurt my feelings. I want to advance, I want to be hitting the ground running, and I want to really work on the things that are holding me back.[00:20:16] Dagna Bieda: And, you know, one of the critical pieces of feedback that he initially didn't want to give me, because it felt like maybe he would hurt my feelings or maybe was too much. I don't know. But after I was pushing and pushing for that feedback, he essentially told me, Dagna, fast is great. But reliable is better.[00:20:35] Dagna Bieda: And that advice changed how I was thinking about writing code, because I was really prioritizing being fast, delivering as soon as possible, right? But sometimes my fast solutions were not fully thought out. And a senior engineer really has to have that understanding of how the engineering decisions impact business, the team and what it is that, that they're trying to accomplish as a team. [00:21:03] Dr. McKayla: Yeah, I'm thinking back of a time, right, where I think it's totally true that we have to go and advocate for ourselves, but I also wonder how many people are a little bit stuck in that, well, this is what the business needs, right? I understand that you want to advance your career. You want to become, you know, a senior engineer or a tech lead or whatnot.[00:21:27] Dr. McKayla: You know, saying that the project doesn't seem to have such big impact, right? And big impact, I think has to do with the stakeholder. Who is it visible to, right? Who is going to see and hear your name and, and so on. I thought, I think there's a little bit of political background towards that as well. Have you worked with people that are just really stuck in a situation where there is nobody that really advocates for them too much, or they are assigned a project that's, you know, low visibility and they're stuck there. Would you say the best is to move companies or? [00:22:01] Dagna Bieda: The short and sweet answer is yes. And, you know, in the very first meeting that I have with my clients whenever we start our coaching sessions in the program, what we do is we figure out what are their specific life and career goals, and what are their values and, how their current workplace supports those values. And then we measure them in a specific way. And after that, specific exercise, we're able to confidently say whether it's worth staying in that place or if it's time to move on.[00:22:38] Dr. McKayla: And so, whenever I see, like, in my Twitter bubble, right? I'm also very much in the American, you know, world somehow. And everybody is like, oh my God, the marketplace is, or the market is so hot now. And, you know, jobs are everywhere. I don't know in Europe, I don't feel that way.[00:23:00] Dagna Bieda: Got it. [00:23:00] Dr. McKayla: Is, is it like this? Do you feel like right now, it's so hot and everybody can, you know, change their career in a second and get better and you know, why would you even stay there? I feel like even if you have a good place, let's move because you can make more money and so on, which is a very different mindset.[00:23:18] Dr. McKayla: I don't see that here in Europe so much. It doesn't feel that hard or it also feels like if I'm at the good company and, you know, I make a market okay salary, I don't feel that people are looking forward, changing every one and a half, two years, more. [00:23:34] Dagna Bieda: Yeah. So two years is very common for people who are very ambitious.[00:23:39] Dagna Bieda: I want to try to see how different companies do different things and gain those experiences across a variety of industries or companies of different sizes. So, two years is definitely something that's seen as fairly normal. And I feel like you touched on an important subject there, it's very important to realize that the European job market is much more fragmented, right?[00:24:03] Dagna Bieda: Because we have different countries, different cultures, and it's not as easy to, you know, have access to all those opportunities. In the United States, it's way more streamlined because you know, it's one country and people mobility is also completely different. So like if you live in LA and then next year you get a job in New York, it's much more likely that you're just going to pick everything up and move for that job.[00:24:30] Dagna Bieda: In Europe, we are not like that. so it's more like choosing a town you want to live in, and then you find a job within that town, say, for example, right? So in that sense, we have just different priorities in Europe, and there are different priorities here in the United States, and that impacts that job market, absolutely. With that being said, with the COVID, the pandemic, and the acceleration of the remote workplaces, there's more and more opportunities for the Europe software engineers, for example, or anyone else really to access those American jobs. I cannot think of, like, anything in particular, but there's more and more companies that are supportive of those remote jobs and help pair American companies with offshore workers.[00:25:18] Dagna Bieda: And it's kind of like in that saying where Europeans work to live and Americans live to work. There's definitely something in that, some truth to it. I mean, I remember when I moved to United States and I was, you know, trying to get my very first engineering job and, on the phone interview, someone would tell me, like, we offer three weeks vacation, we're generous.[00:25:42] Dr. McKayla: Yeah, it's different. [00:25:43] Dagna Bieda: Yeah, right? It's different. It's different. There's so much more vacation time back in Europe, back at home. In the United States, even though they are coming up with, like, this unlimited time off policies it really depends on the company. Some companies are just trying to not pay you out the accrued time off.[00:25:59] Dagna Bieda: So you have to like really be wary when you are verifying if it's really unlimited time off. But with that being said, I had a client and she took like 10 weeks off within a year. So you know, there are companies that, yeah, there are companies that really kind of like honor that. [00:26:15] Dr. McKayla: Okay. Okay. Well, I have a last question for you, actually, and it's about code reviews because you were touching upon communication and also showing your work and what you are doing. How do you think can people use code reviews to do that, to accomplish that, to, you know, make their work a little bit more visible? Is it something that you thought about? How that fits together? [00:26:39] Dagna Bieda: So in terms of code reviews, the advice that I really give to my more inexperienced clients who are earlier in their career journey is to not take them personal.[00:26:51] Dagna Bieda: Just take it in as an information, as a guidance and, you know, earlier in their career, a lot of software engineers tend to take those comments, that feedback very personally, and they have their feelings hurt. But in reality, it's just feedback. It's just objective information that you can use to better yourself.[00:27:11] Dagna Bieda: Now, in terms of my more senior client, their skills are at the level that, you know, I don't see code reviews being very critical there because they already, you know, have mastered that technical foundation. So what I focus on really is those skills that are missing: the people skills, the communication, how you market yourself and all the things that we talked about today.[00:27:34] Dr. McKayla: Okay. Okay, cool. So, Dagna, thank you so much. Maybe you can also tell us a little bit how people can follow your work can find you, and maybe something that you want to. You know, give on the way for the engineers on how to find the career or the next step that makes them happy. [00:27:56] Dagna Bieda: Yeah, absolutely. So the best way to really get in contact with me is through my LinkedIn profile. You just can go to LinkedIn and find me under Dagna Bieda, D A G N A B I E D A. And then you can also go ahead to my website, the mindfuldev.com/podcast, and you'll find there a case study. And that case study beautifully explains the process that I follow with my clients and how it helped them really level up in their career. For one client, it meant going from an underappreciated senior engineer to a startup CTO in three months. For another client, it meant moving from a senior engineer to a VP of engineering and innovation at his company. For another client, that meant doubling his salary as we work together. So, you know, if that case study is something that you're interested in, you can then reach out to me and we can see if we're a good fit to work together and how I can help you accelerate your career.[00:28:57] Dr. McKayla: Okay. Cool. Thank you so much. Thank you, Dagna, for being on my show. [00:29:01] Dagna Bieda: Absolutely. It was a blast. Thanks for having me, McKayla. [00:29:04] Dr. McKayla: Yeah. Thank you. Bye. [00:29:06] 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.
Using Wordpress to run a profitable developer training business
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.[00:01 - 07:22] Opening Segment Need to generate fake data that looks, acts, and behaves like production data for your test environments? Check out Tonic.ai!Head over to https://www.tonic.ai/ and sign up today for a free two weeks trial sandbox!From full-time employment to consultancyOn why he calls his business the banana stand“There’s always money in the banana stand.”[07:23 - 21:54] Doing His Own Thing and Gaining IndependenceAvdi on the difference between consultancy versus the banana stand modelWriting his e-book and getting into screencastsHow he managed a startup business, consultancy, and being a new father at onceThe reason behind the rebrand: From RubyTapas to Graceful.DevWhy Avdi is done subscribing to the corporate cultureThe unconscious bias in recruitment[21:55 - 31:42] Building on WordPressWhy Avdi chose WordPress as the platform for his businessWhat are the advantages over the other platforms?WordPress plugins: What you need to knowKeeping track of the changes and updates on the platform[31:43 - 41:46] Closing SegmentWhat’s next for AvdiHis advice on delegating and building your email listFinal wordsTweetable Quotes“There's always the risk. There are no guarantees in this industry. There are no guaranteed retirement plans.” - Avdi Grimm“I think a lot of people in software are completely focused on either financial scaling or on like user scaling. The kind of scaling you need to plan for is devolving stuff from yourself, removing yourself as a bottleneck” - Avdi Grimm“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.” - Avdi GrimmResources Mentionedhttps://www.tonic.ai/ - Sign up now for a two-week free trial!Exceptional Ruby by Avdi Grimm - Get a copy of Avdi’s e-book at https://store.avdi.codes/l/NWtnkWordPressConvertKitLearnDashMemberPressWooCommerceConnect with Avdi on his site and on Graceful.Dev! Follow him on LinkedIn, too!Let’s Connect! You can connect with me, Dr. McKayla on Instagram, Twitter and Youtube to look into engineering software, and learn from experienced developers and thought leaders from around the world about how they develop software!LEAVE A REVIEW + help someone who wants to know more about the engineering software world. Your ratings and reviews help get the podcast in front of new listeners. _______Transcription[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.
What the heck is data-oriented programming?
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.Yehonathan is a software developer, author, and speaker. He has tons of experience in full-stack development using various languages such as Java, Javascript, and Ruby. But his favorite language is Clojure. He bundled all this experience and knowledge into his book Data-Oriented Programming, which is already available for beta-readers on Manning Publications and should be finished this summer.[00:01 – 06:35] Opening Segment Check out my latest project: Awesome Code Reviews!Visit https://www.awesomecodereviews.com/ to find articles about code reviews, best practices, code review checklist, news about the latest research and code reviews, and workshops and courses about this topicWant to read Yehonathan’s book, Data-Oriented Programming?Like and retweet today's episode now and get a chance to win a digital copy!Introducing a simple way to eliminate the complexity of information systemsWhy should we unlearn objects?Relating meditation and object-oriented programming on how we perceive reality and cause accidental complexity[06:36 – 17:52] Data-Oriented Programming DefinedData-oriented programming vs Object-oriented programmingSeparating data representation and data validationThe map is not the territoryData-oriented programming vs Functional programmingUsing generic data structures in data-oriented programming instead of custom typesThe profusion of types creates complexity[17:53 – 23:17] Changing Codebases to Data-Oriented ProgrammingThe four principles of data-oriented programmingMixing data-oriented programming with functional and object-oriented programming is possibleComparing information systems vs data-intensive applications[23:18 – 28:21] Closing SegmentThe story behind Yehonathan’s bookHe shares one of the best experiences in his writing journeyWin a digital copy of Data-Oriented Programming!Final wordsResources Mentioned: Awesome Code Reviews - Visit for helpful information and courses for you to try!Data-Oriented Programming: Reduce Complexity by Rethinking Data - Check out Yehonathan’s book!Visit Yehonathan’s website and follow him on LinkedIn to know more about data-oriented programming. Let’s Connect! You can connect with me, Dr. McKayla on Instagram, Twitter and Youtube to look into engineering software, and learn from experienced developers and thought leaders from around the world about how they develop software!LEAVE A REVIEW + help someone who wants to know more about the engineering software world. Your ratings and reviews help get the podcast in front of new listeners.
How I got a job at Spotify - Baby Break
Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.Book your awesomecodereviews.com workshop!Links:Emma's TwitterEmma's Interview BookLadybug PodcastStudy on Effects of Technical Interviews by North Carolina University:Blog postResearch PaperYou can also help make the podcast more accessible, by helping to edit the transcripts. You can find them on GitHub. Edits can be added trough pull requests (preferred), or by sending me an email.
Improving Code Reviews with Github’s Copilot
Paige is the director of Machine learning and machine learning operations, aka MLOps, at GitHub. Before that, she was a principal product manager at Microsoft and also worked on DeepMind and Google Brain. Paige has had over a decade of experience with machine learning and data science as a practitioner. Check out my new project awesomecodereview.com workshop!Links:Retweet and like to win access to GitHub Codespace, including CopilotTiferet’s work, using machine learning to detect security vulnerabilities in source code.VS Code’s Python extension and Jupyter extension.Copilot website (make sure to download the Copilot Nightly extension, to get the latest features!)Applied Machine Learning Scientist – Microsoft job opening here!Github – Use it for your work and tell us how we can improve! Shownotes:[00:01 – 10:53] Opening Segment Check out my latest project: Awesome Code Reviews!Visit https://www.awesomecodereviews.com/ to find articles about code reviews, best practices, code review checklist, news about the latest research and code reviews, and workshops and courses about this topicGet a chance to try out GitHub Codespaces and other extensions like GitHub Copilot!Like and retweet today's episode, and for an additional chance to win, you can also leave a comment about what kind of data science work you're currently doing or what you like to doThe responsibilities of a director of machine learning and machine learning operationsDemystifying the process of reviewing complicated data science code[10:54 – 20:54] A Helpful Collaborator As You Write CodesHow GitHub Copilot becomes your partner and collaborator when writing codesIt is an extension for VS Code and generates source codeLearning from test cases and how code reviewers can perform a better jobAcquiring accurate code snippets through understanding the specific requirementsThe strive for consistent performance across every single kind of language[20:55 – 35:25] Expanding Feature Capabilities for Optimal FunctionalityThe beginning of deep learning techniques applicationThis targets detecting security vulnerabilities through code reviewsIt also provides recommendations for extracting functions from blocks of codeEncouraging consistency in names and stylesTake note: Microsoft is hiring!Striking the balance with deep understanding of data-driven and quantitative approachesData can tell us about users who are already using our tools, but not about those who haven't tried them yetThe key is to remain curious and constantly seek to better understand users[35:26 – 37:52] Closing SegmentPaige’s recommendation for youTry out GitHub for your machine learning projects!Final wordsResources Mentioned: Retweet and Linke this tweet to win access to GitHub codespaces and copilotAwesome Code Reviews - Visit for helpful information and courses for you to try!Applied Machine Learning Scientist - Microsoft job opening here!Github - Use it for your work and tell us how we can improve!Tiferet's work, using machine learning to detect security vulnerabilities in source code.VS Code's Python extension and Jupyter extension.Copilot website (make sure to download the Copilot Nightly extension, to get the latest features!Let’s Connect! You can connect with me, Dr. McKayla on Instagram, Twitter and Youtube to look into engineering software, and learn from experienced developers and thought leaders from around the world about how they develop software!LEAVE A REVIEW + help someone who wants to know more about the engineering software world. Your ratings and reviews help get the podcast in front of new listeners.
Foster a learning culture in software engineering to overcome learning debt
Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!Links:Connect with Dr. Cat Hicks on TwitterCat Hicks’website:Her consultancy websiteReport: “It’s Like Coding in the Dark”Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Running a developer community
Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!Links:Bekah’s TwitterBekah on TwitchVirtual CoffeeDeepgram Devs’ TwitterSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Entrepreneurship as a developer
Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!Links:Retweet and Like for a chance to win either Daniel's Build a Twitter Audience Course or his Good Parts of AWS bookDaniel’s Twitter that contains all he doesSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Make money with open source software
Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!Links:FullPage Landing pageFullPage.js on GithubWeb editor Fullsnap.ioMultiScroll – another open-source library of AlvaroSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Are happy developers more productive?
Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform. Try Codiga for FREE!Links:Book: Rethinking Software Engineering ProductivityHappiness and the productivity of software engineersTowards a theory of software developer job satisfaction and perceived productivityAn actionable framework for understanding and improving Developer ExperienceSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
How to write tests that find bugs
Today’s episode is sponsored by Codiga, a smart coding assistant and automated code review platform.Links:For a chance to win the “Effective Software Testing” book, like and retweet today’s episodeEffective Software Testing – The BookFlaky Tests blog post by MauricioMauricio’s newsletterThe art of testing less – How Microsoft copes with flaky testsSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Building a strong engineering culture through engineering values
Book your awesomecodereview.com workshop!Links:If you enjoy the podcast, please rate it hereA curated list of core values from different companiesCode Reviews do not find bugs – PaperFigma’s engineering principlesLullabot’s engineering valuesSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Measure developer productivity using the SPACE framework
Book your awesomecodereview.com workshop!Links:Dr. Storey’s websiteThe SPACE framework developed at GitHubPaper on improving developer experiencePlease give me feedback here or write me on TwitterSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Do not measure developer productivity
Book your awesomecodereview.com workshop!Links:Space FrameworkBook: Rethinking Productivity in Software Engineering (open access, so you can read for free 😉 )Short essay: “Why we should not measure productivity” by Amy KoDeveloper Experience FrameworkHow did you like the episode? Please tell me here: https://forms.gle/m4cYfK4y1VNWPgUm7Subscribe on iTunes, Spotify, Google, Deezer, or via RSS.
Content creation as a career path for developers
Book your awesomecodereview.com workshop!Links:Florin’s YouTube channelFlorin’s websiteFlorin’s TwitterSubscribe on iTunes, Spotify, Google, Deezer, or via RSS.