Parent Driven Development at Github with Allison McMillan

In this episode, Allison McMillan, a software engineering manager at Github joins me to talk about.

We also talk about:
  • how she broke into tech from a non-traditional background,
  • how she overcame obstacles and problems as a new mother in tech
  • how she builds herself a striving career.
  • we also talk about software development methodologies such as code reviews and testing at Github.
Picture of Allison McMillan
About Allison McMillan
Allison McMillan, is a software engineering manager at Github. She broke into tech from a non-traditional background, and overcame obstacles as a new mother in tech.
Book your awesomecodereview.com workshop!


Read the whole episode "Parent Driven Development at Github with Allison McMillan" (Transcript)

[Improve this transcript on Github.]

Michaela: [00:00:00] Hello, and welcome to the software engineering unlocked podcast. I'm your host, Dr. Mikayla. And today I have the pleasure to talk to Allison McMillan. Allison is an engineering manager at GitHub, and one of the hosts of the parent driven development podcast. Allison has worn many hats, including startup founder, community builder at the university of Michigan, our managing director of a national nonprofit. Alison is also a mother of two young children and very outspoken about the problems, especially new mothers face that want to stay in tech and progress in their career. So I'm super thrilled to have her on the podcast today to be able to pick her brain about how it is to work for GitHub and how she managed to have such a striving career, but at the same time, taking care of two little ones. So Alison, welcome to the show.

Allison: [00:00:48] Yeah. Hi, I'm so happy to be here.

Michaela: [00:00:50] Yeah, really great. So Alison, maybe let's start from the beginning. So I said, you're a mother, you're working for GitHub. You have this podcast. So how did it all start?

Allison: [00:01:02] Uh, yeah. It's it's so how it all started? Well, I was actually working in the, in the nonprofit world and decided to learn how to code. Um, and so I took a rails girls, the first rails girls workshop that was offered in Washington, D C. To girls, girls workshop. I actually didn't expect to really enjoy it, but at the end of the day, I loved it. And I'm lucky that D C is a really just awesome inclusive community, really welcoming of folks who want to learn. And, um, and there's, it was just really friendly. Uh, and so I'm from there, I continuing continue to learn, became a software developer. And when I had my first child, which was a number of years before I started working in GitHub, it was a really tough transition for me. And I found that there was, it was really hard to find outlets, to find people to talk to, especially mothers, but just parents in general, it was just really challenging. So I set up a little bit of a support network for myself, just via Twitter and nice people who agreed to. Talk me through some of the hard stuff that, that I was going through. I was there for a little while, and then I moved on to a different job, which was really great in terms of a work life balance, and a lot of folks ahead that had young children. Um, and then a little while ago as, uh, before I had my second, let's just. Sort of thinking about new opportunities, thinking about thinking about options and had a, had a chat, the friend who worked at GitHub, and she said there is an engineering manager position open and had just really, really great conversations with the folks that were there. And that's how I, that's why I ended up there a couple of years ago. Yeah,

Michaela: [00:03:00] very cool. So actually you don't have a traditional background I get from your story. So you're somehow switch careers and started programming after you did something else before. Or how does that really? How does it work?

Allison: [00:03:15] Yeah, I was a political science major. Um, I was a political science and, um, near East history. Um, So nothing to do with code or even remotely related to, to sort of tech, et cetera. And I worked in the nonprofit world for, um, for a number of years. And then I actually had, I run, I lost the startup that I ran for a little over a year. And as I was working with a few friends who were developers, just in terms of what the MVP would, would look like, et cetera. I found myself getting really frustrated at night, knowing like some of the constraints and some of the parameters. And I also felt like, you know, if I was gonna. Start this tech startup, you know, based on an online platform, I really had to understand more about what programming was. It is. I mean, at that time, I didn't even know that the command line was a thing that existed. And so again, rails girls was sort of just, I had a, I had a friend who, um, from like the startup, from the DC tech startup scene that was running the first rails girls workshop and it looked interesting. And, uh, like I said, I, I actually expected to, to hate it. I sort of grew up, um, in a very traditional households where the, and the expectation and the message was that like really as a woman, I wasn't math and science, like, wasn't my thing. Um, and I was never really. Very good at math and science in, in school. Um, so. I expected to not enjoy it any part of the day, I was like, I'm going to go because I need to go because this way I'll have a background and I'll be able to have better conversations with the folks that I'm working with. And at the end of the day, I mean, I had something like I had something deploy to Heroku and it was, you know, a little like to do list app. And it was so exciting. And I had, you know, come across some error message and fix some bugs. And I was like, Oh, this is, this is so much more interesting than I originally anticipated. And so I just sort of kept teaching myself, doing tutorials, you know, spun up my first sort of practice site, which is just a place to put. Um, meal and recipe ideas for, uh, for my partner and I, um, and like I said, you said, I mean, DC is really awesome. There was a lot of coworking. There's a lot of coworking that happens. So like I would, you know, do co-working before the. DC rug or Arlington Ruby event. Um, and tons of folks were, you know, volunteered to read over my code and give me some feedback or talk to me about, you know, I mean, I remember sitting in a coffee shop and, um, Someone saying like, Oh, have you, have you heard of testing yet? Do you know what testing is? And I was like, I have, I have no idea. And so they just talked me through like, well, this is what testing is, and this is what the goals are. And here's some examples. And then they like wrote my first test with me, just really, really kind individuals that gave me both confidence and a, and a place to start from. Oh,

