Category Archives: interview

Herding Code 243: Shawn Wildermuth on his new film, Hello World

Kevin and Jon talk to Shawn Wildermuth about his new documentary film, Hello World. Shawn talks about how this film project began as a “love letter to software development,” exploring how amazing this career can be. As he delved into it he became more aware of the lack representation of women and people of color in this profession, and this film details his exploration of that topic through interviews and historical background.

You can pre-order the film now, and watch it on-demand on a lot of streaming platforms starting December 15,2020.

Download / Listen: Herding Code 243: Shawn Wildermuth on his new film, Hello World

Transcript:

Jon: [00:00:09] Hello, and welcome to Herding Code. This episode is being recorded November 20, 2020. And today we’re talking to Shawn Wildermuth about the Hello World film. Shawn, can you introduce yourself and the film?

Shawn: [00:00:22] I’d be more than happy to. I’m Shawn Wildermuth. I’m a technologist and mostly a teacher these days. They don’t let me around code anymore. But I’ve got a blog at wildermuth.com and I made a documentary about software developers called Hello World.

Jon: [00:00:38] So what’s kind of the main focus. Like how do you approach software developers and you know, what, what are you kind of talking about there?

Shawn: [00:00:48] Sure. I started making the film. I’ll tell it in this kind of story. I started making the film because I wanted to sort of do a love letter to software development because it’s been so incredibly useful to me. Like it has saved me from a life of working in a 7-11 night shift. And I just love everything about.

How interesting the job is, and I want to sort of encourage people who didn’t think they could do it, that they could. And so that was sort of the first approach. And in the middle of that the me too movement came through and some other things in our industry were changing with conferences and such, and I realized that.

I hadn’t really worked with almost any women and certainly not women from the United States or Canada that I’ve worked on exclusively with people that looked like me. You know, I look a lot like a, the comic book guy, if you don’t know what I look like from the Simpsons. Right. I fit the, the stereotype really well.

And  so I pivoted the movie to be about the lack of women and people of color, especially in the industry. Because it’s it’s, as I say, in the film, it wasn’t that there weren’t enough women or people of color in, in, in In software development. It was that I had never noticed there weren’t enough.

Like, it just didn’t even occur to me to notice. And I like to think of myself as someone who’s, you know, at least should notice those sorts of things. And so in that same time, I was having a dinner with Richard Campbell years and years ago. And he was mentioning about the early women in software development, being the first programmers, which was a story I didn’t know.

And, and that’s part of what we talk about is sort of the history. Of software development and how this sort of went from one thing to another. And  then I looked back and it had been five years and I didn’t know what I was doing with my life.

Jon: [00:02:43] it’s a, it’s really fascinating that you’ve kind of created a documentary during a time of some transition. And some of my favorite documentaries that I’ve seen have kind of. Almost, but either through discovery during the filming, or just kind of by happy accident with evolution, you know, with history of evolving have kind of captured things.

I remember there was a documentary I saw called startup.com and it happened during the.com startup time and that startup bust and it followed these founders and, you know, getting huge valuation and going and interviewing. You know, in the white house and then everything. And then they get into huge fights and then the whole thing comes crashing down and the, and the film captured all that.

And it sounds to me like, I mean, and just observing everything that’s gone on, it’s been a lot of change and a lot of awareness has occurred just over this past year and few years. So what does that look like in terms of. You know, things changing as you’re filming. Do you just kind of keep filming more stuff and figure it out in editing?

Or do you kind of, you know, how do you pivot a film?

Shawn: [00:03:57] It’s difficult. We interviewed 50 different people software engineers. We interviewed some people in education and a couple of others and what, what I learned, cause I didn’t, I’ve never made a film before. Right? I mean, I’ve done some little things, but nothing like certainly of this size that you  find the story in the editing bay, even though I had an idea originally, it almost always changes and it reminds me of software in a, in a lot of ways, because often what you think you’re building when you start that first sprint, or when you write that first spec often, isn’t what it really looks like because you it’s, it’s this continuous discovery of what is going on.

And that really attracted you know, it attracted me to it because I liked the way that I. Like to build software, which is finding a group of people that all have specific skills that are gonna lend themselves to it. Not thinking that one person is going to be the best at everything and getting over the idea that I could be the best at everything.

You know, for me, it’s been, eye-opening not only in how I spend the rest of my life, but also like, Oh, you know what? That’s a lot less pressure.

Jon: [00:05:07] Hm. Yeah. As you’re talking about that, then it makes me wonder, like with software there’s been a change over the past, you know, I mean over our software development careers to moving to a more agile and, you know, being able to like pivoting is considered just something you do every day. Like you’re constantly redeveloping, you know, like.

Figuring out the next best spin thing based on today’s information, is that is that something that felt similar? Like, are you able to apply those kinds of like agile development sorts of things to film development?

Shawn: [00:05:42] You are in a lot of ways, though it’s a little different. So one of the things I learned early on was that there’s a difference between documentary and let’s say you know, regular films that you might see with a story in them. So when the Avengers was filmed, the Avengers shot about four minutes of film for everyone, one minute on screen.

And because they go in knowing exactly what they’re going to film, like they have a script, they have this, they have this, they’ve got it all planned and documentary isn’t like that. In many cases it’s a hundred to one. A lot of it is this filtering mechanism, or if you take a movie like hoop dreams, which is four hours, which is really a long time for a film they had like 4,000 hours of footage cause they spent 10 years with these kids.

And so it is, it is really, you know, mining that information and digging through and reading transcripts and watching the footage as you’re shooting it. And the, the, the agileness comes from as you’re gaining information from, let’s say an interview or spending the day with somebody or watching an event happen.

Things are really changing. There’s a good example of that. I was interviewing Debra karata who you may or may not know, but

Jon: [00:06:59] Oh, yeah.

Shawn: [00:06:59] does a lot of angular stuff with Pluralsight and I was interviewing

Jon: [00:07:03] when I was first learning to program, one of her books was the, one of the first books I read. And I, it was, it was like mind blowing when I actually met her in person. I was just like, Oh yeah, she’s amazing.

Shawn: [00:07:16] She is. And she hadn’t mentioned that her, I think it was her daughter or a friend of her daughters had gone to this college in California Harvey Mudd college, and that they had changed to be graduating from 15% to 50% women in their computer science. And that like changed my perspective of like, Oh, I need to go back and do some research about the education piece of this. And that really changed the whole view because you’re in the middle of, you know, information gathering or mining or whatever you want to think about the way filming does. And you go, Oh, this changes, everything was changed is the way we think about this in an entirely different way.

And that’s, you know, that’s what happens at least happened for me with documentary film. And when I talk to other filmmakers, it’s very much like that, depending on the kind of film they’re trying to make, but being unwilling  to move or pivot or adjust. Has that idea has really changed the way we build software has allowed me to make a film because I was already sort of adept at it, but it’s also forced me to in my everyday life not be so entrenched in my views or my ideas or how I expect my relationships to go or whatever the case may be.

It, it. It’s been a really good practice for, for you know, just being able to not be as, as rigid as I’ve spent some of my career being like, what do you mean C sharp? Isn’t the best language? What do you mean that like, whatever it is, you know, that Of course, we can’t do anything outside of Firefox.

I mean FoxPro, there’s the word I was looking for. Everything has to be FoxPro it. Like we have these weird entrenched opinions that sometimes we look back and like, what kind of bullshit was I talking about?

Jon: [00:09:05] Yeah. Yeah. It’s a, it’s amazing how like, awareness, all of a sudden opens your eyes and then you see something that should have been right under your nose. Like it was right under your nose all the time, and you’re just blind to blind to it, you know? Did you observe during the time that during, because this has been years for you to create this, did you observe any change in, you know, in the industry during that time?

Like you mentioned the me too movement, and then of course, you know, more awareness in underrepresented minorities is here. Did you see any hopefully positive change during that time? Yeah.

Shawn: [00:09:42] I did, you know, I went into the film once we made the pivot, worrying that the industry that I love so much had these sort of sexist or racist overtones. And I came out of it really with this idea of that it’s mostly due to unconscious bias and you know, fit. So what I, what I saw is that we were changing the way we.

Talked about software and software teams. One of the ideas in the film that is very important to me is whether you buy into the social justice of, of course, this is the right thing, and this could be generally generally changing for people in certain communities, especially underserved communities, especially underserved communities around the world, not just here in the us but that we can make better software with better integrated teams with better diversity. And I’m not just talking about diversity of race and gender, but also. Just backgrounds and ages. And you know, the idea that a company would release a app to track the period cycle of women and make it all pink. Because obviously there were four guys on the team.

It was like, well, it’s a app for women. It’s gotta be pink, you know? And just having a better exposure, you know, the facial recognition that doesn’t work as well on, on dark complected skin or the fact that the early airbags were never tested with crash test dummies, the size of women. And so they killed a bunch of women before they figured that out.

You know, it’s not, it’s an engineering problem that. If we, again, if we ignore whether the right or wrong of it, you know, some people can argue about, you know, merit based or meritocracies and all that at the end of the day, I think we can make better software when we have these different perspectives to help us figure out how to build better software, you know Scott Hanselman talks about it sort of like an intersectionality of are you building medical software? Do you have people on the team who have had medical problems on dealt with medicine as a user? Are you building software for fireman? Do you have access to someone who knows fireman on the team? Like it’s this idea of, of, you know, it used to be that we would get a spec and they would write an app over two years, or we used to call them programs, but app over two years and then you show it to the customer and it was either right or wrong. And then you’d have to train them to figure out how to make it right for them. And we’ve changed a lot of that, but I still feel like the representation is still hurting the quality of the software we build.

You know, there are places where. In our industry, where there is great representation. You know, it’s not, it’s not you know, a big solution, but I think we need to own the lack of representation when we can like get out in front of the story. If you’re running a conference and 90% of the people who submit papers are men. Talk about that. Say why can’t we get women or people of color to submit, talks to our thing and, and, and talk about it instead of trying to make the numbers look good, which is actually, I feel like happens sometimes. Okay. Well, except all the women in the backfield with men and I don’t, again, that’s not about fairness, that’s hiding the fact that we don’t have enough.

You know, let’s say women’s speakers at conferences. That doesn’t help us because it doesn’t, I think we’re missing part of that. And that’s something that I think is finally getting better, but still think we have a long way to go.

Jon: [00:13:23] Yeah. Yeah.  You mentioned that, it, it makes a better product and a better team at a better experience for everyone when there is more diversity of background and thought and you know, all the different things, education level, and, you know, just different languages spoken and so many things that we are unconsciously.

I mean, that’s the whole thing. It’s unconscious bias. And I think. You know, going into this, a lot of us had thought, well, okay, we should be nice to different, you know, people that are different than us, but it’s going to put a cost, you know, it’s going to slow us down and it’s going to put a cost and it’s harder to hire and all that.

And really the result, as you’re saying is you end up building better software and being a better team. And you know, like all these, it’s an, it’s a huge net positive.  It is something that I’ve worked with on  conferences putting together conferences, is it, it does take some work to find speakers, and some of it, I think comes from people not seeing themselves as speakers and not, you know what I mean? And so like for instance, women speakers. It takes some encouraging sometimes for, for a few reasons. One is they don’t see themselves as speakers because they’ve always seen men speaking on stage. And also there’s a little bit of fear that they’re going to be, you know, singled out and, you know, kind of harassed in a way that men just aren’t aware of.

Did you, did you talk to people where, where that was an issue, you know, where people are scared or just don’t want to put up with negativity.

Shawn: [00:14:59] Yeah, we did. We, you know, we reached out to a lot of people that I thought would really have good stories, but there still was a reticence with a lot of them to talk about it on camera. Because they didn’t want to be labeled as that person or being difficult or whatever, but we did find a few people that were pretty honest about just the difficulties, you know, the, they, they talk about the pipeline getting people of color and women into the software industry.

But the other piece of it is the leaky pipeline and that is retaining people once they’re in the industry. And maybe they’re there. Experience and bias or sexual harassment or just, you know, the, one of the people we talked to Donna Malaya, I think is how you pronounce her last name. I’m sure that’s wrong.

But she talked about that there’s a difficulty in. Software for some people because they have a softer voices that they think that if you want to espouse a good idea, the best way to do it is to be excited to tell everybody about it and to be, you know, want to run the meeting and to talk a lot about it.

And a lot of good ideas come from people that don’t have that and that. And so it ends up being the, I think some people are kept out of especially leadership positions because it’s viewed that the only way to be a leader is to be a leader in sort of a standard masculine way that we think about it as being gregarious and loud and, and You know, always proselytizing what they want to do.

And they’re great. They’re great voices in the room. There’s a bumper sticker I’ve had for a long time that says speak your voice, even if your voice cracks. Cause it’s this thing of like everyone has their truth and, and when you get people like me that love the sound of their own voice, I can drowned out the people that have great ideas.

Jon: [00:16:51] Yeah. Yeah. Well, and there’s a balance to that, which you’ve done is you’re using your voice to give other people a platform. Which is, you know, which but, but you’re right. That is, I mean, we’re, we’re on a podcast and we’re all, you know, white men and, and it’s, it’s, you know, it’s always like a, a trade-off.

Did you, so you had previously done a hello world podcast where the two related to the podcast kind of turned into the film a bit.