Michaela: [00:06:34] that sounds really inspiring. I think what a, what a really good story. So, and then when you. Well expecting your second child and you thinking a career change is now the right thing to do. Um, how did that whole thing starts? So how did you approach github? You said that a friend told you about the position and you were. Thinking already, um, that you would like to change now. And when you started, how was that? How was it being a new mother and then starting as a new place, new work, can you invite them? And I can imagine it's quite a lot. I mean, when I got my, my second child, I was like, all hands. I needed all hands on deck, just at home, you know?

Allison: [00:07:19] Yeah, well, actually I, my first programming job was, um, just before my first, my first child. So I actually, uh, cause GitHub was, it has been the, the third or fourth company I've worked at in, um, in tech, I guess fourth, if you include a place that I was at, that I was a contractor at for awhile. Um, but the third sort of full time, full time gig. Um, so the, I actually got my. My first full time developer job right around when my husband and I were sort of thinking about starting to try for our first child. And we, I actually got very lucky and got pregnant. Pretty quickly, which was great, but it also meant that basically like two months into my first ever engineering role, I also had to, uh, had to tell the team that, that I was pregnant at that time. I was, uh, working at general assembly. There were a couple of other parents on the team, but no moms, there were no other women on the team at the time. So it was definitely scary. And it was, I mean, fortunately it was remote, which I think helped a lot, but yeah, it was, it was very difficult and that was some of my struggles after my first was that it was just really, I spent a lot of hours learning and teaching myself and putting time in and doing a lot of stuff before I had a child and I wasn't expecting. My brain to change in interesting unanticipated ways. I wasn't expecting the prolong, like sleep deprivation. I wasn't expecting just like the less amount of time that I had outside of work to, to work on things. So yeah, it is, it is really difficult to be a new, a new mom, whether it's your first or second or whatever, and also be, uh, basically to have an infant and also be new to programming. Michaela: [00:09:36] Yeah. Yeah. I also remember I had brain fog for, I think six months or something after my first child. And I was like,

Allison: [00:09:44] wow,

Michaela: [00:09:46] I cannot think straight. Right.

Allison: [00:09:48] One of the most interesting things, because as I mentioned, like it was, it was really hard to find people, especially mothers to talk to. And I had one conversation with someone, basically, I. I put out a tweet and I was like, I don't know. I don't know if I should stay in the industry or just leave. I don't know what I'm doing. Like I really am having a tough time. I would love to talk to mothers who are programmers, who can just talk to me about sort of what I'm going through. And I had, I had one conversation with a mom who talked to me about the ways in which your brain actually changes. Cause one of the things that really made me nervous was that I found that all of the techniques and all of the things that I had done in the past to learn things and to remember things and to like ramp up a lot of them, like weren't working anymore. And I was. Sort of freaking out about like, I mean, in, you know, at one time I was like, Oh God, what if I can never learn anything again for the rest of my life? Um, yeah. And but one of the conversations that I had with mum talks about just like, Your brain chemistry changing and how sometimes, like things just sort of move or like as a result of pregnancy and having a baby, like things change in your, in your brain. And so sometimes your go to methods are the things that you have, have been leaning onto to earn, or some of the processes that you've had in the future. Like you really have to break those down and revisit them and figure out like, Okay. What new thing works? What are some things that you can try? What are some different approaches so that you can figure out like in this new world, essentially, like what sticks now?

Michaela: [00:11:35] Yeah. So in my experience for me, it was a temporary thing, but because you don't know how long that phase will be, it's super scary. So, as I said, I had brain fog and I was in this really strange state. Six months after birth, I think were really hard to remember or to concentrate, to focus, but it changed after what had changed. And I would say I'm almost normal again, no, four years after I'm almost normal. Um, but yeah. Yeah. I have never heard of the chemistry changing, but surely with the hormones and everything it does. Right.

Allison: [00:12:16] So, yeah.

Michaela: [00:12:17] And so now you are in engineering manager, you're actually a manager of managers, right?

Allison: [00:12:24] Yes.

Michaela: [00:12:25] At GitHub. So what's your role there? Can you tell me a little bit about that? What's your day to day work? What do you do?

Allison: [00:12:32] Yeah. Um, so I, I run a department, an engineering department that's focused on communication and collaboration. Um, so it's, it's a variety of teams that. Focuses on, on different features and different things that we work on related to communication and collaboration. My day to day is a variety of things. Sometimes I meet meeting with the other department heads in my, in my org. I try to do, I do a few skip levels every week. I do a lot of one-on-ones and I do a lot of just, I try every day to sort of like. Roll through one of the, one of the teams that are in my department, which sort of means I'd just like, you know, get a sense of like what they're talking about, what major like technical problems are they're solving right now. What are the things that are most important to them? Both, uh, sort of like in terms of team dynamics, as well as like relating to other teams, collaborating across, across, GitHub with, uh, with other engineering teams. And yeah, and a lot of it is getting a sense of like where there are blockers and what I can help, help unstick or help solve or help listen about. Um, so I would say my, my days vary, but that's a, that's a good, a good amount of it.

Michaela: [00:13:59] So when you say you're having meetings, Madame, is that face to face or is that virtual? Because. GitHub is quite a remote company. Is it completely remote or is it partly

Allison: [00:14:11] remote? Uh, not completely. We are. I think we're like between 60 and 70% remote. So there's a, there's a headquarters in San Francisco and then there are a few, um, smaller offices, uh, around the world, but, um, most people are remote.

Michaela: [00:14:30] And what about your teams? Are they remote or are they also partly remote and partly at the headquarters or a different locations?

Allison: [00:14:37] They're partly partly that the two managers and like a small handful of, um, of engineers on those teams work, uh, at headquarters, but a lot of them are, and even. Because we're such a remote company, like even folks that technically work from headquarters often, do you know, work, work from home days or they're in the office a little bit in and out of the office a lot. Yeah. Cause it's like a, you know, if you're, if you're in the office, but the whole rest of your team is remote than like. Are you really in the office? Like what, you know? Um, so yeah, so people, I think pick, uh, even if they are close to an office, they sort of pick way what works well for them. And so all of our processes, like everything that we do is done, I think with like a remote mindset.

Michaela: [00:15:24] Okay. But you are completely remote,

Allison: [00:15:27] right? Yes.

Michaela: [00:15:29] So when you try to, you know, get in feeling of what is everybody doing and how are they communicating, what are your go to strategies for making that remote work? Because it's, it's hard. I mean, in my experience, it's harder than if you're at an office, you just have to have more processes around more strategies and over communicate a little bit. What, what is your thought on that?

Allison: [00:15:53] Yeah, definitely. I mean, for, for me, yeah. The first few weeks was that definitely a lot about, uh, watching, watching Slack to just get a sense of like, How teams interact with each other? Like what's the, what's the, the vibe, uh, you know, having a lot of one on one conversations to get a sense of, you know, different sort of like body language or things like that. We do a lot of video, like all of our meetings or our video meetings. And so it's, it's really helpful just to get a sense of like, How chatty different individuals are or, or not. So you can, so that you sort of have a baseline so that then you can tell when something feels, feels like it's off or when you feel like, you know, it's good to send a checkin message, right? For, you know, for, for some reason, it's also paying attention to a lot of the little things. So, you know, somebody might say like, Oh, I'm feeling really tired tonight. Or like, Oh, I had a, you know, kid who is a kid who's sick or kid who is up, you know, for, for a few hours or like, Oh, this really exciting thing happens, you know, happened this week. Um, so it's paying attention to those things as well. And then in terms of. In terms of checking in on things. I, each of the managers that worked for me and manage their team, they, they all have cadences that they've set up with their team. So some teams use like Geekbot or some other sort of way to just, uh, to do sort of like a virtual standup and, um, just like mention in, in Slack, like, you know, what they worked on yesterday, what they're working on today. There are also like they'll often have some sort of weekly bank meeting. Um, and so, so, you know, I, I will either try to like, Jump into those just to be a fly on the wall or, you know, read, read any, any notes or anything, anything afterwards. And I think a lot of it is having a, a good amount of, of trust. So like I trust that the folks that I manage are going to raise any issues or any concerns, um, with me in our, in our weekly one-on-ones. And, you know, I think that like, I have to trust them. They have to trust me. Like, it's really, I think it's really hard to have a remote culture when you're worrying about, you know, Oh, if there is an issue or a question, like, are they, are they going to, are they going to bring that up to me? Or, you know, is, is this team really, really working or, you know, those like those, those sorts of things, it's really hard to establish. Um, mostly it's really hard for it. Other folks to get into a good sort of flow when they feel like they have to answer your questions all the time.

Michaela: [00:18:54] so I think that that probably starts already with the hiring process. So when you are looking for people to join, especially a remote team, you probably look at specific. Um, mindsets and also qualities of people where, you know, they will strive in a remote environment. Would you agree? And if so, what would you look for?

Allison: [00:19:15] Yeah, definitely. And I think, um, So communication is big. One of them things that's really interesting to look for is how do people, how do people recognize situations and figure out what an appropriate response is? Right. So how do they, if there's a conversation that's happening in Slack and there's a lot of people involved or it's getting confusing, or like, it seems like it's getting a little. Like heated. Right. How does that person know? And so sometimes we'll ask questions about, you know, situations where you had a conflict with someone and, um, you know, and, and how you resolved it. And especially in a, in a remote culture, right. Sometimes it's like, okay, Pinging the person directly or saying to, you know, saying in a, in a group chat like, Hey, I actually think this topic is, you know, bigger and we should, I'm going to write up a, it can help. We use like issues and repos, et cetera, for, for everything. So something like I'm gonna write up an issue that captures everyone's thoughts and, um, you know, everyone please comments on it within the next 24 hours, because we also try. Sometimes synchronous meetings are good, but also when you're working across a lot of different time zones, it's not fair for people in like the edge case time zones to always have to be accommodating, like everyone else's time zone. So we try to do things like, you know, Oh, write up an issue. Or like I'm in a plan a time later this week that we can all sort of like that we can, you know, meet via video call to, you know, to talk about this synchronously. Um, and how that. How that moves forward really depends on the team. Right? It depends on the team. It depends how long the team has been working together. It depends sort of like what they're, what they're most comfortable with. But I would say in terms of interviewing, definitely asking about conflict resolution, you know, how just in general, like how they communicate, how do you communicate when you're stuck or when you need help? Um, right. Things, things like that.