Shawn: [00:17:21] It did. So the podcast was about how people got started. And I think you were on it, John, if I remember. Right. And we stopped after 80 or 90 episodes of, because we started to get the same stories over and over again. And that gave me this idea of like, Wouldn’t it be great to show the different, those stories that I was finding in the podcast, but you’d be able to tell a larger story about how great it is to be in this industry.

Because one of the things I get a lot from people is, Oh, I couldn’t do that. I was never good at math, or I can’t do that because I’m not smart enough or whatever the case may be. And. I kind of want to burst those balloons as well. That’s one of the other goals of the film that has stuck with it, even with the pivoting is we can solve this if we are more you know, accepting or if we don’t, you know, hammer people with math right away.

I was talking with John Romero of, of doom fame. And he was like, you can learn all the math if you want, but the computers do all that stuff for you. If you just want to have the, you know, the character look into the camera, you just tell it to look into the camera. You don’t have to figure out how to do the, the three dimensional matrix mass to make it work.

You know, that’s where we’re at as an industry. And so bursting some of that like elite ism about what software really is. There’s tons of jobs in software that aren’t. You know, working on AI or working in machine learning or working in 3d engine development or things that would be great for all sorts of people to do.

And, and so I’ve liked, I’d like that sort of democratization of, of software because of that. I want, I want us to lower the, the lower, the barrier of entry a little when I was talking with Harvey Mudd college. One of the things they did was that they changed the entry level computer science course to be Python versus Java.

And this isn’t new versus old, nearly as much as is ceremony versus not ceremony. Right. You can run one line of, of, of Python code and get a result. You can’t do that in Java. And so what it was doing, or at least what they discovered was happening was people who had played with programming in high school or taken the pre high school courses.

They came in ready for that. And then you have these other people who were like, well, they came to college to learn a skill, not to learn more about a skill that I already had. And they felt like they were immediately behind and more apt to change their majors and get out of it. And Maria Klawe who’s the president of Harvey Mudd was talking about, this was a big change when personal computers came into the home.

But because before then you went to college to learn computers. You didn’t have any expectation that you had knowledge before that. Right. And so, and it tended to gravitate more towards boys because computers were capable of computer games and tended to hog those computers. And so this is sort of this societal shift that happened, these great things that happened with computers, but it also has some unintended consequences we think.

Cause it isn’t, it also, isn’t just about bias. It’s about interest. You know, how do you get people interested in what looks like? What we, what we, what the media of our country at least does is tell the story of what a software developer looks like. And it looks like the guy in Jurassic Park that we all identify as a computer guy or Silicon Valley, or Big Bang Theory.

And, and who wants that? Like the only. Early on in big bang theory, the, they played up, this men are smart and there’s the dumb blonde across the hall. And then they tried to sort of solve that by bringing in other characters, but from the outside, especially when you’re growing up, that imprint you with what you think you’re where you’re supposed to do and where you’re not supposed to do, you know?

And there will always be those outliers that are like, I don’t care. I love this. I’m going to do it, but that shouldn’t be the way it is, you know? Most of the women that we interviewed for the film are very self-assured capable and you know, pillars of this community Julie Lerman and, and others but getting people who are just the day-to-day developer that also fit into those situations is just, it’s just baffling that we, I feel like as a society we’ve kept them out just because we didn’t go.

There’s the, you can’t just make D&D character generators with programming. You could make music, or you could make, you know, things that might appeal more, more to women than, than sort of geeky guys in their basement. And you know, I want to burst that. I, I dropped out of high school and college.

Like I should not have been successful in this career at all. I came from a very poor background. I was very lucky to get a computer when I was a kid by cause I got an a go-cart accident and suddenly we had some money from the thing to buy a computer. Like this is not the standard thing, but once I started working, I would show up and I would get the sort of privilege of “You look the part”. Yeah. You know, there used to be this idea about team fitness. Like, are they going to fit in with us? Well, that idea of are they going to fit in with us? You know, the culture of our company tends to mean that, you know, when you see someone that doesn’t look like you are, are they going to get hired?

Right. Even if they seemingly have the same skills, I think it can fall down really quickly. I remember being interviewed a bunch of times and, and was, they were always like, Oh, it looks like you’d really fit in here, which I didn’t realize was, was implicit bias, like this hidden bias in our brain.

And I have bias in my brain. I think we all do. What’s that song from Avenue Q everyone’s a little bit racist. In case you haven’t seen it yet, you should. But the, the trick is not acting on it, right? When my reptilian part of my brain, that there’s a black man walking behind me and I’m like, Oh no, I, I can’t act on that.

Right. When some, when I see a resume and it’s a name that I identify as a certain culture, or is a woman, I can’t take that into account. I have to assume. And sometimes it takes explicit work to get rid of implicit bias us pretending that we’re the least biased person in the room. I don’t think helps.

Jon: [00:24:08] Yeah. Wow. You covered a lot there.

Shawn: [00:24:11] Sorry.

Jon: [00:24:12] No, no, it’s it’s, this is fascinating. It’s interesting. One thing earlier you were speaking about, you know, women and they’re what draws them to programming and seeing themselves as, as programmers. And it’s interesting for me seeing through the perspective of my three daughters and two of them right now, like regularly our programming and all of them. I’ve shown a little bit of like, here’s what it’s like, but it wasn’t interesting to them at all. I mean, not really, you know, but then, but then, but so my youngest got into Jewelbots because of the work Sara Chipps has done. And she has, you know, two things that that she did that are smart is one she understands and spend a lot of time talking to young girls about what was interesting to them and realizing like, okay, software bracelets and do it. But another thing she did that was. Really smart. And I don’t think people notice enough was she created a community. They had a, a forum have a forum and they like are really welcoming and they have Jewelbots ambassadors, and, and it’s just super friendly, you know?

And so people would say like, Hey, I made a thing, check it out. And you know, a bunch of other, like, you know, young girls are like, Hey, that’s awesome. I love it. You know? And it’s like, super, like, you’re part of it. You’re welcomed and accepted and, you know, helping people out. And another thing that’s, that was interesting to me is my oldest now is minoring in computer science in college.

And she, I showed her some computer stuff early on and she never thought it was cool. Like, it was just like that’s for dudes, you know? And then she, she ended up taking a class kind of on a whim. She took a Python class and it was sort of a fun, you know, it was like, Oh, I have to take one, whatever math, science class or whatever it was.

And this fulfilled it. And she was shocked that she liked it. And she was like, this is really fun. And like you said, it was Python. She did, they didn’t throw her into pointer, arithmetic or any crazy stuff like that. It was just like doing some fun stuff with Python in a browser. Like it was all REPL in a browser. So it wasn’t all this, like let’s over nerd you from the beginning, it was like, you know, Hey, it’s, it’s fun and playing kind of fee

Shawn: [00:26:25] it’s really interesting. Cause we we interviewed someone from Georgia tech and she was talking about the Georgia tech requires all graduate all, anyone that goes to this school to take a computer science course and they. And she noticed that a lot of women took it in their fourth year.

And by time they figured out they liked it. It was too late to change their major. Because there’s this expectation that it’s hard or it’s going to be a boring course, or they’re not, you know, all those same things that w we sort of think about, you know, and, and that’s going to be true across the board.

I had to take an economics course that I still, I still use that economics book to to fall asleep at night, you know, two pages of economics and I am out.

Jon: [00:27:11] Yeah.

Shawn: [00:27:14] So I mean, I think changing some of that and some of it is being able to see and model yourself as it in and in other ways You know, making it to where you can realize it’s fun.

It’s not like people that get started with Python need or will stay with Python and do this sort of like, you know script programming you know, once you get them interested, then everything else, you know we’re all gonna learn, you know, 14 languages in our career and decide some are great and some aren’t and, you know One of the things that Maria Klawe at Harvey Mudd said that really concerned me was she said, you know a lot of it happens in high school, the kind of high school preparation that prepare women and people of color to go into, let’s say the top computer science colleges in the country is very different based on economic situations.

You know, lower Alabama is much different from from San Francisco, right? Just the economic situation within a city or with where you’re at in the country can really make a difference in what she said. That really bothered me. He said there’s about a hundred thousand women every year who are qualified to go into an MIT, a Harvey, Mudd, a Stanford or whatever.

And there’s about a hundred people of color. A hundred versus a hundred thousand. So I, you know, I think we conflate diversity with women in the software industry really easily without really thinking about the other aspect, which is where are all the people of color, you know? It, it, it it’s, and I’ve worked with some African-Americans or I guess I should say black now.

But black developers before, and they were great. And again, they bring different perspective and they, they do this, but it. It tends to be that they’re never thought of as the lead. We talked to a couple of people here in Atlanta that were like, I go on a consulting gig and I talk to people and they defer to the white guy because they assume that they’re the lead developer in, in this project.

And that’s frustrating. Like, there’s just this expectation. We do this little test. In the in the film where we show a clip from Jurassic Park and ask people to think about what a developer looks like. And then we tell them, you know, is it, is it the white guy? That’s part of your brain, the Unix system.

And then there’s a pan over to Samuel L. Jackson. Who’s also running computers and he’s a head of the it department in drastic park that no one remembers no one remembers.

Jon: [00:29:54] Yeah. Wow. Well, and then also just the day is saved by the young girl at the end. Right. That happens. I know Linux. This is

Shawn: [00:30:03] Yeah, yeah. But no one remembers that. And so, you know,

Jon: [00:30:08] I seriously had no idea. Samuel Jackson was in that. Wow. It’s been a while.

Shawn: [00:30:13] It has, but you know, there is something important that we need to talk about. You have a daughter in college.

Jon: [00:30:20] Oh my gosh. Yeah. I have three teenagers. Yeah. Yep. Time flies. She actually, she had gotten accepted to Berkeley, decided to start at community college instead just for, for costs to get general ed done. And the timing was right. You know, it was right with COVID and everyone’s taking class from home anyways.

So it ended up working really well for her,

Shawn: [00:30:45] Oh, that’s awesome. And she gets to stay home.

Jon: [00:30:48] yeah, yeah. So

Shawn: [00:30:49] cause you’re in LA, right?

Jon: [00:30:50] I’m in San Diego,

Shawn: [00:30:52] Oh, San Diego.

Jon: [00:30:53] which, you know, it’s part of the LA metropolis, so

Shawn: [00:30:56] We call it the other LA

Jon: [00:30:58] yeah.

Shawn: [00:31:00] or

Kevin: [00:31:00] Excuse me. I, I grew up in San Diego. It is not part of LA. I take offense to that.

Jon: [00:31:07] Yeah, no, it’s it’s it’s yeah. You know, it’s interesting. You were mentioning before Black developers and not, and being invisible or being, you know, not being noticed and also not being respected. And, and, you know, also there’s society, I’ve heard definitely many times where like, there’ll be a man and a woman at a conference.

I hear this all the time at work and people will always talk to the man. And he’ll say, why don’t you talk to my lead and the introduce the woman. And they’ll still want to talk to the man, you know, they assume that leadership role. And yeah. When you were talking about, you know, the black developers and I, I had the opportunity to kind of help behind the scenes at JuneteenthConf this past summer.

Yeah, it was, it was amazing, you know, it was something that timing, they put this conference together. Right, right. Before Juneteenth, they really pulled it together. One of the sessions I helped. You know, like behind the scenes was was by the two guys that created Blackfacts and it’s so Ken Granderson and Dale Dowdy, and they, I had no idea about this because it wasn’t created for me, it was created for, for, for the black community.

And it really kind of celebrates like you know, the, the black software developer, like, you know, Hey, we’re here. And we basically, I guess some of this goes back to thinking of what Sara Chipps did with creating a community that’s welcoming and inclusive for young girls. This is a community that’s welcoming, supportive, and celebrating black culture for black technology community.

And I think, you know, like, I, I don’t know. I, I think that it, it was exciting for me to even hear that this thing existed and I did you come across like support mechanisms like that, or other kinds of like, you know, internal support cultures that women or underrepresented minorities are like creating to survive, you know,

Shawn: [00:33:11] Yeah. There’s quite a lot, you know, if you can think of organizations like black women code, black girls code there’s a the black coders internationally think, I mean, there’s a bunch of great organizations. Some of it, some of it I think is important to think about as it’s not just culturally sort of surrounded by race, but it’s also a different in, in I think I mentioned this earlier in how much in affluence we have this sort of affluence bias in software and not affluence bias. Like people are only picking other people that have money. It’s that.

There’s an, there is an on-ramp that has some cost to it and our public schools aren’t evenly funded and things like that. And more importantly, we talked to code.org about this thing they’re doing to try to educate or convert teachers in high school to be able to teach the AP computer science curriculum that they’ve developed.

So it’s not even, we’re not even at the point of like, how do we teach and get kids interested because we don’t have the teachers to even produce that interest. And that’s frustrating when you, when you think about it, because one of the, you know, I grew up in abject poverty.

I was born in Manhattan, but I grew up in the Bronx. I’m sorry. In Brooklyn, in the projects in Brooklyn. There’s, there’s the word. I was looking for the projects in Brooklyn. And so we were on welfare when I was born and my mother did some pretty heroic things that get us out of poverty, but we were never, we were never had that much money.

And this career has been life-changing and one of the things they talk about is for non-affluent neighborhoods , this is a generationally changing profession. Like this will, this can bring up the entire families out of poverty. And it’s just knowledge. It’s not about skill. It’s not about having things. It’s just knowledge, especially now with the internet and ubiquity of, of, of lower-cost computers. This, this can change everything. When we talked to the chancellor of UC Davis, he was talking about, we have about. Well, this was before COVID, but we had have about 3 million people unemployed, many in the underserved communities. And we have about 3 million unfilled jobs and computer in, in, in tech. And if we could marry them…

Jon: [00:35:36] Yeah.

Shawn: [00:35:37] Like it it’s baffling. How, you know how obvious it seems. You know, and, and computer software, isn’t the only place where this has happened or the only place where there’s bias like this.

This is just the one I know, right. Because it was, it was my experience going to conferences or going to user groups and seeing women at those events and going, Oh, look, there’s recruiters here. Right. It was me having to face and accept that I was part of the problem. Even as enlightened as I thought or expected myself to be looking back, I was like, Oh, I, I have to take some time to look in the mirror and just, and just face up to it. And that, you know, I think that’s a big reason why the, the pivot happened was I wanted to get other people to look at themselves and maybe they don’t ha they didn’t do any of these things, but. If we can have a chance of sort of having that reckoning of like, you know what, I’m not going to go by a resume just because I see a name that’s clearly not a white guy’s name.

Right. I see that. I see that happen, you know, more often than I than I’d like to admit, you know

Jon: [00:36:56] I’ve read some stories on this that are just like, not surprising, better. Like there’ve been studies where the same resume was submitted with a white man sounding name and then a ethnic minority name and the callback evaluation rate,  it was a significantly higher percentage, the exact same resume.

And then another fascinating thing I saw was there was a there was a man and he had  a woman assistant. And she would always have problems with, you know, getting replies on emails and getting meetings scheduled and things like that. And he, he just assumed, you know, like, okay, well she’s learning or whatever.

And then something happened where she was on a vacation and he answered her emails and was shocked at the rudeness and the disrespect that just because he was sending emails from. And so he then he you know, they did a test going longer where, you know, they switched emails and, and, you know, and then the one other thing I’ve heard is there have been several women I’ve read that have created a fake coworker that’s a man. And they’ll have the co-worker reply to emails and, and get stuff done. And it’s just like, yeah.

Shawn: [00:38:12] I, you know, I hope at some point that’s not necessary, you know, that’s that, that for me is ultimately the goal. One of the other things that I wanted to mention before, I know we’re running a little late was w. There was a bunch of history that I didn’t know about. And I talked a little bit about the women being the first developers. But the other thing I didn’t realize was how pivotal African-Americans were in the early software movement. Like the, the first 3d engine that was ever developed was developed by the first masters of computer science graduated out of Stanford. Right. We don’t think of the fact that we have CGI in every movie as being really responsible to this person of color, the guy that invented the game cartridge for the original before the Atari, I can’t remember the name of the machine, but that said we should, what games and cartridges that was a man of color as well. the, the third partner in the creation of Hewlett Packard. Was a, a man of color though. He wasn’t Hewlett or Packard. Right. He didn’t get his name in the, in the masthead, but he was the one who found all the money to start the company. Yeah. Yeah. And, and there are dozens and dozens of those stories. And Latinx is we’re in a very similar case with Latinx people as well. Cause it’s when I say people of color, I don’t just mean. American black men and women. I’m also talking about Latinx, you know, I think a lot of times we feel like we have a diverse culture because we have East Asians in development roles. Like we’re fine. We shouldn’t worry about diversity because we have non white people in it.

Well, you ha that’s not the same, you know, there’s one of the reasons I, I think about the number of American woman I’ve worked with because I’ve worked with a lot of Chinese and Indian and Japanese women before, but this realization really started with the idea that I had never worked with an American woman as a developer, never in 30 years. And that’s astounding to me that. That it didn’t even occur to me. Like it wasn’t, like, I knew that like where all the, I just didn’t, it didn’t occur to me that, that, that was the case. And you know, you want to know where they were, where they all went. Because England has a very similar history.

You know, they’re, they’re, they’re very different, but very tied together and sort of the same things happened in the same era as the seventies, as world, when all the women went away and got taken over by man and all of that,

Kevin: [00:40:53] One question that I’m, I’m not sure I’m going to express this question well, so forgive me, but you know, one thing that I, as a privileged white dude. You know, sort of worry about is that, you know, me speaking about racism or sexism, like comes from you know, I don’t have the experience. So me talking about it is a little dicey. Like, did you, did you sort of have any concern about that then? Like you’re making this movie, you know, centering these people, which is great. I’m not a criticism, but. Like, you know, that, you know, you’re, you’re, you’re you as a white guy, you know, presenting these people, like has a, I don’t know, it seems like it could have some inherent sort of risk to it.

You know what I’m saying?

Shawn: [00:41:46] Huge. Yeah. That’s a great question. And it’s absolutely true. You know, I’ve had the conversation with my wife more than once is like, this movie might end my career. Like I might mishandle it because part of it is I want to present it. I want to be honest about my experience. You know, so admitting when I’ve been wrong without necessarily going everyone’s awful. Like I, I never wanted to be, and I hopefully, hopefully it isn’t sort of this gotcha journalism, like look at this company or that company. That’s not what it was about. It’s, it’s about trying to get people to look at themselves. But also at the same point at the same place, I never want to have that feeling of white savior.

Like I’ll fix it, you know? What you really need here to fix racism as a white guy. And it it’s a thin edge to to navigate. I think sometimes when I I had talked about to the .NET Rocks guys about two years ago about doing a talk about it. And there was like, it doesn’t feel like we’re the right people to talk about it, but it feels like, because there’s so many.

There’s so many people that look like me in the industry, that if I can get some small percentage of them to start realizing their implicit bias, that we can improve this and that. I can’t pretend to understand or explain the experience of being a woman or a person of color in this industry and what that means and how difficult or, or any of that.

I can’t pretend to have that experience. I can admit and be honest with the experience I’ve had as, as maybe turning away some people that I shouldn’t have when I was sort of in the hiring space or that treating women differently at conferences or, you know, assuming someone had less experience because they were a woman or a person of color or, or didn’t, or didn’t use English as their first language.

Like all of those things I’ve been guilty of. And I think these microaggressions are something that I want to solve. I want to fix for myself. And if I can get a couple of people that watch the movie too, Think about the way the interact with other people a little differently than I’ve succeeded. I’m not going to fix this, this isn’t going to go away tomorrow.

But I think that our industry can be better served. By having more people that are diverse and having the people that are in it, not feel threatened by the fact that, Oh my God, I’m going to lose my job because now they have to have a quota of 20% women on every thing. Well, if you were going to lose your job, just because they were being more inclusive, you’re not very good at your job.

Like the people that are worried about competition. I’m not sure they should be in the business. Like that’s kinda how I feel is like, if you’re concerned that, you know, adding more people or having younger developers come in or having whatever it is, you know, the chips fall where they may is kind of how I feel.

Jon: [00:45:02] if the only reason you have the job, your job is because of implicit bias and you know, like your privilege then. Yeah, exactly.

Kevin: [00:45:12] And that’s especially absurd in this particular industry, which

Jon: [00:45:15] Where there’s so many unfilled jobs too,

Shawn: [00:45:20] Yeah. If you can’t find a job, you know, I worked for a company years ago and I won’t mention them, but there was a guy that worked with me. And this was around 2002 and he had stayed with that company for 15 years, which meant he went through the dotcom bubble without taking a, another high paying job.

And I knew at that point, if you didn’t get hired during the.com bubble, they were literally taking anyone who had edited their MySpace page in HTML and hiring them.

Jon: [00:45:54] Yeah.

Shawn: [00:45:55] That something was wrong. Yeah. So Yeah, I don’t, I don’t have any, I don’t have any patience for people who want to hold onto their jobs or, you know, programmers that put in obfuscate their coach, or they’re the only ones that can understand it or any of the sort of bullshit.

I think many of us have seen over the years with people that were insecure.

Jon: [00:46:16] Did you as part of this, like a lot of this is just letting people tell their story and like choosing the people. Did you. Like have advisors or like, you know, I don’t know, read books or like, you know, do things to kind of educate yourself on, you know, like on any, because there’s there’s background and historical things and there’s whole study of, you know, racial injustice and all these sorts of things.

Shawn: [00:46:44] Yeah, the first year was almost all research. Before I even interviewed anybody because I really wanted to understand the problem. And I did some surveys to try to get people to, you know, anonymously tell me sort of what their experience was and had, you know, one of the questions I had on these early ones that really bothered me, that I got such high response.

I think I got 40% response of people saying that they had witnessed sexual harassment in the workforce. And didn’t do anything about it. Right that they weren’t, that they didn’t maybe do it themselves, but they saw other people do it and they weren’t and they couldn’t go that’s bullshit. you know what I mean?

Because they wanted to fit in and whatever the, you know, they’re, that’s a difficult thing to do, but I think it’s one of those things. So I read tons of studies and a number of books. There’s a great book about the history of software development in. The United States and another one in for the same story about England.

And I think, I, I’m sure I’m going to get this wrong, but I’m pretty sure it’s called computer in the boy’s room. I’ll get a link to the correct one, but it’s a really eyeopening talk about the beginning of computers. In the thirties and forties and all the way up to sort of the present day and, and, and what, what the reasons were and how the reasons were.

One of the things that surprised me is like Cosmo magazine had an article in it about how programming was a great job for women because It had high pay and women were really good at it and all this other things. And then literally 10 years later, and we were down to 10% women. it just, it changed so quickly.

When we talked to some people at Georgia tech, one of the things they said was it’s a very Western problem. If you go to Indonesia software programming is considered women’s work. And why is it considered women’s work? It’s inside you sit down. It’s not dangerous. Right? Men’s work is outside dangerous.

Physical work. And so there’s just an assumption in other cultures that this would be normally a woman’s job. And in fact, the first eight programmers that were women, it was from merely thought of as women’s work, because it was seen as not as important as designing the hardware. That it was just rudimentary and such.

And, and I think that because early programming looked like switchboards, it was mostly patch cables that, that lended itself, Oh, you’re just a secretary. You can do programming. Which of course makes the whole irony of 40 years later writing that w all the secretaries should be able to write software one day article I think by Mary Jo Foley I thought it was kind of a funny book end to that because lowering the bar to computer programming.

So even a secretary could do it, which is, you know, has its own biases in it. but it it’s fascinating how this stuff has changed and how we, you know, traded in. In how to figure out how to, what, what is a good program or look like. And I think we’re still battling with that. Like we can teach skills, but how do you find those people that are good at those material tasks that isn’t about writing code?

I mean, in a lot of ways, this is the same barrier that we have in hiring. How do you find people that will be good at programming and having them, you know, Reordering linked list on a whiteboard, isn’t it. Right. I think we all know that asking them how to you know, how would you count the number of, of, of manhole covers in the world?

Like that doesn’t really work either. Right?

Jon: [00:50:30] Yeah.

Shawn: [00:50:31] And part of this is us still trying to figure that out.

Jon: [00:50:36] They’re questions that we ask, because they’re easy to ask. Like, I experienced this with tests that my kids take or assignments my kids take. It’s like, Oh, the teacher is asking this question or having you do this project because it’s easy to grade and we do the same sort of thing. Right. You know, like it’s, it’s easy for us to grade a reorder a link list, but it has no value like.

You never write that code yourself, you know?

Shawn: [00:51:03] No. And even if you did. You know, you would be able to look up the 34 examples to pick one. That was a good model of it. Like it just, it doesn’t represent what we do.

Jon: [00:51:15] Yeah. You know, part of what you were talking about and, you know, trying to like, as, as we think of kind of like, as, as we wrap this up, I’m thinking about like, what are the solutions and things we can take forward? One thing that I’ve experienced is the whole value of positive role models and , you know, there’s, definitely  giving people a platform when possible.

And, and, but I think also there’s an important thing of just allyship and I, until you, like, until I’ve done more of this, I had not at all realized some of the things you mentioned before about how the, the difficulty that people experience. Basically every woman that I have worked with that speaks at conferences that you know, is, does, you know, video programs and all that.

They all experience. Harassment that is stunning. Like it’s just terrible and you just wouldn’t, you don’t know it until you work directly with them. They’re not going around talking about it. Most of them, but every single one, like there’s not a single, you know, anytime, anytime it comes up, they all.

And so it’s frustrating, but then, like the only thing I can think of on there is just allyship and supporting them and. Helping, you know, swat the crazies away is, is there, is there a more, you know, what are like, and we’ve covered a little of this, but what are some positive things that people, you know, you start with education and empathy, and then what else can we do going

Shawn: [00:52:48] think w for me, and again, this is a pretty personal movie because I can only know what I can and what I’m willing and able to do. And for me, the biggest thing I can do around sexual harassment is to be not just an advocate like, Oh, that sucks. That that happened to you. But like when you see it go, that’s fucked up, Bob, right?

Because that’s, that’s what it takes. We can’t be afraid of upsetting upsetting people we work with because it is, you know, we’re actually in a career where we could change if we need to. Right. If we get fired because Bob’s pissed off at us and happens to be our boss, I’m kind of okay with that because ultimately letting other humans be belittled is isn’t anything I want on my conscience.

Jon: [00:53:35] Hmm. Yeah. Yeah. I feel like you know, it’s, it’s hard to understand. Cause there are people be people that you would think, you know, are generally like you respect professionally and then you see them pushing back. And I think some of it is that they interpret, you know, any kind of social justice, warrior stance as attacking them.

And, you know what I mean? I’m putting a bunch of guilt on them and I, I feel like some of that is not it’s, it’s, it’s coming from a different place, but it’s hard to describe, you know what I mean? How do, how do you talk to somebody that’s like, Oh, you’re just being a social justice warrior and virtue signaling and that sort of thing, you know?