Michaela: [00:21:22] Yeah. So I was, um, talking with life singer from automatic and automatic completely remote company. And for example, what they do is they write, they write everything down. There is a WordPress site, obviously for everything that they would do. So every project that they do or every team has their own, you know, instant instance off a blog, and then they write everything down there. So you can always go and look at those written down conversations and find your way through that. Do you have something similar at get hub? Allison: [00:21:57] Yeah, we, um, we use a lot of, uh, issues and repos, so every. Every team has, uh, has his own repo. And sometimes it's like where the code is. And sometimes it's more repo for like internal team questions or documentations. Or things like that, that sort of document, like how we work, um, onboarding those, those sorts of things. Um, we make pretty liberal use of issues and a lot of labels on, on those issues, so that it's really easy to search for something. And to find it, if you're looking for. You know, not just sort of like bugs features, et cetera, but also if you're looking for like weekly sync notes or stand up notes or, you know, anything, anything like that. And then the other thing that we use a lot is team discussions. So on GitHub, you can, um, you can have teams and often times those discussion boards are sort of used for, you know, like you'll post information about. About the week or about what was accomplished or, you know, something that's like really important for, um, for your team to know. And those are often they're often published for the whole company, whole company. Doesn't get it. Doesn't get notified when they're published, but like if I ever wanted to look at. What was going on at different if in a different team, like if something came up and I was curious about whether a different team was a good would be interested in, um, collaborating on something. Yeah. That's a good place to look or Slack. We use a lot. I mean, there's a lot of Slack. We have a lot of channels and it's not uncommon for somebody to sort of pop into another team Slack channel and be like, um, you know, Hey, we're thinking about this idea. W, you know, would you be interested in being CC'd on the issue or being part of that conversation, et cetera? Michaela: [00:23:57] so one of the things that triggered the thing that you said before about conflict resolution and communication is code reviews. I immediately had to think about code reviews because I think code reviews resemble similar issues where you have like written converts communication and, you know, Tommy's can get a little bit heated. And one of the strategies to resolve that is also going out of this code review mode via for example, tooling, or, you know, I get up or what not. And having one on one conversations either, you know, pick up the phone or, you know, call somebody or walk over and discuss it in person or write the document or, you know, take one step back and say, okay, it seems, you know, there is more. Disconnect here, let's revisit the whole topic or architectural what, what the discussion is about. So I would like to know how are code reviews seen at GitHub? How do you do code reviews? Is every team doing code reviews. And as you are the manager of managers, you probably have insights in different teams. Do you see differences? Similarities? I would like to know everything about that.

Allison: [00:25:07] Yeah. Um, I think there's no, uh, There's no one uniform way that we do code reviews it at GitHub. I think one of the, um, really. Nice things about GitHub is that there's very little, that's actually like prescribed as well. You must do something this way. Managers are really given flexibility to sort of like work with their teams and figure out, um, based on the project based on that. Size of the team based on, you know, a ton of different like based on the geographic distribution, et cetera. There's a lot of leeway to say like this, this works for us. So we're going to do it this way or, um, not do it, not do it this way, et cetera. I would say that in general code reviews definitely happen. You know, I think that there are a few sort of. Basic, I don't want to say rules, but cultural practices that are, that are, I think one of the most important things in code reviews is kindness. Right? Thinking about, I think that when people do code reviews and at least from, from what I've seen. They really think about how things are phrased or how to, how to suggest options, um, as opposed to using words like you should, or if you just, um, you know, things, things like that, sometimes doing a code review is actually part of our interview process.

Michaela: [00:26:30] Interesting.

Allison: [00:26:31] It's actually one of my favorite. Things to do as part of it personally, it's my passion. It'll take now, like you'd have stance, but it is one of my favorite things, things to do as part of a hiring process. Because I think that you can tell, right, so much about, um, especially at a remote company where a lot of the interaction is going to be through code reviews. I know so much about a candidate by how they, um, how they review, uh, how they review a pull request. Cause I think that. For example, like confidence is a huge aspect of being able to do good work with other folks remotely. So, you know, if you have someone on your team that's constantly reviewing code with really like, why didn't you do this? Or you should have just done this. Or if you had simply done this, like if the phrasing isn't sort of kind and thoughtful, then it's also really easy to. To say to yourself like, Oh, I'm just such a bad programmer. Or like, what am I even doing here? You know, whereas different sort of language or, or, uh, prompts that that can be used. I think one of the, this is like sort of code review, but sort of not code review. Right. Um, two others things related. Are we talk a lot about pull requests descriptions? Okay. So what is a good pull request? Like if, you know, for someone to be able to review your code effectively, what does a good PR look like? Right. So a GIF, if there's, if there's functionality involved, if it's something complex, really making sure to sort of break it down and to spend time on that poor question. Description. Right. What, what are you talking about? Why are you talking about it? What are other options that were considered, but that, you know, he didn't, didn't go down that path or maybe he went down that path and then reverted and tried something new. I'm like, what is. Important context for either anyone who's jumping into review the code for them to know, or even for future you to know about, like, what I found is that pull requests with good descriptions often get revisited time and time again, when you're looking for like, Oh, how did that relate to this other team? Or, um, you know, how, what was that, you know, what was that piece that we, that we pulled in or they approach their, um, So I think that that's, that's really important. And then the other thing that's a little bit more related to like pull requests, but a little bit code code review related. Um, is that in our department Slack channel. Um, I have a, like a Slack bot message that posts on Fridays that asks that, that asks people to post, um, an interesting pull request that they authored or read and what was interesting about it or what they learned as a result. So that's the way to sort of like take coder view or take the work that you're doing or that the work where you code reviewed somebody else and just sort of, um, Showcase it to a broader audience to say, like, I was so impressed by this, or I, you know, like this is a really interesting approach. And I, I learned about, you know, I learned about this thing or even highlight a code review conversation. Right. It's a great place to say like, Oh, this conversation happened via code review. Like the approach was really, was really thoughtful and really excellent. And I really appreciated the conversation that occurred as a result.