Shawn: [00:54:22] it’s a hard conversation. I’ve had it a few times, honestly. And. The way I approach it is, you know, there’s there’s benefits here beyond the beyond maybe what my notion of right or wrong is. I want these people in these jobs because it lifts, you know lifts everybody up. It helps me learn every day.

Cause that’s my job as a software developer is to learn every day. Like there’s something new to learn. And if that learning is how someone else experiences the world or how someone’s culture could impact the way we write software or whatever that is, I have to take that into account. And so it just feels like a cop-out.

Frankly, when I hear that, like, Oh, you’re just trying to save the world. Well, okay. I’ll take that on. You know what I mean? Like I want to leave the world a better place than, than I found it. And, you know it’s just one of those things that, that I’m willing to take on because it’s not, again, it’s not just about trying to be social justice warrior, you know, though, honestly, I’ve been called that more than once, but it’s also feels like, something that will better our community. And I want that I really, really want that, you know, when I go to a conference in the after hours hanging out in the bar and it’s 10 white guys talking about  how to optimize memory. I’m going to my room cause I’m bored. Right? But having people from a whole slew of different backgrounds and experiences that interests me way more than any other conversation we’re having. You know, and everyone has those, but because we have this common language, we fall into it. And I that’s why this, a lot of this feels implicit. Sure, there is explicit sexism and racism in every industry and should be fought against and  we should fight it. But I think the bigger problem for our industry right now is  not realizing that there’s a problem. Like thinking everything’s fine. Our companies making money. I’m happy. My wife’s family, I just bought a boat. Like, yeah, but it could be a lot better. Like it, you could be really happy in your job. Not just happy because you bought a boat.

Jon: [00:56:50] As you’re saying that I’m realizing a take on this too, is it’s not about. It’s instead of making it all about me. Oh, when I hear you, you’re when I see this film or when people are talking about this, you’re attacking me, take yourself out of it for a second. This is about somebody else and you should care about them.

Just listen to their story. Understand what they’re going through. Take yourself out of the equation for a little bit. You know what I mean? And then what do you, where do you go from there? You know, it’s like, Oh, this sucks. You know, these people, this person is, is intelligent. Could totally do this job. Could, you know, like it would benefit their entire family. They would benefit my team. Why not? You know, like, why not help them? Why not give them this opportunity?

Shawn: [00:57:38] Yeah. I’m I’m, I’m totally on board with that. Cause it I’m gonna use a really bad analogy and feel free to cut it. But sometimes in the software industry, it feels like racism in the North of our country. So I live in Atlanta, part of the South. We turned to blue by 1200 votes and I’ll take

Jon: [00:57:58] one.

Shawn: [00:57:59] worth of credit.

Yeah, me and my wife. thank you. But I prefer racism in the South. And that’s kind of a weird, stupid thing to say. But when I lived in Boston and when I’ve, I’ve lived in the North, before it took me six months to find out somewhere there was a racist, whereas down here they’ve got the flag and they’ve got the bumper sticker and, you know, I can just avoid them. not that I finally get invited to your home and you tell a joke that. Clearly is not a joke. And I certainly don’t think it’s funny to find out that I have to get you out of my life now. Right. And so I think that happened some in software that we want to put up this front of being we want everyone in, but then when it comes down to it, sometimes we, we have those biases that we don’t want to face.

We don’t, we each have sure that shadow in our personality that. Is sometimes hard to, to look at. And I think it’s better for everyone eventually, if we sort of confront that, it’s just like just like the arrogance in our industry almost entirely. I think arrogance within some developers in our industry is masking them being afraid to be found out and imposter syndrome. Like it, it’s a common way to cover that once we acknowledge that and go it’s okay, you don’t have to know everything. Relax. And I think that same thing can happen with this of like, yeah, your first instinct wasn’t to hire this person because they didn’t have the first name you expected, but look at their resume, you know? Thankfully in this country is different than Europe, Europe, almost all CVS or resumes have their picture on it. And I’m just, just it’s. So it’s so uncomfortable when I see a European CV. I’m like, is this cool? You sure?

Jon: [00:59:50] yeah, yeah. Hmm. Okay. So as we wrap up, we have focused on obviously the most important part, which is the subject matter of the film, but I want to just briefly talk about like, okay, so the film itself, so it’s, it’s available on streaming platforms and, and like it’s being released December 15th, does that right?

Shawn: [01:00:12] It is, we just started pre-orders on iTunes in North America. You can go to will a hello world, film.com and see that link. And then on the 15th, that’ll be releasing on 18 other platforms. I think it’s 18. It might be 15. So you you’ll be able to get it in pay-per-view or purchase it on Amazon iTunes, Vudu Xbox, Google Play Store, et cetera. And a bunch of cable providers. And then we’ll probably expand that internationally within the next three months, we’re working with a partner right now that is going to get it on some stores in Europe and in Australia in some parts of South America working on translating those things right now.

Yeah. And so it’ll be expanding out to different markets as we go, but we’re starting with North America because that’s what my distributor told me to do.

Jon: [01:01:03] Okay. Well, one one final thing just as we’re talking about, that is the whole kind of getting in streaming platforms, especially during this time of COVID. When the industry has gone through some big change, the whole film industry has had to go through big change. What was that all like?

Shawn: [01:01:20] Crazy. You know, I sometimes I’m like, you know, I can see what’s wrong with our industry, but trying to get into film. It’s, it’s weird. It’s been a very big learning process, but luckily I got picked up by gravitas ventures who does a lot of documentary distribution. And so they sort of handheld me through a lot of the process.

And that was. I finished the film December 31st, last year. And so the process of finding a distributor and getting it out there. Is is way longer process. Like every time I thought, Oh, wow, we’re finished filming. We’re almost done with the film. And then it took another year to cut the film. And that was like, Oh, finally, the film is done.

And they were like, it’s not now you have to figure out how to get it out to people. So it’s all been incredible learning. I’m actually about to start a YouTube series on my. YouTube channel about how I made the film and just sort of share a bunch of this information I’ve had because you know, none of it’s proprietary to me.

But I feel like there’s a lot that, that I’ve learned and right now is sort of a magic place in documentary it’s, it’s, it’s very available to a ton of people. You can shoot a documentary on a iPhone and that’s good enough to get it out there because it’s much more about content than. Then sort of the technical ness of it.

So I’m, I’m hoping to share everything from the pre-production all the way through the distribution, everything I’ve learned in budgeting and hiring people and finding building a team instead of trying to do it all yourself. And you know, this all started because I got bored and I wanted to learn something new and I accidentally made a film.

Jon: [01:03:10] That’s a problem computer people seem to have all the time. It was like, Oh, let me check this out. And yeah.

Shawn: [01:03:15] And then suddenly you have a startup

Jon: [01:03:20] Wow, this is fascinating. Well, I’m the area that I was sad I didn’t have time to ask about was all this, how do you make a film and all that? So I’m glad you’re creating that YouTube series. That’ll, that’ll be interesting to follow and there’s a lot more than fits into just one podcast anyways, there. I’m sure.

Shawn: [01:03:37] Yeah, that’d be great. I if you go to wildermuth.com, that’s where I’ll be announcing the web series. Once I get a couple episodes in the can in case people want to know,

Jon: [01:03:45] Okay. Great. So HelloWorldFilm.com. People can go and pre-order now, and then it’s available on tons of streaming platforms and cable on demand. Congratulations for that. So that, that is really, really cool. I am. And the trailer is amazing. I can’t wait to see the actual film. So, and then I guess one last question is audience. I mean, we’re, we’re software developers, but it seems like this is something that has broader application. Who, who is this film for?

Shawn: [01:04:15] It is for a general audience. It’s it’s justice. It’s just as much for people that don’t know anything about software as it is for people in the industry. I think people in industry will be interested in sort of seeing their part of it. But a lot of the film is encouraging people who aren’t in it to give it a shot.

And the goal of the movie was that you could take a software developer and their mother, and they both get something out of the film and the trouble with that was during the interviews, getting us technical people, not to throw around acronyms. So that was one of the more difficult pieces.

Jon: [01:04:50] Nice. Nice. Great. Well, this is amazing. I can talk about this all day. But I can’t wait to see the film and congratulations again for that.

Shawn: [01:04:58] Thank you so much, Jon.

Jon: [01:05:00] Awesome. All right, go ahead. And Kevin, you can say, yeah well,

Kevin: [01:05:12] Very much so.

Shawn: [01:05:15] I appreciate that.

Jon: [01:05:17] All right. Well, that’s all the time we have today on Herding Code. Join us next time. I wonder if it will be before 2021. Find out on the next episode of Herding Code.

Herding Code 240: Phil Haack on Working from Home

Download / Listen: Herding Code 240: Phil Haack on Working from Home

Jon, Kevin, and Rob talk to Phil Haack about working from home.

Transcript:

Note: We’re new at this. Should we publish an SRT file? WEBVTT?

 Jon: [00:00:00] Welcome to Herding Code. This episode is being recorded March 24 2020. This is Jon Galloway.

Kevin: [00:00:16] This is Kevin Dente.

Rob: [00:00:17] This is Rob Conery.

Jon: [00:00:19] Hey, and today we’re talking to Phil Haack working from home. So before we jump into that, Scott Allen, when one of our hosts passed away in January, and I, I’m sure most of our listeners have probably already seen that. But, you know, I don’t even know what to say. K Scott was an amazing friend, and, we were just so lucky to have him on the show for so many years.

Some, some people recommended one of their favorite episodes was episode 63. Rob, I think you brought that one up. That was Victory in Software Development.

Rob: [00:00:52] Oh man that was amazing.

Jon: [00:00:54] And he was telling the story of the battle of Antietam and, man, I could listen to that show over and over.

You know, yeah.

Rob: [00:01:02] One thing I was trying to explain to my wife. Cause she, when I told her the news, she, she was like, Oh, right. You knew him. And I started to explain, what, what case Scott was, to me and to everyone. I mean, I’ve never known anyone with such an insane gift for telling a story.

And, and just being affable, and kind. Anyway, I started to tell her about just him and she’s like, oh right. We, we met him and went hiking with him in Oslo, and I totally forgot, but it was so cool because it just, all of a sudden, the memory of, of hiking with him, this last June, NDC, Oslo, was just kind of the spur of the moment that he was running downstairs.

He and Richard Campbell were going on a hike and they’re like, Hey, come with us. And I said, Oh, sure. And that was the last time I ever saw him. And. I can’t say enough what a great person. he was, and I, I really, I think we’re all the better for knowing him for sure as an industry, but also as people.

Jon: [00:02:02] Yeah, I just, looking on Twitter, you know, I always of him as one of my best friends, and he always took time, you know, like when we’re at, at a conference or whatever, he’d say like, Hey, Jon, let’s, you know, let’s go grab a bite and we’re just whatever, and we’d just go hang out. And, It was

Phil: [00:02:18] Yeah

Jon: [00:02:19] seeing how he was very intentional about doing that with so many people, you know, like just everyone kind of sharing their stories about, you know, including people that were like, I him a question at a conference and it was kind of a random question and he spent a lot of time just talking it through with me and you know, like it just, yeah, just so thoughtful and kind.

Phil: [00:02:40] Okay Yeah. I really loved talking to him at conferences. I’d only see him in places like London or, or, you know. Oslo or wherever at conferences. Jon, you might remember that, you mean Atwood and, Barnett wrote a book with, Scott Allen a long time ago

Jon: [00:02:58] Yeah. Yep.

Phil: [00:02:59] The ASP.NET 2.0 anthology And I don’t mean the MVC I mean like

Jon: [00:03:06] 2.0

Yup

Phil: [00:03:11] Yeah, that’s right.

Jon: [00:03:14] Oh man. Yeah. I actually co-wrote several, cause I picked up that, the MVC book, the five heads book, Rob, that you worked on. And then I, you know, K Scott stayed on for several additions of that and I co-wrote with him. So,

Phil: [00:03:26] Okay

Jon: [00:03:27] and you know, it was always like I was, I for some reason signed myself up as lead author and I was always chasing down other coauthors and K Scott is like, I always knew that his was just going to be like.

You know, on time and perfect. And it’s nothing to worry about.

Phil: [00:03:43] Yup.

Jon: [00:03:44] Yeah. Oh, man. Well, so,

Phil: [00:03:49] On that note.

Jon: [00:03:50] yeah. Yeah. Well, so these are, these are times. We’re all, we’re all bunkered down from, from this coronavirus and, You know, people have been talking about working from home. you know, Microsoft has sent everybody home.

A lot of other large companies have. and then after that, a lot, a lot of States have gone into and different countries to have gone into some sort of lockdown as well. so we’ve got, all of us have worked remotely, for a good chunk of our careers. And so

Phil: [00:04:22] Okay

Jon: [00:04:23] it’s been interesting seeing people trying to adapt to it in different, different companies and stuff.

So Phil, you wrote a series of blog posts about how to work from home. so for people that don’t know you, which is probably nobody, but for people that don’t know, what’s kind of your background on, how did you transition into working from home.

Phil: [00:04:41] Oh, that’s a great question. So probably the first time I did a work from home significantly with a long time ago when I started a company with a friend, and Jon, you might remember this, called VelocIT that we hired, Jon was our first employee. And we all work together using the state of the art of collaboration software back then, groove, by Ray Ozzie.

Jon: [00:05:05] that’s right.

Phil: [00:05:07] yeah. And, and then we would use a, I forget what the video conference software, but like, we actually, you know, cobbled

together..

Jon: [00:05:15] amount

Phil: [00:05:16] Yeah, that’s right. It’s Skype was around. Then we use Skype and I think we use subversion for the version control. And, you know, we made it work. We did a pretty good job as a remote distributed company, but we were only like, you know, three, four employees, you know, at the time.

And then I remember we hired a, Steve Harmon came on and, and, so Simone, but anyways, and then, you know, I went after that, I joined. Microsoft, and that was, you know, right back into being in the office all the time. AI did have this one, coworker who was remote, Scott Hanselman, who, you know, we would try to set up a computer in my office so that he could just dial in at any time and be like a talking head there.

Rob: [00:06:01] Okay

Phil: [00:06:02] But it was really interesting to, you know, like when I think about those times and how difficult. it must’ve been for him to be a remote employee in a company that just really didn’t get it. And you could tell they didn’t get it because their products didn’t reflect, what it meant to be remote work.

so I left Microsoft after about four years and I joined GitHub and the GitHub was, you know, just night and day, right? This is a company that really. Started off as sort of a remote distributed company. It had it in its DNA and its tools really reflected that as well. In fact, they were really geared towards, you know, teams of open source developers who were all strewn about all over the world, didn’t know each other.

And I worked there for  just shy of seven years. I was started off as a developer. And then, this is at a time when GitHub, didn’t even have managers. And then later when they introduced managers, I became a manager and then I became a director. So I’ve had the, you know, I guess good fortune to kind of experience what it’s like to be in a remote and distributed company from a individual contributor, perspective, from a management perspective and from a director perspective.

Jon: [00:07:14] Yeah. It’s interesting you mentioned the, you know, Microsoft, and initially when I started at Microsoft as well, you could really tell so many things required VPN in and any, you know, you want to, would say like, Hey, you know. You want to join our, dog, you know, you want to beta

our thing, you know, here’s where to sign up.

And it would be an to an internal SharePoint and you wouldn’t have to join a security group. And you know, everything was file shares and it was just not, and it’s been interesting watching, you know, a transition of that over time. It definitely, it’s, it’s still not perfect, but it’s changed a bit.

And I feel like some of that is due to the open source.

You know, the needs of open source, kind of pushing things.

Kevin: [00:07:58] . It was good. They had always seemed like

Okay

Hanselman made

Phil: [00:08:00] Yeah

Kevin: [00:08:01] through sort of force of will. Like he was able to like it and have, you know, impose that onto the company through his own, just sheer, you know, energy. is that, is that accurate and how has that changed over time?

Jon: [00:08:15] .

It definitely, from my point of view, it definitely always took some effort to kind of like, there’d be a meeting and then you’d say like, Hey, can you add a team’s invite? And you bug people enough? And they’re like, finally, like, sure, I’ll get you off my back, you know? But, or like,

.

Rob: [00:08:31] I remember talking to Scott about this back in 2006 because that’s when, that’s when I started. So

I remember right, Scott Scott started there. I was contracting for awhile. Then Phil started and then I think I got full time like right after, right after Phil got in there and yeah, cause Phil and I went to a dude, we got to kneel together.

Phil: [00:08:51] I think, I don’t remember if we went to near together, but I do remember that you started not, not long after because you were working on, helper methods for ASP.NET MVC.

Rob: [00:08:59] That’s right. But I do I remember I remember Scott talking to me about, about the importance of

you know, making sure that, you know, here’s all the checklists and things you have to do. Make sure they know you’re there. in the hallways when you’re

Phil: [00:09:14] it was, I

Yeah

Rob: [00:09:15] it being a really big deal.

And, And every time I’d go back to, cause I would go back every other month for about a week. time I

to Redmond,

I’d have the conversation with somebody, either my manager or something like, so Rob, uh, you thinking about maybe moving to Redmond and I, you know, I just kind of laugh it off and say, you know, we’re not,

of good where we’re living.

Cause at the time we were living in Hawaii and, So this, this, finally, the conversation stopped one day because I was at a cafe. I think it was building 53. I can’t remember, but I was

sitting there  and

my boss, came and sat kind of at this

Phil: [00:09:51] okay

Rob: [00:09:51] with me.

Phil: [00:09:52] Okay

Rob: [00:09:52] then next thing I know, here comes Brad Abrams, who is like a, I think he was a

Phil: [00:09:56] Okay

Rob: [00:09:56] at that time.

And then Scott goo came and sat right next to me

and he’s sitting there looking at me. He’s like, so, Whoa. So Rob,

like, Oh boy.

Here we go,

here we

Phil: [00:10:07] That’s a great impression. Yeah.

Rob: [00:10:08] feel, you know these, you know these meetings, right? Like

Phil: [00:10:11] Hey, Rob.

Rob: [00:10:11] at you like. There you go. So, yeah, you know, I was thinking, we could really use you on campus here.

What do you think about, you know, maybe in the future, your future here with the company? I’m like, Oh, the full press, you know?

Jon: [00:10:23] Whoa

Rob: [00:10:23] just kind of looked at him and I said, you do know where I live, right? And

kind of looked around the table. I’m like, you guys, come on. Seriously,

I’m not, I’m not, I’m not moving here.

I’m sorry.

Phil: [00:10:35] Hard to balance those.

Rob: [00:10:37] Yeah. Anyway,

Phil: [00:10:37] Yeah

Rob: [00:10:38] laughed. It was pretty funny. But yeah, it’s, it was kind of a big deal back then because if you weren’t in the

you pretty much weren’t there. And like Scott would

is you have to demand that they put you on speaker or make sure you’re there and you have to speak up during the meeting and say, I’m here, I’m still here.

You know?

Phil: [00:10:55] Yeah. I think the rise of it, there’s two kind of big factors that I see both one’s cultural and one’s technical on the technical side. if you know who Ben Thompson is, he writes this newsletter called stratechery.com or strategery at an, I pronounce it, but, he had a really great post and is really focused on the way information is disseminated in the midst of the Corona pandemic and like, how.

we’re getting good information from social networks compared to what, you know, the news is given out. But, by analogy, he went into this whole digression about a zero trust information as an analogy to zero trust networking and zero trust networking. You know, like back in the old day that Microsoft, you had this sort of castle and the moat, right?

The castle was protected by the great firewall of Microsoft. And then once you’re in through a VPN, you had access to everything. and that’s a castle and moat model, right? You build a big S, Oh, excuse me, a big old castle. Big old motor rounding

Jon: [00:11:53] We prefer the, the Queen’s English a big arse.

Phil: [00:11:56] and arse. Yeah. So big arse castle and my, yeah. And then, you know, especially we’re talking about castles, but a, what we’ve moved to is, you know, sort of zero trust networking, right. Where you secure. everything like, the, every user has sort of the username and password for each service. And you might use a single sign on to make that easier, but you know, you’re validating credentials at every point in the thing.

And so, that made it so that like, you don’t need a VPN and working. Style, such as working on GitHub is a really good example of that, right? So like, you know, we can all work on out, we don’t need a VPN in. And I think that kind of points to the cultural change, which is, as Microsoft started to embrace open source more.

and they started to have people actually work on open source. And thus they’re working with people who are outside their firewall. And you can’t tell these folks, Hey, you know, you need to, we need to find a way to give you guests access to our VPN so that we can collaborate in a software. No.

Microsoft was like, okay, well we’re going to go to where all the developers are. I mean, it took them a while to reach that conclusion, but they eventually got to the point where like, okay, we’ll just go to get up and work on GitHub, because that’s where all the open source developers live and breathe every single day.

And I think that’s a big cultural change because then, you know, a group of you being in Redmond. isn’t necessarily this big as big an advantage. but there is a whole other cultural element of, that I think, you know, Hanselman had to really fight against, which is. You know, if you have a meeting, and I write about this in my blog series, if you have a meeting in person, you’re, you’re, you’re excluding the people who aren’t there.

Right. And, if one of you is remote, you know, I recommend for teams to protect, to behave like everyone’s remote. And everyone calls in to the zoom chat. which is actually a better experience. Like if you’ve ever been in a meeting where a group of you’re sitting in a room and one person is on the screen, it’s not a great experience even for the folks in the room, if that, you know, when they’re trying to hear that person on the screen.

That person on the screen is constantly, you know, trying to, you know, get into the flow of the conversation. And then if you have lag or anything, it’s just a really bad experience. But if we’re all battled in on something like zoom, or if you’re a Microsoft new teams, then you know, you’re all on a level playing field and the meeting can actually go more smoothly that way.

Jon: [00:14:23] Hmm. Yeah. I mean, you pointed out the, the move to open source. I think another thing too is Microsoft just, and it just happened for business reasons, but to move to the cloud first, Azure and you know, Office online and you know, like Microsoft selling all these cloud native products has kind of forced that to like, you know, where it’s like, Hey, people are there, there’s business internal reasons to move and it’s just easier to move stuff instead of hosting your own SharePoint, whatever weird thing to like, just put it up on, you know, whatever.

Like spin up an Azure website or share something with, you know, in one of the hosted cloud solutions. And like you said, then it’s all single sign on and it’s just. You know,

Phil: [00:15:10] Yeah. Like the, the cloud services made, like required. what do you call it? Required federated identity into be a priority at Microsoft. And then, like you said, I think the, the move to cloud services is also related to the move to open source. Because you know, once you’re in the cloud, who cares what you, who cares what anyone runs, you just want them to run on your cloud.

So like supporting open source makes a lot more sense for, for the business model.

Jon: [00:15:38] Well. So I wanted to kind of go through some of the stuff, the recommendations and stuff that you had in your blog posts.  you started off in your, like, how to work from home and, and there’s two things in here. One is you give, you have several things, you know, wear pants, have ritual, set boundaries, set work hours, got your distractions, focus, communicate, you know, like all the, all these things.

And, but at the end, then I think in kind of a counter thing to a lot of that is be flexible. Like in other words, here’s a bunch of things to do. But like in other ways, it can also be a bit of a… I guess I’ll step back to when I started, a lot of these things were things that I had to learn. Like I had a separate office.

I actually had my wife like chat me on the whatever, you know, a chat app. Like instead of like coming in and saying like, Hey, know, need you to, do something or whatever. Right. You know, pretend like I actually was at work and we both liked it better that way. You know, I was at work for the day. But then over time you like realize what you can be flexible.

Phil: [00:16:53] Okay Yeah. I think this is the classic path of the expert, right? you know, when you’re learning programming, you’re, you learn these steps, like, Oh, take these five steps every time you write a method. Oh, don’t forget to write that unit test before every single method. And then like, write one line of code that makes, you know, go through the red, green, refactor. And then as you become an expert, you know, like, it’s good to ingrain those skills. Kind of like, you know, in the original karate kid, wax on, wax off, right? But then over time it, you, you start to learn, Oh wait, you know, I’ve got, I’ve internalized these steps, but now I know. In what nuanced situations, I can relax a step or two, like, Hey, this method, maybe I don’t need to write a unit test first, but for this one, let me just, you know, write that method because it’s relatively small or whatever.

And so that’s kinda, you know, the be flexible part is meant. I meant it as like, once you really internalize these and, once you’ve seen what works for you. yeah, don’t go like, don’t go too hard down the road. Like for example, you know, one concern I think a lot of people have right now is with this pandemic, everyone or a lot of people going remote and then they’re not being as productive.

And so people are, you know, saying, Oh, this is a, an indictment of remote, distributed work, and it’s like, no, it’s an indictment of a global pandemic that is being completely mismanaged in our country at least, and where it’s affecting so many people’s lives. And, a lot of people may die from it. in that circumstance, I don’t care where you work, it’s going to affect your productivity because you probably have more important things to worry about.

And so, you know, one level in terms of being flexible, I recommend like, you know, allowing yourself to realize that this is a really unusual and difficult and challenging time. And if you need to take more breaks, if you need to step away from the computer, a step away from social, I was about to say social security, social networks, you know, do you, so there’s a really great, blog post, by Alice Goldfuss.

She’s actually a former GitHub Employee, but I never really personally worked with her. But, she has this great blog post work in the time of Corona. And a lot of her advice really focuses on sort of how do you preserve and maintain your mental health while adjusting to this new life, you know, and it, you know, one of our first points is.

It’s okay to feel bad and I’ll send you the link later. But, I think, you know, first and foremost right now, it’s okay to be less productive. It’s okay to, you know, take care of your affairs at home and relax. But you know, when you are ready to work, you know, when you are in the right mindset. You know, I hope that the tips that I’ve wrote are good guidelines for, you know, how to set yourself up for success.

because I’ve seen a lot of people who are like, you know, I just can’t focus at work right now because all of this going on. but ironically, I’ve had kind of the opposite, reaction where I haven’t been working all year pretty much, cause I had been burnt out. and then, you know, this happens and suddenly.

I’m a lot more focused that, working on a project. I mean, I wouldn’t, I’m not working full days, but I’m working on a project because it’s giving me something to distract me from all the bad news. And it’s a project that, hopefully is a boon and a benefit to people doing remote distributed work.

Jon: [00:20:25] Yeah.

Rob: [00:20:27] You know, I wanted to echo what you said, Phil. Cause honestly, social media and news, used to, my habit, you know, I’d wake up every morning and kinda give myself a few minutes just to, to, to wake up. And then I had this habit of grabbing my iPad and it just kind of. things cause I’m three hours behind the West coast and like most of the day is already happening.