Michaela: [00:29:56] Yeah, so much that you just described resonates very much with me. And while I give for example code reviews workshops, and one of the things is the feedback that I always go through with the people, because I think it's so important. It's so crucial how you phrase, as you said, how you phrase the feedback and it it's just. Very different. If you demand something or if you ask a question and it should be a sincere question, right. It's genuine. And, uh, not, you know, that you just package it into, I actually want to say you must, you know, I make a question out of it, Mark, at the end. I think people can, even though it's written conversation, people can feel where you're coming from and. It's the same. What's really important is that it's about the code. It's not about the person, right? So for example, that's saying, well, you have to close the socket. You say this code doesn't close the socket, right. Is a very different, very different conversation.

Allison: [00:30:55] Absolutely.

Michaela: [00:30:56] And as you said, in the studies that we did at Microsoft, we saw the same thing that if you have a very good description of your change, change description, that's just saving so much time and not even time, but also the feedback value that you got back from that is, is. Quite different. Right? So if you don't have a lot of description, there are not a good description. It's really about the quality, right? Not the length, but if you have a good description of your change, it's that people can understand what's actually going on and help you much better and give much better feedback. So that's really, really important. So, yeah. And I love that you take PRS and look through them because that's also one of the things that, yeah, I always suggest is to, to make a review of your review from time to time. Right. Really look into how are we actually giving reviews? What are we learning? Where are we stuck? Maybe also right. Where our bottlenecks, things like that. So, yeah, I really liked that idea of highlighting how you learn through code reviews, right? Because it's one of the really good side effects. If not even outcome, right. The primary goal of cognitive is that you're actually learning something and that you're communicating with each other.

Allison: [00:32:06] Yeah. Yeah.

Michaela: [00:32:08] Yeah. I love that. So, um, what about testing? Can you tell me a little bit about testing at GitHub? Is there. Do you have like automated tests? Do you have like manual testing as well? Going on and how, you know, what's your philosophy behind testing?

Allison: [00:32:24] Yeah, we have a lot of automated, automated tests and writing tests. Definitely a very important part of. Being sort of a conscientious developer, um, making sure that, you know, you're also, um, you're also testing the code that you're writing the feature that year, that you were building, et cetera. Some teams have manual testing as well. It really sort of depends on how. Complex the product is. And, uh, and what that, what that looks like. But I think in terms of testing, we sort of follow like mostly standard best practices. I don't know if there's anything that we do that's particularly like unique or, or out of the, out of the ordinary, other than tests are good and they should be written.

Michaela: [00:33:10] And do you know, for example, for every change that you have, or even, you know, every pull request, do you have, like, for example, Suggestions or guidelines around that every pull request should have a test with it or a test suite, or is there some coverage, for example, criteria that engineers must adhere to or something like that?

Allison: [00:33:33] Like I said, it could have, there are very few like musts, is that a hard requirement that everything that's like every single PR must have a test because that isn't always necessarily. The case or necessary, but if, if it's new functionality, if it's changing functionality, if there is there always tests that are run, right? So the expectation is that, like, there are tests that cover that change. And if there is functionality that's changing or being introduced, et cetera, then there are tests that that should be included in, in that. And if the person, I think this is rare, but if for some reason, the person doesn't. Include a test and their original PR it's. I think it's guaranteed that somebody in a code review will comment on either suggestions around a test or comments around a test, et cetera.

Michaela: [00:34:24] And so you said you actually learned rails, so Ruby on rails, right? Yes. Um, is that also what's fueling GitHub. Uh, can you tell me a little bit about the tech stack behind? Um, I think I remember that that Ruby is one of the criteria, but is there more, what, what do you have to know if you want to apply for, for GitHub, for example?

Allison: [00:34:47] Um, it's so it's, it's a lot of Ruby and rails. Um, there is also some go and I think there's more and more goes sort of popping up. Um, and then there are also some teams that do that focus primarily on, um, JavaScript and react and have a lot of no Ruby and rails and more react, um, react, go, that sort of thing.

Michaela: [00:35:15] How would the hiring process look like?