So I kind of feel like I have to catch up the minute I wake up. But wow. I mean, this last few months I would get up and feel completely drained because I was reading the news and listening to.

And I think it’s important that people stay informed, but I don’t think you need to stay informed the first 10 minutes of your day.

I can’t tell you, I cannot emphasize enough. How that has changed everything for me. I don’t read anything until noon figure, you know, if something really bad happens, I’ll find out about it somehow. Either through work, chat on Slack or whatever. that’s thing one. And the other thing that you said, what was it?

You made two points. Darn it. I forgot the second one.

Phil: [00:21:28] It’s okay to feel bad.

Rob: [00:21:31] Oh, you were talking about how you, how you’re now feeling, you’re feeling enlivened. Because you’re helping

Phil: [00:21:38] Yeah. Yeah.

Rob: [00:21:39] you’re helping people. And I, and I was trying to explain that to my kids, cause you know, they’re down, you know everyone’s down. Right. And, and you know, and coworkers too. And I was like, if you can reach out and help someone else in any way possible, it’s a, it feeling of doing something as opposed to sitting there doing nothing, which is the worst.

But yeah, I wanted to emphasize that too, because fell that’s a great point. Reach out and just help in any way you can. Even if it’s just to say hello on Slack. I mean, a lot of trying to figure out Slack right now and in, you know, teams, if you’re using this this weird kind of thing that they won’t, they, they have to like ask you, is it okay?

Do you have a second to chat? We’ll screw it. Just just chat away, you know, and say hello.

And a lot of times you’ll find people really, really appreciate you given the 

Phil: [00:22:26] time.

Okay Oh, I totally agree with that. I find that a, a lot of people have a sense of helplessness right now because they can’t influence, you know, a global or national policy and they’re seeing how. Yeah. I’d only in that the response has been, to this crisis and they feel like helpless. Right? But there’s always something that you can do within your sphere of influence, you know, even if it’s just helping one person and that, you know, not only helps them, but it also helps you and.

the other day, you know, like, I since leaving GitHub, I’ve been really enjoying going to the gym every day and it’s become my main social outlet, you know, going in, cause it’s a regular class. So I see the same people every time we work out together. Chat. And, you know, I really missed that interaction cause I didn’t really, you know, I wasn’t working at a company so I didn’t have that social network.

but, so the other day I, you know, messaged a few of the folks from the gym, I said, Hey, look, you know, I found this cool workout. I’m going to try it on zoom. If you want to join me, call into this channel. And, Let’s do it. And so, yeah, three guys joined me and we did a, a workout and it was a lot of fun and I had a really good time.

I’ve had, in fact, I’ve been telling people I’m probably a lot more social now than I was before because, through zoom I’ve had several like whiskey meetings or, you know, like hang out at happy hour meetings with people. And there’s a lot of cool benefits. One, I don’t have to get dressed up to, I don’t have to drive anywhere.

Three, I don’t have to call a Lyft to get home after I’ve had too much to drink because I’m already home. When, when our, little hangout is over and I was like, Oh, this is kinda, it’s kind of a nice way to, you know, hang out with your friends.

Jon: [00:24:20] Yeah. It’s been interesting seeing a lot of different things moving online. gotten into through a Tony Horton doing thse P90 things. And he started doing these 3 days a week online, Facebook things. And it’s pretty fun, you know, and it’s like a live thing and people are showing up and know, it’s, it is, I mean, we’re adapting.

We are, you know, it is nice that we all have internet and we all, you know, are able to, to connect in that way.

Rob: [00:24:50] well I was just really quickly going to interject and say that, I was talking to a friend about this, cause we have a gym in the building I live in, which is so lucky. And I, you know, you meet people, like you’re saying, Phil, you meet people and you talk to them and whatever. So they shut down the gym in the building last night.

And, and I was talking to this person that I’ve seen down there before and he’s like, I need to go to the gym. He’s really built because I need to go to the gym at all, I’m going to do. And so I said, well, if you’ve ever seen these, these things called TRX, TRX suspension bands. They’re not like the bendy kind, but they’re like the military  suspended from a doorframe or your ceiling. The straps that you can adjust, they’re amazing. You can get a full gym workout. It’s crazy. So anyway, put a link in our chat here, Jon, if you want to add it on the show people that are at home and they don’t have the equipment and they can’t get to the sporting goods store, Amazon will deliver these, then, yeah, join Phil for a workout.

Why not?

Phil: [00:25:45] Right?

Rob: [00:25:46] You did

Phil: [00:25:46] Yeah.

Rob: [00:25:47] I mean what? I heard you say

Phil: [00:25:50] Sure I, I, I guess I am now.

Rob: [00:25:52] you should. You know what? You should do that. You should Twitch your workout man, and we should all just join. Let’s do it.

Phil: [00:25:57] That’d be fun. You know, and kind of relating back to working from home like this, you know, . People are social beings. And you know, one of the things that, was really challenging when I was at GitHub was the sense of isolation, loneliness, even as a member of a team, especially the leader.

Because you know, a lot of times, like your colleagues, you know, the people you’re working with, they’re not really your peers, right? They’re the people who report to you in this sort of a different relationship there. but it would feel lonely at times. And you know, what we do to try to ameliorate that, is to actually have hangout times with , my colleagues that wasn’t focused on, some work in particular. one thing we would do is we would have, you know, Brown bags, once a week, and then, you know, anyone could call in. I, I may have even blogged about this a while ago. I just can’t find it right now, but we’d have Brown bags once a week, and then we’d all call in and do the, you know, with that zoom was nice as you can do the gallery view, which gives you that whole Brady Bunch look, if you have nine people. Yeah. But we would do these meetings and then, you know, kinda hang out and, and be intentional about the social aspect of working. And I think that’s really important because, you know, when you’re distributed and remote, it’s really easy to fall into the trap of like, Oh, like.

I’m all work all the time. And that’s what it’s all about. But you know, you’re working with human beings and it’s really important to establish that relationship with each other as human being. And that comes a little more naturally when you’re in person, because you know, you run into each other in the hallway, Hey, let’s go grab lunch.

Let’s go grab a coffee. but you know, you’re not running into people when you’re home, or at least I hope not. and, you know, you have to be a little more intentional. Hey, let’s do a hangout where we just hang out.

Jon: [00:27:50] Yeah. I think the whole like intentional is a thing that like going through all your posts as well. There’s a lot of things where you just need to be intentional ways where like. Going to work and being in a building and being in meeting rooms with other people, like there’s a lot of stuff that just that when you’re from home, you need to be intentional.

Like, need to intentionally, you know, communicate. I need to, know, like, being productive and re removing distractions and, you know, setting my work hours, you know, as opposed to like going into a business, you know, office, your work hours are kind of set for you, you know? And that whole thing about intentional communication, I think is so important.

And there’s. W w one thing that I’ve seen with that like, really important to intentional with, what am I doing with this communication? For instance, if it’s a meeting, let’s get it done. Like I want an agenda, I want to be, I want it to be productive, you know, I wanna, I wanna like focus on that. If it’s a…

But then, like you’re also saying, if it’s a social hangout, Hey, be intentional about your social Hangouts as well. And, and you know, like, not mixing the two. I think mixing the two can be frustrating. Like if you want to have a stand up, it should be if it’s a social thing, make it social.

But if it’s a stand up, boom, boom, boom, let’s knock it out and get to work. You know,  always weird when it’s like not communicated. Are we hanging out or are we doing work or what? You know?

Phil: [00:29:26] Yeah. Like when you’re a manager, you learn one of the secrets to, you know, good high functioning teams and good performance is. Having clear expectations and accountability towards those expectations, right? yet at the same time, you, when you go to a typical workplace, you see that that’s not put in practice all the time in all aspects of the company where it would really be a big benefit.

For example, meetings are a really great example, right? Like how often do you go to a meeting and the agendas and clear, and you have no idea. Why are there or what, the goal of the meeting is, and you, and you know, it all comes down to the, there are no clear expectations for that meeting. And the meeting is expensive, right?

You know, you’re, if you’re, if it’s an hour and you have five people, you know, you take their hourly rate and that’s a lot. And a lot of times, you know, those meetings could easily be replaced with an email or a discussion and, you know, some place. And so. Often better to try to replace that, replace meetings with discussions.

Jon: [00:30:30] Yeah. that’s something you called out the asynchronous workflow and the kind of writing things down, and then, you know, a common pet peeve is the how people use chat. Like I think. If you know, in a more office center culture, when you chat people, the, the inclination is to just say, like, Hey, you there, like you just want to get something, but a much better thing is, Hey, could you clarify what you meant when you said we should close issue one 23 like that’s something that works well asynchronously and, and we don’t have to waste the time with, Oh, Hey, sorry, I missed you. I was getting coffee. Oh, Hey, blah, blah, blah. You know, it’s just like, ask your question.

Phil: [00:31:10] Right, right. Embrace the asynchronous nature of chat.

Jon: [00:31:14] and then that flows well over   you know, open source thing as well too. Like, like just like say your say your thing in a way that that allows us to make a decision and move forward.

Phil: [00:31:29] Yeah. You mentioned making decisions and, I think one of the biggest challenges that I saw, and this is an organizational thing, but it, it, I feel like it’s semi-related to, Distributed remote workforces. And one thing I want to be clear before I get into it is, a big theme you’ll see is like all these practices I talk about are, I think equally good, if not more so for co located teams.

So if you work in an office together. I think these are good practices to have because you never know when someone had to take a sick day until they missed out. but I think that they’re compounded when you’re remote and distributed. If you don’t do these things, the, the impact is far more, it’s far bad.

It’s worse. Excuse me. My English is not working

anymore Far

batter. Yeah. Yeah, that’s right. so. What was I going with this?

Jon: [00:32:26] Well, you were saying that it’s these, these are practices that are important for co like located teams as well.

Phil: [00:32:32] Right. But we were talking about something right before that

Jon: [00:32:35] decision making.

Phil: [00:32:36] decision making. Yes. Okay, so what.

Yeah. This is one of the downsides to working alone. A remote distributor for too long is like your ability to have conversations with adults can start to decline.

Rob: [00:32:50] well

Phil: [00:32:51] that’s why.

Rob: [00:32:51] Washington. It’s legal in Washington, so we’re okay. Phil, you’re among friends.

Phil: [00:32:59] So what was I saying? Oh,

anyway,

a lot of times decision making and remote distributed companies can be really challenging because conversations can feel open-ended if they’re asynchronous, right? Like I posted this question and then I wait like three days and the person didn’t respond, and I’m like, well, do I go ahead?

Or no, I guess I should wait for their response. Whereas if you, you know, if you corral a group of decision makers into a room, you can often, you know, say, Hey, we’re not leaving this room until we come up with a plan of action for X, Y, Z. Although, you know, I’ve seen a lot of companies still can’t make decisions even when they did that.

And so I do in my series, talk a lot about. How do you make decisions as a remote distributed company? And again, it comes down to setting clear expectations. Being very intentional. timeboxing is a really important one, intentionally reaching out to people and making it clear who are the decision makers and who are just being asked to weigh in and who are, is being asked to observe.

Right. and I mentioned a couple of different frameworks for doing that that are very popular, RACI and DACI. But I think, you know, making sure that you have a clear path to making decisions is really important. And as an illustration of that, you know, when that Friedman, took over as CEO of GitHub, not long after there was sort of this, you know, the pace of get up shipping features sort of, you know, really increased.  And from the outward looking in, it seemed like. Oh, wow. You know, Nat is really like rev the engine. but you know, from my experience, a lot of that stuff that they were shipping was already being worked on, but they were being blocked by, you know, indecision, like, Oh, like, you know, this isn’t good enough to ship, or who can make this call?

And that I think went in and just said, Hey, look, let me make those decisions, ship it and iterate. And I think that really unblocked a lot of stuff that had. Already been worked on for a good while. and sometimes you just need that person to say, Hey, this, let’s make decisions as make them quickly, but let’s make sure that we have resiliency in the process of that.

If we make any mistakes with those, we can fix them quickly.

Jon: [00:35:18] Hmm Yeah, yeah. I think focusing on that and as part of communications as well, like very easy, you know. As you mentioned in different, all different kinds of things like there’ve been email threads where people, when you see an email thread you can respond with, here are some thoughts I have about it, but really what’s the point of the email thread?

Is it to make a decision? Is it to, you know, like, and if it is, what are the next steps? So, you know, and, and those sorts of things where, so of just saying, you know, kind of rambling, let’s say like. I, I propose this, this is a, you know, or if I don’t hear back by this day, I will, you know, delete all the files or whatever it

Right

Phil: [00:36:01] Right. Yeah. Time boxing is definitely an important component of that, saying, this group is going to make a decision on this date. You know, you have until then to provide your feedback.

But you know, making it clear, they are the ones who are making the decision. Right.

Jon: [00:36:19] And often they’re, if you have a, if people are not responding or not, then usually the best thing is to propose a very bad idea with the time box. And then people will jump out of the woodwork.

Gosh, how do you handle things like, you know, time zones. you know, and that’s something too where some people asked about that. How, how. You know, how do you handle just the kind of distributed time zone part to that?

Phil: [00:36:46] Yeah. You know, for a lot of companies right now who are quickly moving into it, you know, they’re often, they’re moving into it because they’re forced to buy, like work, work from home decrees. And so they’re already co located. So they are fortunate that they don’t have to deal with the distributed times on things.

But when I was at GitHub, I had a team that had, you know. Oh, almost everyone in a different time zone all across the world. And it, it’s more challenging because your throughput on a single th it’s, it’s a lot like a asynchronous programming, right? Or a parallel programming. Your throughput on any single thread at work will slow down.

if I write a piece of code and the person in New Zealand is the one who’s going to review that piece of code. They’re probably sleeping when I’m done. So, rather than just sit there and be blocked, you know, the thing to do is for me to go on to the next piece of work. Right. and, and then, you know, in the next day, hopefully when I get up, I’ll have a nice code review that I can look at and address.

And so that’s the, you know, one of the main things with being distributed across time zone is to embrace the fact that, you know, you. You may slow down, throughput on any individual line of work, but just like with computers, what you do is you just spin up more processes, right? You spin up more threads of work, you,

you distribute, you, Cool. What is it you try to focus on making sure that nobody is blocked at any time? You don’t want to block threads. Instead, you just move to the next thing. and then the other thing is, you know, making sure that you give people time for feedback. You know, if you propose something and then, you know, you wait an hour and they start going through with it.

Well, the person in the other times and it didn’t get a chance to weigh in and they may, they might have some important, important feedback. one thing we would often do, especially for really important poll requests is we would keep them open roughly 24 hours that way before we immerse them that way people could, You know, chime in who might be effected by the pull request. Now for small things, we didn’t do that for everything. Right? Cause like again, be flexible, be smart. You know, like for something really small, we might say, okay, you know, I got someone here to review it in my time zone. We went ahead and merged it.

And if you see anything wrong with it, you know, we can always do a revert. We can always address it after the fact. You want to look at the cost benefit, right? Like what is the cost of getting this wrong versus the cost of,  all right, getting it right. The first time versus the cost of getting it a little wrong and then fixing it and sometimes getting it wrong and fixing it is actually cheaper than, you know, holding something up to get it.

Absolutely right. It really depends on like how much damage it would cause if you got it wrong the first time. but overall, like taking on. Asynchronous workflows like that. And, and I think the analogy to asynchronous programming is really apt because like, we’ve solved a lot of these things where, you know, Oh, we’re worried about Moore’s law slowing down.

So we started to add more processors and we’ve had to come up with new ways of programming and new way the distributing work across the, and tasks across those processors. Well. It’s not a perfect analogy, but that actually kind of works when you consider people at a distributed across the planet.

Jon: [00:40:11] Hmm. Yeah, it’s interesting. Some of the things you’re talking about, I’ve been reading this book Accelerate, and it’s like lean software and dev ops and applying it to organizations. And, a, it’s a, you know, some of the things like small batch size and all the, you know, like focus on small, short turnaround and those apply very well to the asynchronous work, and if I’m working on a small thing. That’s done. Pass it to the next person. Move on to something else. Oh yeah we got a few questions over Twitter. so one, I think you kind of answered already, but, Khalid says, how do you stay in shape when sweat pants are so comfortable.

Phil: [00:40:53] Well, you, you, you put the sweat and sweat pants, and go, go exercise. But I mean, I think there’s a great question. I think, yeah, organize it with other people. if, some people are really great at. Kind of following their own schedule and being a solitary, you know, gym rat. And if you are, that’s great, on the kind of person that I sorta need that social pressure to motivate myself.

So, you know, getting people to hold each other accountable is a really great way to keep in shape.

Jon: [00:41:28] Cool. Cool. Yeah. I’ve seen people do this different ways. We have, there’s a, I mean, just kind of a, a team check-in thing, like they started this coffee or a, they call it the breakfast club in dev dev, and it’s, people just have, a 15 minute coffee and it’s just a quick little chat. But, you know, a lot of the people will be saying, checking in on, you know, I just got off my bell Peliton or whatever it is, you know?

Phil: [00:41:50] Yeah. I started a little pandemic survival club.

Jon: [00:41:53] there you go.

Phil: [00:41:54] Yeah.

Jon: [00:41:55] Yup. And I know some friends that have a Twitter, just like a DM chat, and they just check in every day and. their workout or whatever.

Cool. Andrea says, what’s your go to brand of whiskey for post remote meeting? Relaxed time.

Phil: [00:42:10] Oh wow. We could do a whole nother episode on that.

So lately I just got this bottle, a monkey shoulder, which is a blend of three different scotches. It’s, Glenfiddich Balvenie and, I, and I don’t know if I’m pronouncing right. And then another one that I blanking on, I really like it. I’m a big fan of Yamazaki 12.

I like, Nika from the, barrel and Nika coffee mall.

and, I, I could go on, but, yeah, right now the monkey shoulder has been, I’ve been a real fan of that one right now.

Jon: [00:42:45] Cool. All right. We’ve got one more question here. so Mathias with a, with a more difficult question how has the HR done, effectively, efficiently, and inclusively remotely, things like grief health support? Is there a good way? And, also if there’s a good way for someone to give their notice.

Phil: [00:43:05] Wow. Yeah, that’s a great

question Yeah, so there’s a blog post that I’ll a post to you called be this manager now. And it’s by, Nicole Sanchez. she, worked at, also worked at GoodHub for a little while and she, kind of implemented the first, diversity and inclusion training at GitHub. And now she is a consultant at via consulting.

she’s amazing. If you, your company can. afford to hire her for management training. I highly, highly recommend her. She’s really great. she has a great blog post about the type of manager you want to be in this tumultuous time or in any tumultuous time. She talks about checking in with everyone one-on-one privately, but, you know, remember like HIPAA, you know, advocate for your employees.

Stay informed and take care of yourself, yada, yada. Really good advice. I mean, yada, yada is in and so on and so on. Yada, yada can sound dismissive. I didn’t mean it that way. So, and, and so on. so going back to the question, I mean, I think as a manager following these guidelines. Is really helpful.

how do you be inclusive in review performance reviews? I have a whole blog post about, my whole view on performance reviews that, I think it’s, yeah, I think it’s worth reading. Of course I wrote it. but I talk a lot about how, existing review systems aren’t, equitable, even if you’re in person.

you can see how certain people, certain classes of people, especially underrepresented folks tend to score lower, for the same work. So, You know, one of the things you want to do is try to, as much as possible, create objective measures of performance. So like set clear expectations, measure people against those expectations in terms of giving someone notice that I assume he means like firing someone as opposed

to selling

Jon: [00:45:03] else, Or if you want to quit as well. Right. Those are harder

Phil: [00:45:06] Oh

Jon: [00:45:07] discussions to have remotely like,

Yeah, I mean, you know, do it, do it on a, a video conference, you know, don’t do it over email. video conferences is about the closest thing you’re going to get to, you know, just being in person and having a Frank conversation. Yeah. If you’re giving notice, you know? Yeah. I would just, have that conversation and then, you know.

Write a letter of resignation and then, and submit that as well. if you’re on the other end though, and you think you have to fire someone, I mean, in this particular time, especially in our country where health care is tied to our jobs and all these people are losing their jobs all of a sudden, hopefully, you know, like more and more people recognize that, you know, having our healthcare tied to employment is a really bad idea when something like this comes along.

And, you know, I would like hook that companies would delay. That sort of thing as much as possible. But I know that, you know, some companies are in a position where they might just go out of business, which leads to the same result for their employees. So I understand that. Like. Yeah. It’s easy to say, but if you’re a company in a strong position and you can afford not to fire people, you know, I hope that you try to do your best to take the humane stance of not firing them until things have calmed down a bit.

You know? other, if you are fired, you know, like, make sure you understand how COBRA works. C, O, B R A. It is a more expensive than what you’re probably paying as an employee. I did a COBRA when I left GitHub. I did Cobra for a year. And, you know, that it wasn’t pleasant on the pocket book, but it was better than not having insurance.

And then I just recently, my family recently moved to Washington, one of the Washington exchange, healthcare plans, which, you know, they’re cheaper, but not, not by much. but anyways, yeah. I hope that helped answer that question.

Yeah. Yeah. Well, I think part of the thing, you know, we were talking about the communications and how do you, You know, how do you have difficult conversations? And one of the things you mentioned is just, you know, like both as a manager and as a, as an employee is to communicate often and to build the trust through regular communications.

So I think that is an important thing, like having regular, know, discussion with, with your manager so that you comfortable. You… If you feel comfortable and you built that trust, then difficult conversations are hopefully easier too.

Phil: [00:47:36] Yeah. And I put a lot of the onus on that, on the manager. Although, like if you’re a nice individual contributor, IC,  a, you obviously don’t have control over your manager, so what can you do in that position? you know, ask or advocate for a regular weekly one on one. All right? You know, there’s this great podcast, the manager tools podcast, and they had this episode.

And I think it’s a two parter about why one-on-ones are so important and how to do them well. And I was so impressed upon me so much the value of it, that when I was at getup, I actually wrote our first guidelines to one-on-one. So that became sort of the official internal documentation for, you know, why we should do one on ones and how to do them.

And you know, the. One of their points is that your job, your primary job as a manager is to, build a relationship with, your people as individuals. And one of the best ways to do that is through one-on-one. You need to build the relationship and build up that trust. And so one on ones should not be like a status update or some sort of a work meeting.

It needs to really focus on what is it that. The employee needs to talk about and get off their chest or what, what is it that they want? And so they have a whole structure, you know, that they called 10, 10, 10 and which I would sometimes just do 15, 15, but it’s basically 10 minutes, whatever the employee wants to talk about, 10 minutes, whatever the manager wants to talk about.

And then 10 minutes. talking about the future, I found in practice I couldn’t talk about the future. Every single one-on-one, is just wasn’t, you know, we talked about last time and not, not a lot has changed in a week, but I found that conducting weekly one-on-ones was immense in building trust and, relationship.

And you’d basically, it’s, it’s  impossible, or very difficult to have a difficult conversation if you haven’t built that foundation of trust. It just doesn’t go well. Like you can have a difficult conversation, but it’s made more difficult when you haven’t established that basis of trust. But if you put in the work to build up trust, then, you know, you come, you can have that conversation where people are giving each other the benefit of the doubt and I’m assuming good intent. And it’s very difficult. And even then, you know, you have to understand that when you’re a manager, there’s a power differential in that conversation and you have to recognize that and, and do your best to. you know, try to balance that as well as she can. And the power differential comes from the fact that, you know, if you want that person fired your opinion, you might not be able to outright do it, but your opinion weighs heavily.

You can, you know, you sort of hold their career in your hand at that company.

And so, and that’s always in the mind of the employee when they’re having that conversation with you, whether consciously or subconsciously. And so it’s really important to recognize those power dynamics and try to, you know, work to, you know, build up trust so that you can have this difficult conversation.

And when you do have those difficult conversations, you know, there’s a really, you know, there’s a lot of good books out there. One of my favorites is, difficult conversations, you know, apt title I, I know others have recommended crucial conversations. but they go through a whole, you know, they go through a lot of scenarios about how to have these conversations and making sure, for example, that you really understand, the context and the perspective of the other person that you’re not just trying to win the conversation, but that you’re trying to understand their point, you know, as well as they do, you know, if possible.

And then, you know, being honest, upright, and avoiding, you know, some of the tripe things, like the, the shit. Sandwich approach, you know, where you’re like, Hey, I have some good news, bad news, good news.

Jon: [00:51:29] Yeah.

Phil: [00:51:30] Yeah. Like a lot of people feel like, Oh, that’s a good way to soften the blow of bad news. But what it does in practice is, anytime you come to someone with good feedback, for example, they’re waiting for the hammer to drop and, the other practice, Oh, you can see, I get excited about this.

The other practice I highly recommend is make sure you’re constantly giving feedback. And give feedback early. That’s positive. so for example, a lot of times, you know, when the mentors like, Hey, I have some feedback for you. What’s your initial reaction when you just hear that phrase like, Oh shit, what did I do?

Right? But, that’s a problem. You know, it shouldn’t be like, Oh, I can’t wait to hear this. You know, like, cause this is probably an opportunity for me to get better or, or an opportunity to reinforce something that I did good. Right? So if your manager is often saying, Hey, you know, I have some feedback for you.

The way you handled that, that outage was phenomenal. I really liked the writeup. Blah, blah, blah. you know, more of that. Thank you. And then like, you know, once in a while when there’s corrective feedback, you know, you’re in a much better position to take it because you’re like, well, you know this, this manager sees all the good things I’m doing.

They see me as an employee. So, you know, if they have something that’s going to help me improve, I want to hear that. But if the, if the only time you come to feedback is negative feedback or corrective feedback, then you sort of lose your credibility as someone who, is in a position to give them feedback because they’re like, well, you’ve never seen all the great things I do.

Jon: [00:53:00] Right, right. Wow. a lot of good stuff. we’ve got a wrap up.   Kevin, do you have any, anything else you want to throw in.

Kevin: [00:53:08] Phil, you had mentioned earlier. You had, had experiences of a rote, employee, both at the kind of individual contributor level, the manager level and the director level. there, are there things that are kind of unique to each of those levels that, people can think about from a

Phil: [00:53:26] Uh yeah I would say yeah. So like I sort of pattern my blog posts around that theme. So the how to work from home, really focused on, individual contributors. How to lead from home focused on managers. And then I would say like all of it, like at the director level, there’s a little more, focus on setting high level goals and a high level objectives.