Allison: [00:35:17] The hiring process differs a little bit sort of team team by team or department by department, but generally there's, uh, an initial call, um, with, uh, with a talent partner. And then we do a few interviews. There is usually a technical component where you're doing some sort of, um, technical interview. Oftentimes that's a short take home, but it can take other forms. And then there's usually some, um, again, video call technical portion where it's active conversation. There is a, uh, values or leadership principles section where we talk about what our. What our GitHub values are. Um, and ask questions around that. There's always an interview or a chat with the hiring manager. So the person that is related to the team that, that you would be joining. Um, and then we also do a diversity inclusion and belonging interview, and there are special. There are folks. Uh, at the company who gets special training to be on that interview rotation. Um, and that those are questions around. How aware are you of sort of like diversity inclusion? How do you think about diversity, inclusion and belonging, um, et cetera, so that we make sure that the folks that are joining GitHub care about those sorts of things.

Michaela: [00:36:42] Okay. And it sounds really interesting because GitHub is remote or a large part, as you said, is remote. Is it only US remote or is it worldwide remote?

Allison: [00:36:52] It's it's worldwide remote, although we can't hire in every country or even every state the, in the US so I know that on our, um, On our job site. I believe there's a, there's a link that talks about where, where we can hire, I don't know all of the locations, um, off the top of my head, but, um, yeah, there are, there are some restrictions in terms of where we can actually hire folks from, Michaela: [00:37:18] but it's not only US. It also Europe

Allison: [00:37:20] and yes, definitely of America

Michaela: [00:37:23] and

Allison: [00:37:24] yeah. Australia.

Michaela: [00:37:27] Okay. Very cool. So I know that you are. Quite an remote advocate and that you like the remote work. Can you tell me a little bit about what you see that it's enabling for you? Right. So you choose a remote workplace and you told me that even before working at GitHub, you also worked already remote. Why are you choosing that work style and what are the benefits that you see?

Allison: [00:37:55] Um, I have been working remotely for. I think around eight years now. Um, and even before, when I was, when I was working in the nonprofit world, the organization that I was at, we started all co located in an office in Washington, D C and as the organization grew, we recognized the benefits of having folks around. At that point, I was just around the country, around the United States, and we recognize the benefit of having folks around. Around the U S. And so one of the things that I set up there was actually, um, our first set of, of remote staff. And by the time I left, we were about 50% remote 50%, um, in person. And for me, part of that was also making sure that the folks that were co located in the office were taking work from home days. We're taking just days where they were not in the office. So that they got a sense of what it was like to be, to be remote, what some of the pain points were, et cetera. Uh, it led to just better team collaboration and communication, et cetera. Um, I love working remotely there's there are a number of reasons. I mean, first I think that it, it enables me to do a lot of it enables me to. Pack a lot of different things into my day. So I have two young kids. I don't always get to shower in the morning. It's nice that I work remotely and can sort of, you know, add that, add that into my day. Uh, whenever it's nice that I can go to my fridge and eat leftovers or snacks or, or whatnot for, um, For lunch. I think that I save a lot of money by not sort of eating out. And then, I mean, also on the, on the monies things with child's care, when you have to add in commute time. So the number of hours that you need to pay, um, childcare professionals or daycare or whatnot, uh, it can add up really, really, really quickly because obviously if you're working 40 hours a week and you have a commute or something, yeah. Whoever is taking care of your child or children is working more than 40 hours a week. And so there's, there's overtime, there's all sorts of additional complexity that, um, that goes into it. I also think one thing that I love of about working remotely is that okay. I get to work from a variety of different places. Um, so in DC, for example, all of the Smithsonian museums are they're free for entry. They all also have internet. Um, they all have have wireless. And so, you know, I'll work from the portrait gallery or I'll work from. The Renwick or the natural history museum. Like if I feel like going down like downtown into DC, um, there are just a lot of really cool places and spaces that I can work from. And I find that on days where I'm less motivated or I'm working on something that's a little bit more abstract and I just need like, Open spaces or inspiration, or I don't know what it is. Like, I love being able to like walk around completely different places and then just sort of like sit down on a bench and jot some notes down or, um, or things like that. Taking breaks to take a walk during the day. I mean, there are just, there are a lot of, a lot of things. I also, um, with two young kids, it's, it's nice because I can. I can organize my day, like how it makes sense. So I have, I have my usual working hours, but if for some reason my son has something going on here, preschool or moving a little bit slower in the morning and therefore drop-off takes a little longer instead of having to like, get really frustrated with my kids and be like out the door, out the door, we need to get out the door out the door. It's like, okay, well, like. I'm going to start my day, 20, 30 minutes late. And, but, you know, yeah. In the evening after they're asleep, I can, you know, I can always like open up computer and read a few emails or catch up on anything that I feel like I, I need to up, et cetera. So it's nice. The converse of that is that when you work at a company that with people around the world, somebody is, Oh, it's always. Work. It's always regular business hours for someone. Um, so you really need to be very disciplined in like turning off notifications or closing your computer and saying, I am separating myself from my work day. I am not working. I will not work until this time or until it's. Cause it's really easy to just like. Like at 8:30, when my kids are asleep, it's sometimes really easy for me to just like open up my computer. Cause I'm doing it. Some other personal stuff get involved in a work conversation and up like, you know, all of a sudden it's 10:30 or 11:00 PM. And I realized that I was like accidentally works for two hours instead of resting and relaxed.

Michaela: [00:43:01] Yeah. I can see so many things that you said. One of the things that I love the most is lunchtime. So, so my husband and I are both working remote and we always have lunch together. And I think that's one of the biggest things that why i love remote so much. Just those, you know, 30 or 40 minutes that we just spent together and have lunch every day. And, you know, it's just our quiet time because you never know how it's going to be in the evening when the kids have to go to sleep and things like that. Right. So I really enjoyed that very much.

Allison: [00:43:35] So,

Michaela: [00:43:36] but remote work isn't, as you said, there also, you know, obstacles, drawbacks, and things to just have to be aware of. What would you say? What are the best strategies to make it work? What are the obstacles we have to overcome and what would you do about them? Yeah.

Allison: [00:43:51] Yeah. I think that, um, one of the most important things is figuring out what your working style is. So is it okay? Is it enough to have, I do recommend like having some sort of dedicated space in your, in your home, that is your sort of office area, but is it an office, do you really need to like get out of the house? And co-work, for me, one of the really important things. So I like. I wake up. I get dressed every day. Um, that's really important to me in terms of like, I am getting dressed and starting my starting my work day. I can not be productive. And in my pajamas, it's just like, Can't do it. Um, I have a separate place that I, that I go to. I also, especially in colder months, I make sure that I'm coworking with friends, like at least once a week. Cause otherwise I've definitely had times in the past where like, I'll just sort of randomly be in a little bit of a bad mood or something feels off. And I like stop and think, and I realized that I have not left the house for five days except to maybe do like pick up and drop off or, you know, something like that. So making sure that you sort of know yourself and are building those things into, into your schedule. One thing that I'm really bad at that I try always to be better at is. I really need to be like getting out of my house more, not just coworking, but also like taking a break in the afternoon because I feel like I get so focused on work and the things that I'm doing or meetings or whatever, that it's hard for me to take a break and take a walk, et cetera. And I don't have any sort of built in walking active, et cetera time because of a commute. And so that's, that's a thing that I'm always trying to get better at. Right. Making sure that I'm okay. Having a establishing and maintaining a healthy lifestyle and healthy habits, um, around working remotely.

Michaela: [00:45:54] Yeah, I can see that. I also, when, for example, I, if I'm not picking up my kid from kindergarten, then sometimes as you said, I'm not leaving my house. And I feel like that's really unhealthy. And if I go out, love the door, it's like, wow, it's there. You know, it's sunny shining. It's wonderful. And it really boosts the mood. So I think. We have to be considerate of that, that even if you don't have this commute, which I'm really happy that I don't have. But on the other hand, that as you said that you have some, some routines around going out of your house or, you know, something healthy for yourself. So, um, Alison, we talked a lot before I let you, do you go, I really want to pick your brain a little bit more about, you know, motherhood or Parenthood and working, because I know that you spend quite. A lot of time researching that topic and why, you know, why is it so hard for like new mothers or new parents to be in tech or be in the workforce? So what are you go to strategies to, you know, what would you suggest a young mother or a young father in their early, the early days, you know, of Parenthood?

Allison: [00:47:07] Yeah, absolutely. Well, and it's interesting because one of the things that I found, so a couple of years ago, I put out this, this. Big survey. It's actually still my pins, tweet and Twitter, because I do a conference talk called baby driven development. And every time I do that, I've given it a handful of times over the last few years. Every time I do it. Yeah. Go back to the research. I go back to my surveys and I update based on new, new survey results. Um, that that have come in. Yeah. And what's really interesting is that it gets a little easier as your kids get older, but a lot of the challenges still remain the same, right. Things like there are a lot of logistics about having kids, no matter how old children are, there are just so many logistics to who's taking care of them, different hours, how they're getting from one place to another sick days, snow days. I mean, all sorts of. All sorts of stuff. So I think that one of the most important things, sort of the most interesting findings from the survey is that data around how men and women are, how mothers and fathers, um, felt like having a child affected their career, um, are, are very different. And I will say I also have options for like, for. Non-binary on there, but I don't have enough data results to be able to include that into like, into the statistics right now. But the number of mothers who feel like having a child has negatively affected their career is like 60 or a little over 60%. Whereas for fathers it's, it's much lower. And I think that, I think that part of it is like, Is mental load and that a lot of things it's expected that moms will take care of. One of the things that I always talk about to moms and dads about is recognizing. Recognizing what the, what the parental workload is of each person. And not just like who's taking care of the child or who's cooking dinner, but like who's responding to emails. Who's buying presents for birthday parties. Who's making doctor's appointments. Who's making sure kids hair gets cut. Right. There's like a million little things. And I think that, that a lot of that stuff. Often falls on falls on, on mothers. So I think that's one really big thing. And then I think it's the other really big thing is that like your time outside of work is just limited. So being really intentional about your, your Workday and focused about how you can hit a bunch of things while you're working. Right. So what work do I do? That is also fulfilling and also where I'm learning things. Right. So that I don't have to learn a whole bunch of things outside of work. How can I look at what I'm doing at work and make sure that I'm getting opportunities or looking at stuff where I can be learning and advancing and growing through the course of my Workday, as opposed to having to put in additional hours outside of work to, um, to feel like I'm to feel like I'm getting that. Uh, and I think that that's like really a huge aspect of it.

Michaela: [00:50:22] Yeah, I liked that very much. And I think it's, it's changing your mindset, right? Because as you said, it's really hard outside of the work that you put in work then to do something else. I mean, there are the kids and you want to spend time with them and with your family, and it's just, you don't have the same opportunities that you had before. I mean, I always. You know, I traveled the world and it was so easy. And if there was a job opportunity in America and it was good enough, I was like, Oh yeah, hell yeah,

Allison: [00:50:53] sure. Yeah.

Michaela: [00:50:55] Where can I sign? You know, it doesn't matter. I find something, there are our BnBs or whatnot, you know, I have a friend, I would find friends. Right. It doesn't matter. And right now, I mean, even for job opportunities, I'm like, okay, Oh, sounds really amazing, but I can't do it. Or as you said, um, outside of work, if you want to do something, something in addition, right. You have to, for me, for example, a lot of what I do right now is I want to. Do what I really love for work so that I don't have to have another thing that I do to that. Right. So you have to really work on combining the different forces that you have and yeah, I like that. I like that advice a lot.

Allison: [00:51:40] Yeah. Yeah. And then, I mean, one other thing, actually working remotely, it's so easy to just work all the time when you're, when you're remote. Like even, you know, a lot of people are like, Oh, I'm sick and I don't feel great, but I don't have to go anywhere. So I can just like, you know, I can work today, but I'll work at, at a slower pace. One of the most important things for me has been taking off at least a day, if not like a couple of days, every few months, that is like, Pure self care time for, for myself. So a day where like, cause you end up having takes, take off so many days for like school closings and illness, like for all these random things that are not actual like vacation days, because you have to take them off of work cause you have a bunch of other responsibilities. Um, so I made sure to just take off, you know, a day or a couple of days, every here and there. That were like husbands at work. Kids are in childcare, preschool, whatever, and is, is literally just me and my, and my day. And I also try to really force myself to not use that day to just like catch up on like, Various things around the house that have to get done to like pick a show that I'm going to watch five episodes of on Netflix or to like meet up with a friend for coffee. You're, you know, just things, things like that. That remind me that I'm a, I'm still a person outside of like being a mom and being a wife and being a, you know, employee of, of GitHub, et cetera, that like at the core, there is still a person that is me.

Michaela: [00:53:17] Daydreaming right now, you know, imagining myself doing that, to be honest, that's on my plan. I never, my, my older son is now four and a half and done that yet. I haven't had a one day off thing yet, but yeah, because if I, if I have, as you said, I. Something for work, which probably not the best thing, but yeah, I'm dreaming of that. One day I will do it, but I actually dream of doing it together with somebody I'm so afraid of being lonely. That I think that's the reason why I haven't done it yet because I don't want to be lonely and everybody else is working so much. Yeah. Yeah. But a good advice. Yeah. I like that. And I think it's really, really important.

Allison: [00:54:02] Yeah. It's, it's amazing. I feel like as parents, sometimes we don't even realize how tired we are. And so we do that and then it's like, Oh, Wow. That was great. I need that is years before I, before I started doing that. And then I was like, I was like, I wonder what it would be like to just like take a day. It was after my second, it was like, I wonder what it would be like to just like take a day where I'm not, you know, doing anything. And it was like, It was, it was amazing. It's sort of like how, as a parent, when you're only getting three hours of sleep a night, and then one night you get like five hours of sleep, you feel like you can do anything because like you've gotten so much more sleep than you're used to getting it sort of like that for, for. Most people, I feel like taking a day off would like, not seem like it would make such a difference, but like for, for a parent, um, because for especially a full time working parent, because we're like pushing ourselves so, so hard and so many different friends, it really like is pretty incredible.

Michaela: [00:55:05] Yeah, actually, I'm a little bit afraid of it. I don't know why, but there's a little bit of a fear creeping in, you know, like if you talk about it and I'm like, yes, I should really do that. And on the other hand, there's like this fear, no, don't put out, I don't know where it's coming from, but it's there. Yeah. So. Alison. Thank you so much for talking with me about so many different topics. Is there something that you want to tell my listeners, um, or that we haven't discussed? They definitely should check out your podcast. I

Allison: [00:55:35] was going to say, can I do a shameless shameless plug? Yeah. Parent driven development is the name of podcast and a parent driven development.com or at parent driven dev is where you can find us on the internet or on Twitter. It's really a nice. A nice sort of perspective on a variety of different parenting parenting stages. So if you're listening, you should definitely check it out.

Michaela: [00:56:01] Yeah. Very cool. Very cool. Thank you, Alison, for being on my show. Thank you so much for talking to me.

Allison: [00:56:07] Thanks for having me.

Michaela: [00:56:08] Yeah. Bye bye. I hope you enjoyed another episode of the software engineering unlocked podcast. Don't forget to subscribe. And I talk to you again in two weeks.

Allison: [00:56:22] Bye.

Copyright 2022 Doctor McKayla