And how you, you create alignment with your team. And so I think that I cover some of that in the geographically distributed teams posts. and so, you know, at that level, you know, you’re not, you know, a line manager. You’re not like looking at every check and what you’re focused on is how do I make sure that everyone’s pointed in the right general direction, and then you need to trust them.

To do the, you know, what you hired them to do. Like they’re probably the best developers or best product managers, breasts, quality assurance folks that you could find and they know their job and they. They want to do good work. You know, a lot of people ask me like, Hey, how do you make sure everyone’s working?

And I was like, you know, you, how do you, how do you know anyone’s working when you’re in the office? People are really clever at getting out of work. They don’t want to, but if you have a, a clear, mission that motivates people, you know, they’re going to want, to do good work that, you know, people aren’t looking for excuses to get out of it for the most part.

If you connect, you know, meaning to the work that they’re doing. all, all they need from you is to help them connect meaning to the work and to help them see like what the goal and the objective is. And they will, you know, they will do good work. They will work hard to reach that vision. And that’s a, that’s your role as a director and higher.

Jon: [00:55:17] Cool. Yeah. Everyone likes to finish a day at work and go like, yeah, I nailed it. You know, I got something great done. Right. Like enabling people to get to that is, you know, and then like you’re saying, you don’t have watch every step of the way. You just need to help them get to that spot.

Phil: [00:55:35] Right. You don’t need to tell them what to do. You just need to remove obstacles so they can do the great work that they are really wishing that to do.

Jon: [00:55:44] Cool. Well this has been great. but we gotta wrap up. So, maybe we should have you back on some time soon and talk more about other managing stuff. Cause there’s a lot of good stuff here.

Phil: [00:55:57] Yeah. Anytime, anytime.

Jon: [00:55:59] All right, that’s all the time we have quite literally this week. Thanks a bunch for your time and we’ll talk to you again soon.

Herding Code 229: Matt Warren on .NET Internals and Open Source Contributions

Download / Listen: Herding Code 229: Matt Warren on .NET Internals and Open Source Contributions

The guys talked to Matt Warren about his recent blog posts on .NET open source and open source contributions.

Herding Code 223: Keith Horwood on StdLib, Nodal, and Functions as a Service

The gang talks to Keith Horwood about stdlib, nodal, and lots more!

Download / Listen: Herding Code 223: Keith Horwood on StdLib, Nodal, and Functions as a Service

Show Notes:

  • Standard Lib (stdlib)
    • (00:44) Standard Lib is a registry for serverless microservices. It’s kind of like a mix between npm and heroku, so there is a central registry, but rather than just installing the services locally, they handle deployment for you. There are command line tools available via npm that make it easy to create (lib create) and deploy microservices (lib up).
    • (02:23) Jon says he’s pretty impressed with the interactive experience on the website, where you can very quickly deploy a service. Keith explains how they set up a service that handles the tarball packaging to allow creating a service in the browser. They expect that developers will usually start with the cli tools, but the browser based onboarding experience is nice for new users to get familiar with the service.
    • (04:22) K Scott says that essentially he can just write a javascript function and have it running as a service. Keith agrees, but says it’s also set up so you don’t need to manage servers – it automatically scales and self-heals.
    • (05:34) K Scott asks about how the monitoring and exception handling works. Keith says they work with several monitoring systems. Currently the output is just a text dump, but they’re working to improve that.
    • (06:15) K Scott asks about how you handle persistance. Keith says that currently they don’t offer their own persistence layer, and he recommends just using compose or Dynamo or RDS. They’re talking to some companies doing some neat stuff with GraphQL and gives a shoutout to Graphcool who runs a really cool GraphQL backend as a service.
    • (07:48) K Scott asks about their pricing model. Keith says they’re going to be going with a Twilio-style system where you fill up a wallet and pay per compute, so you only pay for what you use.
    • (09:09) K Scott asks how they differentiate from AWS Lambda and Azure Functions. Keith explains how they’re providing another layer of abstraction. The existing infrastructure and infinite scalability are great, but the workflows are too complex, so stdlib provides a nice layer on top of that.
    • (10:42) K Scott asks about their versioning system, in which development is mutable but releases are immutable. Keith explains that service immutability is a point of trust for API consumers. When you’re developing, you’re not supporting consumers, so you can continue to change your service, but once you deploy your service can’t be changed.
    • (12:42) K Scott asks how clients will reference an API by version. Keith talks about the syntax for referencing a specific version and says if you don’t specify a version number you’ll just get the latest.
    • (13:55) Jon asks what to do if he deploys a package with a really bad error. Keith explains how you can use “lib down” on a package, and discusses the monitoring and notification systems they’ve got in place to communicate with consumers.
    • (15:17) Jon asks about the view templates. Keith says that they started building view templates for internal use as backends to single page applications, then realized they’d be very useful to other developers. They also have templates for Alexa apps including a Delores Abernathy (WestWorld) sample app.
    • (16:44) K Scott asks about what some of the biggest challenges they faced putting it together. Keith says that AWS Lambda can be a black box and talks about the process of finding the right developer abstraction.
    • (18:36) K Scott asks about Keith’s blog post titled Using “Server-less” Architecture to Massively Parallelize DNA Sequence Alignment via StdLib and Node.js. Keith explains what DNA sequence alignment is, and how you can use massive parallelization to go from an n-squared problem to operate with a time complexity of one.
  • NtSeq
    • (21:35) Jon asks about Keith’s NtSeq library for DNA sequencing. Keith actually dropped out of grad school in bio chem, so he had the background and some code lying around.
  • Collaboration, Dependencies, and Documentation
    • (22:50) Kevin says that a lot of function as a service samples are petty simple, but real solutions will require multiple collaborative services. Are there thoughts on how to assemble collaborating services effectively? Keith explains that these were some of the design goals for stdlib.
    • (25:22) Kevin asks if there are ways to track service dependencies. Keith talks about the static analysis opportunities, and mentions that all dependent services you’ve been calling will show up in your dashboard.
    • (26:15) Jon is pretty impressed with the service documentation and asks how it’s created. Keith talks about the markdown and service json based documentation.
  • nodal
    • (27:25) K Scott asks about what prompted Keith to create stdlib. Keith talks about the history, starting with the nodal platform. nodal has been pretty popular as a platform, but many really liked the workflows for deployment and service management, but didn’t necessarily want to learn a new platform, and many didn’t have data persistence needs.
    • (29:40) K Scott says that he finds the Nodal sample very easy to read – ES2015 classes that extend a base controller. Keith talks about the unique time in JavaScript history when Nodal started. He’d made a bet on io.js during the Node / io.js split, and had leveraged ES2015 syntax. When io.js and Node merged back up, Nodal was the one of the first mature Rails-like frameworks.
    • (31:35) K Scott asks about the ORM. Keith talks about why he built the query composer. Nodal’s ORM is called the composer, and it uses method chaining, then reduces everything down to one query. That gets around the n+1 issues you’ll run into with ORMs like Active Record. There’s a GraphQL example at graphql.nodal.com which can take a GraphQL query and translate it down to a single Postgres query. They’re looking at breaking the composer out to allow use in other GraphQL applications. K Scott asks more about the join syntax and lazy / eager loading.
    •  (35:21) K Scott asks about the extends keyword and object orientation. Keith says that the JavaScript community is growing so quickly that as long as developers can read the code easily, they’re just happy that it’s there. A lot of these newer developers aren’t that opinionated, and developers are happy to work with opinionated frameworks.
  • What do you do for fun, music apps, what’s next?
    • (36:35) K Scott asks Keith what he does when he’s not working on stdlib and nodal. Keith says it’s the majority of his time now. Keith says he used to run.
    • (37:28) Jon noticed Keith’s audiosynth.js lib on GitHub. Keith says that audiosynth was done before webaudio and webmidi, and he stumbled on someone who was generating simple sine wave audio files in JavaScript, and he extended it to use some more interesting string synthesis algorithms to make some more advanced tones. There are some more advanced audio APIs available now. Keith says that the most interesting outcome of that work was the connection he made to the first engineer they hired at stdlib.
    • (40:22) K Scott asks what’s coming up. Keith talks about the authentication and authorization layers as well as multi-language SDKs and support that are coming out soon. K Scott asks about the current auth story, and Keith says that currently you code it all yourself.

Herding Code 213: Sean Trelford on Composing 3D Objects with F# and OpenGL

At NDC Oslo, Sean Trelford did a lightning talk on composing 3D objects using F# and OpenGL. Oh, and he’s 8 years old. Sean (and his dad, Phil) talk to Jon about learning coding with Small Basic and F#, and how it’s fun to learn coding by building video games.

Download / Listen: Herding Code 213: Sean Trelford on Composing 3D Objects with F# and OpenGL

Show Notes:

    • Hello
    • Sean’s Talk
      • (1:13) Jon asks Sean whether he showed slides or did live coding.
      • (1:39) Sean made an army from one 3D man model.
      • (2:09) Jon asks how difficult it is to call OpenGL from F#. Sean’s dad, Phil, explains how Sean used a domain specific language – about 50 lines of code. You can use it to create shapes like cubes and spheres, color them, transform them, etc.
      • (3:30) Phil explains how Sean used the F# REPL to create and modify 3D objects interactively, then used functional composition to put the parts (head, arms, legs) together to build the army man, the used functional composition and aggregation to create the army.
    • Learning Small Basic and F#
      • (4:37) Jon asks Sean if F# is his first computer language; Sean says he started with Small Basic. Jon asks if he found it difficult to move from Small Basic to F#, Sean and Phil explain how F# is actually a pretty natural step from Small Basic. Small Basic has no functions with parameters, so when they had a project that ran into that limitation they just moved the code from Small Basic to F# and used the Small Basic library to construct 2D shapes (leveraging WPF).
    • Fun Basic
      • (7:02) Phil said that last year he and Sean rewrote Small Basic as Fun Basic (available free in the Windows Store). It’s an IDE with IntelliSense, code completion, etc. It’s got backward compatibility with Small Basic, but includes function with arguments, pattern matching, etc.
    • Learning programming with video games
      • (8:02) Jon asks about what next for Sean. Recently they went to a game jam and made a platform game. Phil says the REPL environment is huge for game building.
      • (9:04) Jon mentions the IoT lab at NDC and asks Sean if he’s done anything with IoT; Sean says no. Jon says it seems like people try to get kids interested in coding with IoT, but maybe games are more fun to get started. Phil says that Sean’s got a Minecraft channel on YouTube. Jon asks Sean about making videos about making games.
      • (10:38) Phil says he got started on computers with games – he made his first game when he was 11, but his first commercial game was when he was 14 – Flint Eastwood.
      • (11:44) Jon asks Sean if this is his first time in Olso, and his first conference. It’s his first time in Oslo, and his first "speaking" oriented conference.
      • 11:28 Jon asks if they’ve got any last messages, maybe to encourage kids to get started with coding. Phil recommends the Hour of Code, as well as other resources online. Phil says his older son got into programming by adding levels to games, then writing scripts for AI’s, etc. Phil says that’s how he got started – looking at other peoples’ code and going from there. Don’t necessarily get hung up on fancy coding concepts, just script something and have fun!

Herding Code 211: James Mickens on The State of Computer Security and Bitcoin and Thomas Jefferson and Internet of Terrible Things and Prawns and Oslo’s Terrible Secret

While at NDC, Jon talks to James Mickens about his terrifying computer security keynote presentation.

TLDR you are doomed.

Download / Listen: Herding Code 211: James Mickens on The State of Computer Security and Bitcoin and Thomas Jefferson and Internet of Terrible Things and Prawns Oslo’s Terrible Secret

Show Notes:

  • Hello
    • (00:24) All is lost. Listen to Danzig.
  • Stop putting your money in Bitcoin
    • (01:00) James says it’s not a good place to put all your money unless you want to be poor.
    • (01:42) Bitcoin is a commodity, not a currency. Investing in commodities is hard. It’s not a stable place to put money. When it’s going up, the smart people are taking money out.
  • The legal system – and specifically Thomas Jefferson – won’t help you
    • (03:56) Judges and lawyers are very far removed from modern technology. Analogies to older forms of communications doesn’t work.
    • (04:44) Emojis are not telegrams. They’re incredibly terrible, though.
    • (06:30) Thomas Jefferson wouldn’t help with issues relating to iPhones. If your phone broke, would you take it to a really old person for help? Because Thomas Jefferson is a really, really old person.
  • The Internet of Terror
    • (08:10) The internet of things is the new cool buzzword, but nobody wants to reboot their house.
    • (09:17) The security story for the internet of things world is cartoonish. When your refrigerator starts sending spam, James will laugh at you.
    • (11:52) The first several generations of IoT houses will be terrible. Things will get better on a relative scale, but will always be terrible on an absolute scale.
  • Node.js
    • (13:32) James knows he’s in danger for dissing Node.js, but he can’t help himself.
    • (15:08) We’ll see the rise of the JavaScript Full Stack Developer, which could be powerful, but it’s also what Sauron wants.
  • Oslo
    • (16:10) Oslo is a wonderful city. It never gets dark, which makes you feel safe but if James was a criminal he would be all over the extended working hours.
    • (16:54) Shrimps are prawns, and unlike American shrimp they have legs and heads.
    • (18:06) French fries cost approximately one mortgage payment.
    • (19:42) James speculates on whether Oslo harbors some terrible secret. The condos look like lairs for James Bond villains.
    • (21:11) Jon saw a building with a big sign that said Edderkoppen, which he had recently learned means The Spider. Perhaps that is Oslo’s terrible secret?

Show Links: