Coraline: Taking care of how we are presenting ourselves to the world.

Jamey: The act of sharing and receiving information as a give and take.

Ashanti: Conversation flows much more freely when people are in safe spaces.

Transcript:

CORALINE:Support for the Greater Than Code podcast comes from the O’Reilly Fluent Conference. Be a part of what past attendees call a great center for modern web development and disruption and the best place to see the current state of the web. Fluent comes to San Jose June 11th to 14th, 2018. Use discount code GTC20 to save 20% on your Gold, Silver, or Bronze Pass. Learn more at FluentConf.com.

Hello and welcome to Episode 67 of Greater Than Code. I’m Coraline Ada Ehmke, one of the panelists today, and I am happy to be here today with Rein Henrichs.

REIN:Good morning. And I am here with Jamey Hampton.

JAMEY:Thank you. And I am very happy to introduce today’s guest, Ashanti. Ashanti is a Rust and functional programmer/enthusiast. They’re interested in using software to target fascism on the web. And they’re also interested in intersections of social justice with tech and how tech can be a good vehicle for this. They’re a non-binary person of color whose main interests out of technology include social justice that has intersections for all oppressed people. Welcome, Ashanti. Thank you for coming on the show.

ASHANTI:Thank you for having me.

CORALINE:All of your interests align with our interests and goals so well. This would be a great conversation. So, really looking forward to digging into the meat of it. But we have to follow our tradition here on the show and start off by asking you: what is your superpower and how did you discover it?

ASHANTI:My superpower, I would say, [inaudible] that I’m a bit funny on Twitter. That kind of works out in my favor. I discovered it because my brother discovered it, actually. So, I guess all [chops] go out to him.

JAMEY:It works on me. I follow you on Twitter.

ASHANTI:Thank you, thank you, thank you. Sometimes I think it can be a liability because I’m on it a lot and I sound really angrier than in person. I meet people in person and they’re like, “Wow. I thought you’d be way more angrier than you come out.” I was like, “Do I really sound that angry?” But I think I’m just okay.

CORALINE:I get the exact same thing. When I first met my girlfriend, she was like, “From Twitter I thought you were really militant. But you are just so kind and gentle.” And I’m like, “Yeah. I’m a nice person. I just have opinions on the internet.”

ASHANTI:Yeah.

JAMEY:Capital O, Opinions.

CORALINE:Yes.

ASHANTI:It’s the best place for it. I like the platform because it exposes us to a lot of different ideas and just a lot of people that think the same thing as I think. And I do adopt this community. Like, I haven’t met those people before. You just adopt this community of people who have like-minded ideas. It’s pretty great.

CORALINE:On the last show we recorded, we talked about Twitter briefly. And one of the point that came up was a question of, how easy is it to have a dialog on Twitter? Because I think in your case and in my case and other cases that we could definitely point to, we tend to state our opinions pretty strongly on Twitter. And I think some of that is just the form factor of the medium, right? It doesn’t allow for a lot of nuance in a given tweet. So, in your experience, is it possible to have difficult conversations on Twitter? Or is it more a vehicle for broadcasting your opinions and just finding people who agree with you?

ASHANTI:Having dialog on Twitter can be difficult at times, because – I mean, if you’re talking to somebody in real life you have all of those other elements of body language and all these other visual cues and they get the inflections in your voice. So, people are able to grasp what you’re saying much more strongly. With Twitter, it’s just text, right? So, you remove all of those elements and it becomes much more difficult to express the point that you’re making, pointblank. I would think Twitter is much more easier when you’re talking to people who have like-minded ideas, I think. But if it comes to talking to somebody who might believe something much more different than you, I find it’s very difficult in that sense because I don’t think you’d be able to communicate as effectively as you would do if you’re talking to somebody in the personal sense.

CORALINE:I think one thing that Twitter is good at is if someone engages with me on something that I’ve tweeted, I do have the ability to click on their profile and go back through their tweet history and get a sense of, okay, where are they actually coming from? Who are the people that they’re retweeting? Who are the people they’re following? What have they said in the past? And so, we can mine for some context. And that’s something you can’t really do in real life. You can’t say, “Oh, what other conversations have you ever had?”

JAMEY:That’s a really good point. Like, I find Twitter sometimes difficult to be like, “Is this person engaging with me in good faith or not?” And I do that. I go to their profile and see what kind of stuff they post to make a deduction about that. That’s a good way to think about that.

ASHANTI:Yeah, it’s a good way to filter because at times, I’ll say something about how much I don’t like Justin Trudeau’s current stance on promises that he breaks towards the First Nations, right? So, sometimes I’ll get retweeted by people at the right and they’re like, “Yeah, Justin Trudeau’s terrible.” And I’m like, “I don’t think I really believe in the same thing you’re believing in. And you think I believe in the same thing you’re believing in. Like, I hate him for a different reason than you would.” It’s good in that sense.

REIN:Sometimes it can be very easy. Hello anime avatar free speech person. Thank you for joining my mentions. Also, goodbye.

JAMEY:The people say the weirdest things to me on Twitter. Oh my god, bigots are very creative in the very strange ways that they have found to be bigoted to me that I would not have expected. Like recently, someone told me, are you ready for this? I hope everyone’s sitting down. Recently somebody told me that using ‘they/them’ pronouns was offensive to people who were mourning the loss of conjoined twins. And I was like…

CORALINE:Oh my god.

JAMEY: The mental gymnastics you just had to go through to accuse me of that. You should do creative writing, honestly.

CORALINE:Wow. I had someone. I made a joke about JavaScript frameworks which maybe I shouldn’t have made because it’s kind of easy, and someone replied, “Oh, so you like diversity among people but not diversity among frameworks?” And I’m like, “What does that have to do with anything?”

JAMEY:I can’t tell if that’s a joke or not. Because I feel like [inaudible] a joke.

CORALINE:No, they argued with me.

JAMEY:Oh no.

CORALINE:They went into this multi-tweet argument with me about like, “Oh, you only like diversity when it favors you.” And I’m like, “What?” It was so bizarre.

JAMEY:I didn’t realize you were a JavaScript framework, Coraline.

REIN:Just tell them to give you a 500-page essay on the difference between human beings and software.

CORALINE:But Rein, we are our code. I hate that. I hate that notion. Oh.

ASHANTI:It’s like people that call code sexy. Like that one irks me. I just always find that weird people try to equate code to like, try to humanize code. It’s weird to me.

CORALINE:Don’t interrupt amorphized computers. They hate that.

REIN:Still my favorite joke.

CORALINE:Yeah.

JAMEY:I feel like that joke comes up like once every four episodes.

CORALINE:It does.

REIN:We’re both in a race to see who can say it first.

JAMEY:No, but I agree with you, Ashanti. It’s not useful and I think it can e harmful because it makes you get weirdly attached to code in a way that you probably shouldn’t. Not you, but somebody.

ASHANTI:Yeah.

CORALINE:So, on the subject of Twitter, Ashanti I don’t know anything about your living circumstances but I know that for me as a trans-woman there really isn’t a trans community where I live that I am comfortable being a part of. And I doubt that there are in-person trans communities anywhere that I would feel comfortable being a part of. But what Twitter and social media in general has allowed me to do is find people that I do have things in common with that I also get along with and form a sort of community network that spans geography. And I’m really interested to hear if you’ve experienced the same thing in terms of the journey for your own identity and your work with anti-fascism and most social justice issues.

ASHANTI:Yeah. Twitter was actually a good vehicles in terms of just figuring out my identity as well. Because you do have resources on the internet, but what I found is when I’m going through all of this, I just didn’t know what to look at first, right? So, I just need to log on and say, “If anybody knows anybody who’s non-binary, can they send me a DM. I’d just like to have questions.” Then I would ask questions in the messages and they would direct me to all this source material. It was just really good as a – because not only did they offer source material, they also offered compassion, care, and just encouraging words, right? And Twitter was the right place for everything to come together. So, a few friends of mine DM’d me, directed me to resources. And I found that yeah, I was able to fully come to who I was. Because I always had these thoughts ever since I was young to now. But just for that [inaudible] transition to happen, I needed the extra push. So, it was really great in that sense.

The work that we’re doing right now, I’m working with Emily and Lizzie who are trans-women. She found me on Twitter as well. So, we formed this group on Twitter as well. And I found that most of the connections that I’ve made – I found my mentor on Twitter as well – so, all the connections I’ve made over the past few years have been through Twitter. I’ve made less connections in person and more connections on Twitter. But, and the question [that] comes again is, we are on Twitter but how safe is it for us to use?

CORALINE:Yeah.

ASHANTI:Each time you log on you have to deal with bigots in your mentions. And these people just come from nowhere, right?

CORALINE:Yeah.

ASHANTI:You just write something and you have some person already talking in your mention. So, Emily and Lizzie had this brilliant idea of what if we try to map out the crypto-fascism on Twitter to make it a much safer space? Because Twitter is not doing anything.

CORALINE:Yeah.

ASHANTI:Right? Like, they say they’re going to ban all of these fascists but they’re taking time to do it and Jack is just issuing apologies every time something goes wrong. And it’s like, we like this space so we want to help make it better. Another option would be just moving to another site, but moving to another site means you have to build up your community again.

CORALINE:Exactly.

JAMEY:I totally agree. I get why people are like, “I hate Twitter and I’m not using it.” But it makes me sad when people do that because I feel like I’m losing those people out of my community and it might be hard to reconnect with them.

ASHANTI:Yeah, absolutely. I feel like just making Twitter a much, much safer place would be great. Because in terms of developers, a lot of developers are on Twitter. I know a lot of people who got jobs on Twitter as well, right?

CORALINE:Yeah.

ASHANTI:The platform is big. But I don’t think they’re doing enough to make it safe. And yeah, because those people go ahead and even issued threats. Like it’s not just them saying something bad. Those people are very, very malicious. So, if w’ere not doing anything to make this place much better, then it’s like, what are we doing? We have the technology. Why aren’t we making this space much better? And it’s the eternal question. And it’s not me being an amateur developer when I say, “Jack should have the ability to do it. Why doesn’t he do it?” because we know him. We know he does have the authority. In Germany those accounts, you can’t see some of those accounts with the hate symbols on them, right? Like you’ve got screenshots where they use Twitter in Germany, you can’t see some fascist [inaudible], right? So, why do we see them here? Are we using free speech as a vehicle for these bigots to be able to harass us some more?

CORALINE:I totally agree with you. They have the technology to do this much more effectively. And anyone who’s ever received a threat on Twitter probably knows that there’s not going to be a consequence. The best outcome I ever saw for myself personally was they froze the person’s account until they deleted the tweet. And that does nothing for my safety. It just means that, “Oh, no one will be able to search and see that tweet.” But I still got that threat and that person is still on the platform. And I don’t understand what Twitter is doing. I don’t understand why they’re doing it. Is it because they’re these strong proponents of free speech or is there an economic incentive for them to allow hate speech on the platform?

ASHANTI:I think they want to express the idea of free speech. That’s what I think, because well this is just a hunch, but when you look at Jack’s followers and he’s following people like Mike Cernovich and just more alt right people, you tend to ask yourself a question like, “Why is he following them?” Because if you are following those people, you would see the abuse that them and their followers give. So, if I’m the CEO of Twitter and I’m following that person, I have to ask myself the question of, “Why am I still allowing this on my platform?” Is the idea that, “Okay, Mike Cernovich should be able to express himself without any [repercussions] from that”? Should we only take actions when things start to manifest themselves in the physicality? I generally don’t think so. I think if you see somebody being abusive on the site, you shut them out. Don’t let them use your platform at all, because they’re not making that place safe for anyone. So, when you see the CEO just being passive like, “Eh, okay. Yeah, perfect. Okay. Yeah, we’ll just let Milo abuse more black women and more people of color. We just sit like there’s nothing going on,” that’s where I’m like, “You got to ask yourself a question of okay, I think this might be ideological in a sense.” Because there’s also the idea that it can be both ideological and economical.

REIN:I think that he just fundamentally doesn’t care about the harm that his platform enables. And I think you’re right. He doesn’t have any business incentives to reduce it.

ASHANTI:Yeah. But it’s like, it’s damaging to the platform as well. People go in there and they – yeah, people who have built whole [audiences] and whole careers just off that Twitter profile, right? And this space is becoming much more dangerous and dangerous each day. I have an application that mines 4chan, because 4chan likes to do operations every day. It’s like operation this, operation that. And they use Twitter hashtags as a way to attack. So, you have all of these fake accounts creating a Twitter hashtag that just promotes all of these bad stuff. And you can see the lifecycle of the whole operation and how strong it is, the damage that it’s doing. But there are no incentives like that in the platform to make sure that these things are not being put to bed as soon as they start. Like an example is ‘cut for Bieber’. So one time, 4chan had this thing where they had a ‘cut for Bieber’ hashtag. And this hashtag was promoting Justin Bieber fans to cut themselves. And if I’m seeing that as a CEO, as a person who works at Twitter or a person who works at Twitter [inaudible], I shouldn’t even let it get to that point where people are actually doing those things. That’s what I think. I think letting it get to that level is just me being passive in a sense. But again, there’s also another aspect of, well, I don’t know how the system works. I’m just talking from the outside. But if these things have happened so many times, you got to ask yourself a question of what is the platform doing?

JAMEY:I totally agree with you. And I have a question. Because this conversation started with you saying that you and a few of your friends had gotten together to talk about how you can try to make the platform safer. And I’m wondering what your ideas are about that.

ASHANTI:Emily and Lizzie and I are working on this application called Nemesis. And what Nemesis does is it looks up Twitter for keywords. And after it looks up Twitter for keywords, it does an image search using certain keywords and it grabs the images and does some analysis on an AI machine. And the AI machine determines if it’s crypto-fascism or not. Because what fascists have started doing is they’ve started sneaking hate symbols in memes. Memes are shared all over. So, that’s a perfect vehicle for them to transport their fascism.

So, what we’re doing now, we’re just identifying it and we haven’t yet figured out the next step. Because you can identify it but you don’t want to have a system that’s automated and says, “Okay, this is a fascist symbol. I’ll report this.” Because what if you get false positives? That could be very, very damaging to label somebody as a fascist when your system is the one that’s actually the one that gave the false positive. So, we just want to find a way to map out fascism. We’re going to start with this but we’re going to build it up. The end goal would be to map out fascism across the internet, if we can. So, we’re going to start with Twitter then go whatever way we want to. And I guess, to answer the question of how can we make it much safer, is using such techniques, we can be able to look at patterns and accounts that are malicious and act very bigoted towards people. So, if we’re able to look at patterns and accounts, then I think we can be able to identify which accounts are dangerous and block them, if we can. Since Twitter wouldn’t do it.

CORALINE:I have a question about blocking. I know that there are a lot of shared block lists and there’s a lot of controversy about who ends up on a shared block list and people accidentally getting on block lists. And well-known people in the social justice place who may be discriminating against trans people in their block list. I personally almost never block, because – and this means that I see a lot of really bad shit. But I feel like that for my own personal safety, I need to see what people are saying because I need to know if they’re organizing something against me. I need to know if I’m doxxed. I need to know if I’m threatened. How effective do you think blocking is, coming at it from a safety angle?

ASHANTI:In my personal experience, the only thing that I use blocking for is if I just don’t want to see that account again because I don’t like what they’re talking about. Because I had a situation two years ago where I was on the platform and neo-Nazis got a hold of my information and started passing it around. And I realized that, “Oh, I could block them.” But that doesn’t really solve anything if they’ve still got my information. They could still pass it around themselves. Blocking the one you see, well that means I don’t have to see it. They’re still being malicious even though I’m not seeing them. Behind the scenes, they’re still being malicious. So, blocking in a sense, I guess it just gives me a clear mind to say, “I don’t have to see that account again.” But I guess you have to ask the question of, if an account is blocked, we have to ask why is it blocked and can we take further measures as a platform, to see what we can do about that.

JAMEY:I have a different perspective on blocking. I preemptively block people because I’m afraid that they will quote-tweet me. And blocking people prevents them from quote-tweeting you. And I don’t like that.

CORALINE:It does. But they can still log out, take a screen capture.

JAMEY:That’s true.

CORALINE:And this is not a hard technical problem. If I have someone blocked, they shouldn’t be able to see my tweets whether they’re logged in or not. And…

JAMEY:I agree.

CORALINE:Yeah. It’s ridiculous that that simplest of workarounds works.

JAMEY:I do think though, and I mean you’re totally right. I totally agree with you. And if someone takes a screenshot and tweets it, it still sucks. But I think there’s something more visceral about a real quote-tweet than a screen-cap. And I think it’s that it makes it so easy for their crappy followers to click on me. Whereas if it’s a screenshot they would have to type it in. I know that sounds stupid, but that really is enough if a difference for me that I’m like, “Nope. You’re blocked so you can’t quote-tweet me.”

CORALINE:So, when I worked at GitHub on the Community and Safety team, we had a retreat one year. And the team was supposed to be improving the safety of marginalized people on GitHub. And I won’t go into the whole politics of that and how that actually worked in practice, but at this one particular retreat, I brought up the idea of using personas which are kind of a regular tool that UX has introduced where you create sub-populations of users, give them a human name, and you could ask questions like, “How would Janet use this feature?” But I decided to take it one step further and not just talk about our ideal users but also the abusers on the platform. And that could be everything from people who are just misanthropic to people who are overt sexists to people who are stalkers and harassers. And we created personas for them. And normally with the persona, you say, “Okay, Janet’s goals are X, Y, and Z. How will we enable Janet to achieve her goal with as little friction as possible?” And conversely with the negative personas that we created, we asked ourselves, “How can we make it as hard as possible for these people to accomplish their goals?” And it seems like things like blocking, tools that are on the platform, introduce some friction for harassers. But if Twitter’s safety team considered the idea of increasing the friction to make it harder for abusers, not even getting to the point of banning them, but just making it harder for them instead of what we have today where anyone can harass anyone with no consequences and zero friction.

REIN:That’s interesting because that idea of assigning, well originally it was just names, to particular characters, that’s been used in the cryptography world since the late 70s. Like Alice, Bob, Mallory, right? Would you find that that was effective in modeling the threats and understanding the motivations and the capabilities of the people?

CORALINE:I think it was useful for us to ascribe goals to each other as people. Because I think we had previously been thinking about bad actors. And all bad actors usually are lumped into this category of simply bad actors. And that wasn’t very nuanced. So, thinking about it in a more nuanced way, especially if we have someone like the casual misanthrope – they’re not a bad person. They’re not setting out to make anyone feel bad. But they just have a rotten opinion of humanity.

So, one way we could introduce friction to prevent them from making GitHub unsafe for other people is, let’s say they’re typing in a comment on a PR, it would be technically feasible to do sentiment analysis of what they’re typing. And if the sentiment seems negative, we could not prevent them from making that comment but we could pop something up next to their text box that’s like, “Hey, remember to be constructive in your feedback. And also, here’s a link to the Code of Conduct.” So, there are ways that we could address bad conduct before it happened. And obviously if someone wants to be an asshole, that’s not going to stop them. But for people who weren’t thinking about what they were doing and are going to have unintended consequences, that little reminder could prevent bad behavior. And that’s not only adding friction to bad behavior but also saying, “Hey, here’s an alternative thing that you could do that would be behavior that we want to encourage.”

JAMEY:There’s an XKCD comic about YouTube should read back everyone’s comments to them out loud before they post them. And it has a picture of a little XKCD stick figure and he’s like, “Oh my god. I’m an asshole and I never knew!” But that’s what I was thinking about when you told the story.

ASHANTI:I like the way Facebook does it in terms of if you block a person. It’s almost as if the person has disappeared from the platform forever. You don’t see what they post. You can’t search for them. You [inaudible].

JAMEY:You can’t see their comments, yeah.

ASHANTI:Yeah, yeah. Because I think that was a bug in Twitter, [inaudible] to fix it a lot, but you can block somebody but you can search for them. So, if somebody’s blocked by you, they can still search for your handle and see conversations that are happening.

CORALINE:That feature on Facebook is good, but Facebook then conversely has a real name policy which is very damaging to a lot of marginalized people. I wish what would happen is for people who work in community and safety across various platforms, if they would actually talk to one another and share best practices. But they can’t because we tried to do this when I was at GitHub. We had a gathering of people who work in this field. And no one would identify what company they worked for because they couldn’t talk about what their community and safety efforts looked like. They couldn’t talk about any kind of political pushback they got within the company. So, everyone was anonymous. And until we figure out why safety is such a taboo issue to discuss in a corporation, the efforts to make social media safer, they’re going to fall down because no one’s learning from anyone else.

JAMEY:This is true in offline spaces too, I think. Like I’ve been trying to get together a group of people who run art and music venues in my city to share code of conduct policies and share what list of people we’ve had to ban from our space just so that we’re all on the same page. And it’s just impossible. It feels like it should be possible.

CORALINE:On the real name issue, I did see someone, a pundit and I won’t name them, on Twitter, the speaker last week saying, “Oh, Twitter could solve the Russian bot problem by requiring real names.” And that is a trash idea. And I think we all know it’s a trash idea but I’d like to discuss the nuances of why that’s a trash idea. Do you have opinions on real name policies, Ashanti?

ASHANTI:Yeah. Well, I guess from my perspective the reason why I don’t use my real name on Twitter is because being queer and being trans is still illegal in the country I’m from. So, if I’m using my real name, it’s easy for the cyber unit back home to easily catch me. They’ll just search for my profile. “Oh, that’s their real name.” And they’re going to see what I’m doing. And that’s [viable] for them to try and imprison me. So, in terms of real name, I think it attacks a lot of trans people and [inaudible] people that just want to stay low on the internet and people that fear they’re going to be persecuted. So, I definitely don’t support the real name policy. I feel that these spaces should be safe spaces and good enough spaces fro people to be able to express themselves. So, adding a real name is just making it complicated for everybody else. That’s what I think.

CORALINE:We should also mention that a real name policy negatively affects sex workers. So, sex workers and trans people and domestic abuse survivors. And I think only a privileged person could think that a real name policy is a good idea.

REIN:Who’s supporting it this time? An extremely rich white dude.

CORALINE:Yeah.

JAMEY:I’ve also seen native people get blocked from Facebook because they don’t think their names sound real enough. Just throwing that out there, too.

CORALINE:Wow.

REIN:I guess I can understand the motivation for wanting that policy. Just, if you don’t actually look at the real impacts of that policy versus what you want the impact of that policy to be, then you might think it’s a good idea.

JAMEY:I think that’s true of literally everything. Like you just said, a tautology for the universe. So, thank you for that.

ASHANTI:I guess it also brings into perspective how people that are making the decisions should be talking to a lot of people in the intersections. If that person was talking to a trans woman of color, I don’t think they would want to propose such a ridiculous idea. I think a lot of the spaces just don’t talk to a lot of us. And they’re like, “Alright. I’m going to think of this idea but I’m not going to think of how it’s going to affect black people or any other marginalized group.”

JAMEY:I think that’s a very generous take that if they thought about it, they wouldn’t do it the way that they’ve done it. And I like that it’s a generous take, actually, because I think it’s very easy sometimes to be like, “All of these people that are making these policies are completely malicious to me.” And I feel that way sometimes. And I know, I totally understand the temptation to feel that way. But I think that maybe that’s not always helpful. And it’s definitely not making my blood pressure at a safe level. And I think being able to step back and be like, “Maybe if there was better education people would make better decisions,” is like, I don’t know. Hearing you say it in that way was calming for me. So, thank you.

ASHANTI:There are times when I’ll be like, “Alright. This person is just being malicious.” But I mean, growing up and trying to figure out what gender identity I was, I think the education back home for gender identity is not as strong as I want it to be. Trying to explain my gender identity to some people that I grew up with is just like – they still accept me for who I am. But at the end of the day, they just, I guess it’s the first time they’ve ever heard of it. So, they’re like, “Wait a second. You mean you don’t identify as this or this? And you’re kind of in the middle?” And I’m like, “Yeah.” And they’d make the effort to understand it. And that’s what I like. But for some people, I just see them being malicious from the [inaudible]. I’ll just be like, “Alright. This person just doesn’t want to understand me and they’re just being extremely, extremely malicious.” So, I guess making the distinction is difficult.

CORALINE:Yeah. I think it’s…

JAMEY:I’ve had similar experiences. And I agree.

CORALINE:And I think it’s especially difficult online. But at the same time, being online and being visible means that you can also find people who do understand and maybe who have those things in common with you. When I was 24 years old, that’s when I first thought about transitioning. This was in the 90s. And there were very, very limited resources for trans people available online back then. And I found an IRC community that turned out to be really toxic and it actually really turned me off from a lot of transgender people. Not only did I not find community there but it was an actively hostile community. And for that and lots of other reasons I ended up not transitioning. So, things are definitely a lot better now with the resources we have in place. And I’m thankful for the existence of social media beyond IRC. So, I can find people that I get along with and that I share things in common with. But identity now is so much more nuanced because in the old days when there’s an IRC channel, you were there because you were trans. And it was a random sampling of the population that happen to be trans that were all lumped in together. And I guess the idea is that being trans would be so central to your identity that any other differences wouldn’t matter. But the differences did matter. My communities now are a lot more blended. I don’t have anywhere that I go where it’s like, “Oh, here’s where I’m going to talk to my trans friends,” or, “Here’s where I’m going to talk to my social justice friends,” or, “Here’s where I’m going to talk to my [inaudible] friends.” Everything is a lot more blended now, which I think is a lot more positive. But at the same time, it makes you a lot more vulnerable, too.

REIN:Can I tell you a quick story about that? A friend of mine was saying that he mentioned my – “Hey, do you know @ReinH on Twitter?” to one of his friends that I don’t know. And the friend’s response was, “Oh, the Twitter socialist?” Because apparently my socialism cred has surpassed my tech cred, even though I’m not much of a Twitter socialist. So, it was weird.

JAMEY:I think Coraline is hitting on something that I’ve struggled with, which is that I really in my heart deeply just want to get along with every trans person. And I feel like because we’re trans and we’re in the trans community, we should be friends. And that’s just not how it works at all. And I understand that logic…

CORALINE:[Inaudible] there Jamey and say there is no trans community.

JAMEY:I guess trans community was the wrong word. But if I meet someone who’s trans, I get like, “I have something in common with you. And we’re going to be friends.” But that’s not true because trans people are like, “I can’t believe it. We’re like, regular people. We have different opinions about other things.”

CORALINE:Yeah. And there are trans [turfs]. It’s mind-boggling.

JAMEY:It’s very confusing.

CORALINE:Yeah.

ASHANTI:Most of this is pretty new to me. And I found it difficult try to find, in the city that I’m at, finding an intersection between being non-binary and being a person of color. Because if you’re going to spaces – if I’m going to a space, I want it to be a safe space, not just for my non-binary part but for my blackness as well.

CORALINE:Yeah, your whole self.

ASHANTI:Yeah. So, you go into spaces where it’s like, “Yeah, this space is a safe space for my queerness. I could put it there. But I don’t know. It’s kind of, it doesn’t look like it’ll be very comfortable for a lot of black people that I know.” And you go to another space which is like, “Oh, let me go to this safe space for black people. But I don’t know how accepting it is for my gender identity.” So, just trying to find those intersections can be difficult, I find.

CORALINE:Is that easier online?

ASHANTI:Yeah, yeah. Because like you said, when you meet somebody online right off the bat you know who they are. Because I mean, a person online would tell you their full story just in their bio. And through that you can be able to get a sense of who they are. And even get a better sense through what they are writing on their social media. And I find online spaces are really great for that, because people do express themselves really intensely. And I find online was really great, because when I was going to the queer events and some events are not really that welcoming to PoC, I would text my friend. And I would say, “Hey, do you go to the same thing?” And they’re like, “Yeah. Yeah, this thing happens,” and they would give me advice based on that.

JAMEY:I feel like both Ashanti and Coraline have been hitting on something that I think about a lot, which is that a lot of our resources are just talking directly to other people and hearing about their experiences. I’ve particularly experienced this when it comes to medical transitioning stuff for non-binary people, which is still a pretty new territory for a lot of people and a lot of medical professionals, too. And I look online for advice and guides and I find myself in a Facebook Group where people are like, “This is what I said and this is what my doctor said and this is how it worked.” And I feel like a lot of this community is based around, “Okay. I had trial and error and I tried this. And now you try it and see what happens and then tell someone else what happened,” if that makes any sense. And Ashanti, when you were talking about reaching out to people on Twitter and then them sending you stuff to help you with your gender identity and stuff, I feel like that’s very similar to the experience that I’ve had online, connecting with other people and trying to figure stuff out. And I think that might be as close as I’m going to come to saying that anything is a quintessential experience, if that makes sense.

ASHANTI:It does. It does. And this is a segue into my next question. Okay, if anybody has ever been in such a situation, how difficult was it to transition while at work in your career?

CORALINE:I have a funny and a sad story about that. So in 2013, that’s when I made my decision that I needed to transition. And I talked to friends and peers about the fact that I was trans and I was planning on transitioning. And at the time I was mentoring a young woman here in Chicago who was head of the local Girl Develop It chapter. So, she knew that I was trans. So, I had this idea that I was going to transition but I didn’t have any firm plans. And we had our regular mentoring meetup and we were talking about our lives and what we were doing and she was like, “I’d really like for you to come and talk to the Girl Develop It chapter and give your open source talk.” And I was like, “Yeah, I’d be happy to do that.” And she said, “To be clear, I want Coraline to come and give that talk.” And I was like, “Oh my god. Can I actually do that? Is that something I’m capable of?” And I thought about it and I’m like, “Yeah. Okay, I’ll do it.” So at the time, I was working for a big company that I went to specifically because I hoped it would be a safer place to transition than the startups that I’d been working at. And I was really involved with the recruiting group because of my name and my network and so on. So, this Girl Develop It talk announcement goes out and I immediately get an email from the head of recruiting saying, “Oh my god. I had no idea your wife was also a speaker. We have to organize a whole group of us to go and see her speak.” And I was like, “Oh, fuck.” So, I wrote her back and I was like, “We need to have coffee.” And that’s when I told her that I was trans and I was planning on transitioning. And at that point, I had to go to my managers and tell them because I knew the rumor would just fly up the hierarchy. So, I met with my VP and told him. And he was like, “Oh, when are you going to transition?” And I felt really put on the spot. So, I was like, “March 1st?” And I just pulled the date right out of my head. So, March 1st came around and it was the most terrifying day, one of the most terrifying days of my life. I had my partner drive me into work and I had one of my female coworkers come to meet me in the lobby and walk me up. It was incredibly awkward for me and incredibly difficult for me. But I just did it. So, interesting thing. In January of that year, I got promoted to Principal Engineer at that company. In February of that year, I told them that I was going to be transitioning. March 1st I transitioned. And halfway through March, I was fired. Draw from that what conclusions you will.

ASHANTI:Holy shit.

CORALINE:I can also tell you that interviewing for a job when you have been transitioned for one month is the worst experience anyone can possibly have. It was horrifying. That’s my experience. Jamey, what’s it been like for you?

JAMEY:I’m sorry I laughed. Your story was very sad at the end. But I can’t get over this idea that you just picked a date. I wish I could do that. Just like, “Here’s the date. And after that date, it’s done.”

CORALINE:That date, that’s not very typical for a lot of trans people, because a lot of trans people tend to go through a – like for trans-women, they tend to go through this androgynous period and they may stay there. They may find that’s the most comfortable for them. But for me, I threw a switch. And literally, the last day of February I went to Goodwill and dumped off all my boy clothes.

JAMEY:Oh my gosh, that’s crazy.

CORALINE:And for me, it’s really nice having that clean break where it’s like, “From this point on, there’s no question. This is exactly who I am. This is exactly my name. This is exactly my experience.” And I celebrate March 1st every year as my rebirth day.

JAMEY:I celebrate the day that my name change came through legally, is the day that I celebrate.

CORALINE:Yeah.

JAMEY:For me, it was not – I don’t have a dramatic story like that. I have never worked in an office. I’ve always worked remote. I came out at my old job and I was like typing on Slack like, “Hey, guess what guys? This is what’s going on. And this is the name I’m going to use.” And that was mostly it. And nobody saw me a lot. So, it was just not very dramatic. So to me, Ashanti, to your question, when you were like, “Is it hard?” I kind of almost chuckled at that because obviously to transition is pretty hard. But to me, the work part of it has been kind of a background part. I’ve been much more focused on other parts. And I think I’m lucky to be able to save my focus for other parts that are important. Because I haven’t had to spend a lot of that energy at work. And I think that not working in an office and not seeing people on a daily basis is a big part of that.

ASHANTI:I’m preparing to go through that and I also work remote. So, I just want to I guess get a perspective of everybody’s journey through that. Because I do want them to know what I identify as and everything else that comes with the name change and everything else. But part of it that just makes me nervous is I’ve talked to those people and I know how they talk when I’m not at work. So, just thinking of well, “What is the response going to be?” in that sense. One way to say it is well, just don’t think about it whatever they think. But somebody like me with anxiety, it gets very difficult to go through that hurdle. So, I’m mentally preparing myself through everything that gets thrown my way.

CORALINE:Yeah. Literally anything can happen.

JAMEY:And putting yourself out there is really hard, but I think having a support system outside of the people that you work with can be a real blessing.

ASHANTI:Agreed.

CORALINE:I wish you the best of luck, Ashanti. And I hope you have a really good experience with it. And I hope that where you work is a safe place for you. That’s my biggest wish for you. Because what you’re going through, what trans people go through, is absolutely life-changing. And for me, transition’s the hardest thing I’ve ever done. And I’m not done with it. It’s four years later and I’m still struggling and still learning and still growing. So, I just wish you the best of luck. I hope it’s as smooth as possible for you.

ASHANTI:Thank you.

REIN:So, this is the part of the show where we like to talk about what we’ve learned or what we think was important, what we want to take with us from the conversation. And I’ve really enjoyed this conversation. And I would like us to share some reflections about it. So, I as a cis-person can’t relate very much to the trans experience. But I like to be around so I can listen to people who are discussing it so that I can get a better understanding. And so, any chance I have to just be a fly on the wall and listen to these conversations, it really helps me to understand what the world is like and how other people feel. So, that’s been great for me.

CORALINE:I think one of the things that I took from this that I want to think about a little bit more, and it’s something that you said, Ashanti, about reading someone’s Twitter bio and knowing about them. Twitter bio for me, it is a statement of one aspect of who I am. But of course, we’re complicated creatures and we have overlapping identities. And I want to think about, how can I fit everything that I am, everything that I want someone to know about me, into 200 characters in my Twitter bio so that they don’t think that I’m just this militant social justice warrior but that my identity is more nuanced than that. I think we have to take care with the way we’re projecting ourselves onto the world. And open ourselves up to different conversations and different situations by being nuanced about how we present ourselves. So, that’s what I’d like to think about a little bit more. How about you, Jamey?

JAMEY:I feel like what I’m thinking a lot about right now is this act of sharing information that I think almost every aspect of what we’ve talked about today has gotten at. And I think of myself as having received a lot of really great information from people. And I feel thankful for that. And I guess I’m starting to see it more and more as a give and take where it’s like I’m getting information from someone and I’m passing on other information to someone else. And I think that’s kind of beautiful because you’re passing information but you’re also passing some sort of human connection when it happens. And I guess I got thinking about that on the show because I feel like I’m still in a beginning point in my transition. But actually listening to Coraline, we’ve been transitioning for about the same amount of time, and I guess I had never thought about that before. And then to talk to you Ashanti, someone who’s kind of entering into this phase of their life which is a very exciting and a very scary time, and it was interesting to me. Because normally we ask questions of our guests. And I thought it was kind of cool and interesting that you asked questions of us and we were able to have this really back and forth dialog about it.

CORALINE:Yeah.

JAMEY:So, that’s kind of what got me thinking about this never-ending passing information around this giant circle so that hopefully everyone will get it eventually. And I like thinking about it that way. So, I think I’m going to try to think more about that metaphor and how it might serve me and hopefully other people in my community in the future.

ASHANTI:Having this conversation today is just a testament of how conversation flows more freely when people are in such a safe space, right? This space that we have, the four of us, is very safe for me. And I feel like I can be able to express myself much more freely. And this goes back to the Twitter conversation that we had of people sharing like-minded ideas. And you feel as if you can share those ideas much more freely because of the community that you create with all the people that are going through the same thing you’re going through. It’s a safe space that you have. And I feel like it was very educational in the sense of Coraline and Jamey giving me their experiences. And I feel like it’s preparing me for what’s going to come forward. And I want to look at it in the face when it does come to hit me.

CORALINE:Thank you very much, Ashanti. This has been a great conversation. And I’m really glad to hear that you felt safe here.

And I want to remind our listeners that we’re listener-supported and that conversations like this only happen because people like you pledge to support us. Go to Patreon.com/GreaterThanCode, pledge at any level, and get access to our Slack community of listeners and panelists and guests to continue the conversations that you’ve heard here in an online setting. So, thank you to everyone. This has been a great episode and we will talk to you again very soon.

JAMEY:The other panelists and I have some really exciting news that we’re looking to add some new panelists to our show and we think that maybe it could be you. We’re particularly looking for people of diverse backgrounds who feel that they could bring a unique perspective to our show. We’d especially love to hear from people of color, or people living outside the United States who’d be available to record with us at noon, Eastern Standard Time on Wednesdays. If you’re interested, here’s what you should do. Listen to one of our shows. You know how we do our reflections at the end? Record yourself giving us your reflection on the discussion from that episode. Tell us a little bit about yourself and give us your perspective. Then send us a link to your audio or video file at panel@greaterthancode.com before March 16th. We cannot wait to hear your reflections. We can’t wait to hear about you. We can’t wait to start working with some of you. Thanks so much, and looking forward to hearing from you.

To make a one-time donation so that we can continue to bring you more content like this, please do so at paypal.me/devreps. You will also get an invitation to our Slack community this way as well.

Amazon links may be affiliate links, which means you’re supporting the show when you purchase our recommendations. Thanks!

]]>Support for this episode of the Greater Than Code podcast comes from the O’Reilly Fluent Conference. Be part of what past attendees call “a great center for modern web development and disruption,” and “the best place to see the current state of the web.” Fluent comes to San Jose June 11 to 14, 2018. Use discount code GTC20 to save 20% on your Gold, Silver or Bronze pass. Learn more at fluentconf.com

Coraline: Taking care of how we are presenting ourselves to the world.

Jamey: The act of sharing and receiving information as a give and take.

Ashanti: Conversation flows much more freely when people are in safe spaces.

Transcript:

CORALINE:Support for the Greater Than Code podcast comes from the O’Reilly Fluent Conference. Be a part of what past attendees call a great center for modern web development and disruption and the best place to see the current state of the web. Fluent comes to San Jose June 11th to 14th, 2018. Use discount code GTC20 to save 20% on your Gold, Silver, or Bron]]>

Support for this episode of the Greater Than Code podcast comes from the O’Reilly Fluent Conference. Be part of what past attendees call “a great center for modern web development and disruption,” and “the best place to see the current state of the web.” Fluent comes to San Jose June 11 to 14, 2018. Use discount code GTC20 to save 20% on your Gold, Silver or Bronze pass. Learn more at fluentconf.com

Coraline: Taking care of how we are presenting ourselves to the world.

Jamey: The act of sharing and receiving information as a give and take.

Ashanti: Conversation flows much more freely when people are in safe spaces.

Transcript:

CORALINE:Support for the Greater Than Code podcast comes from the O’Reilly Fluent Conference. Be a part of what past attendees call a great center for modern web development and disruption and the best place to see the current state of the web. Fluent comes to San Jose June 11th to 14th, 2018. Use discount code GTC20 to save 20% on your Gold, Silver, or Bron]]>

Jamey: Consciously make space for people who don’t speak as loudly as other people.

Sam: Learn something new every day.

Allison: How different people want to work remotely and how we can create an open way to actually do that.

Transcript:

SAM:Hello and welcome to Episode 66 of Greater Than Code. I am Sam Livingston-Gray and I’m here to introduce Jamey Hampton.

JAMEY:Thanks, Sam. And I’m happy to introduce Coraline Ada Ehmke.

CORALINE:Hey, everybody. We have a very cool show today. We’re talking to Allison Kopf. Allison is the founder and CEO of Agrilyst, the virtual agronomist powering the horticulture industry. Agrilyst won the highly coveted Disrupt Cup at TechCrunch Disrupt in San Francisco. She was named the 2016 Changemaker of the Year by the Association of Vertical Farming and Entrepreneur of the Year by Technical.ly Brooklyn. She studied Physics at Sta. Clara University and once built and 800-square foot solar-powered home for an international competition. In the summer you’ll find her playing third base for about three different co-ed softball teams. She’s pretty focused on getting a dog at some point.

I played first base, but not in softball. In music. So, I’m really interested to hear what third base is. That’s a term I’m not very familiar with. Hi, Allison!

ALLISON:Hi. How’s it going?

SAM:So Allison, of course the first thing we usually start the call with is our now-famous question, what is your superpower and how did you acquire it?

ALLISON:The thing that came to my mind that I am oddly very good at but it’s only helpful on certain occasions is that I can make really hectic and unplanned situations work out, not always for the better, but work out.

JAMEY:What does ‘not always for the better’ mean?

ALLISON:I think a lot of people will always give a situation where they’re in the airport, they’re about to miss their flight, they end up getting an earlier flight [inaudible]. I always just make the flight. So, I’m very focused on having the situation end up positively but not necessarily always better per se.

JAMEY: Do you have an example of this? I mean, you just told an example about a flight, but like a specific example?

ALLISON:Yeah. This is a flight story, but I was heading to a conference in Milan after a conference in New York. It was one of those days where you just didn’t look at any of the details before you got on the plane. And so, you manage to forget that you’re flying internationally. So, I didn’t set up any of my bank accounts or have a phone number that worked. I had no phone because I forgot to charge it because I was at a tech conference before. So, I had no money, no way of getting money, arrived in Milan and thought, “This was a good trip. I’ve got to turn right back around because I don’t know where I’m staying, I don’t know where the conference is, and I have no way of getting there.” Panicked in the airport for a good 45 minutes or so and managed to somehow get enough money to get into a cab. And I had remembered the hotel name but not the conference name, and so jumped into a cab heading towards the hotel, which then I saw out of the corner of my eye the convention center I had to be at, pulled in, and like a bat out of hell ran in and gave a talk five minutes later. And so, figured it all out. Again, not necessarily for the betterment of my stress levels but gave the talk and then got to spend the afternoon breathing.

CORALINE:Wow. I would have died. I think I just would have died.

SAM:I’m having a panic attack right now just hearing about it.

ALLISON:It was pretty panic-inducing. I definitely had a bit of a panic attack and thought I was just going to turn around and fly home.

CORALINE:Yeah. And travel is so stressful anyway. I’ve traveled a lot this week as well. And I try to take this approach to traveling where I’m like once I’m at the airport it’s like, “Okay. Lots of things happen. But I know that eventually I will arrive.” And I try to make it easier on myself by always flying out the day before and always leaving a couple of days there. And I’m a very disorganized person, so I rely pretty heavily on lists. And I have this outlined document that’s like, “Hey, did you remember a brush?” But yeah, travel is so stressful. And I cannot imagine what I would have done in your situation. I hope the talk was well-received.

ALLISON:I hope so as well. This was a few years ago. The mentality that you go into with that situation is one that I level out, which is the Stockdale Paradox. I don’t know if you’ve heard of it. He was a prisoner of war and he kept getting asked, he survived the war, and they asked, “What was it that got you through?” And a lot of prisoners had said Christmas is actually like this feeling of family and security, was a thing they held onto pretty dearly. And he said, “No, it was just I was so confident that there was never a doubt in my mind that everything was going to work out.” And I said, you’ve got to be pretty mentally strong to have that feeling. But once you do and once you’re secure in, “Okay, everything could go wrong but at the end of the day things are going to be okay and it’s going to work out,” it’s very mentally calming, at least for me.

CORALINE:A friend of mine just gave me a tool. My coauthor Naomi Freedman gave me a tool that I’m going to be trying to use. And she said treat every day like it’s the day you’ve chosen. And I like that a lot, because you find yourself with bad circumstances. You find yourself with some kind of challenge. And it’s easy to feel like the victim of fate or that the universe is out to get you. But if you take the perspective that, “No, these are the circumstances I’ve chosen and I’m going to do what I want with them,” I think that can be really freeing.

ALLISON:I love that.

SAM:Whereas I have a friend whose mantra is, “Nobody’s shooting missiles at me. I’ll be okay.”

CORALINE:For now.

JAMEY:What if someone was shooting missiles at them? Then what do they do?

SAM:I believe standard procedure is to jump up very high and distribute yourself across a wide area. Wait, no. That’s landmines. Sorry.

CORALINE:I carry decoys for exactly that reason. I can launch decoy Coralines out of my backpack on demand.

JAMEY:I’m just imagining like, it’s already a bad day if someone’s shooting missiles at you, but also being like, “Now my mantra doesn’t even work.”

SAM:Right.

ALLISON:There’s apparently an area on the Gaza Strip that they incentivize startups to locate there with pretty big financial benefits or tax breaks because of the threat of continual missiles.

CORALINE:Wow.

SAM:So, entrepreneurs are risk takers anyway? Is that the theory?

ALLISON:Might as well, I guess. I would not. Jamey, just so you know, I’m not moving us to the Gaza Strip.

CORALINE:We feature ping pong tables, a full bar, and a concrete bunker as our employee benefits. So Allison, I’m really curious. How did you get into agriculture?

ALLISON:I got into agriculture a little bit randomly, but it sort of makes sense in hindsight. But I got into agriculture through the solar industry. I was working in the Bay Area with a number of solar companies right around 2009, 2010. And right at that time the Chinese market was sort of starting to flood the US market on pricing. And so, a lot of the companies that I was working with were trying to raise their follow on investments and start to scale the technologies but they just couldn’t compete on pricing. And so, I was sort of starting to look at what was next for me.

And fortuitously I’m at a company that was blending both the business model from solar with agriculture. So, the idea that if we can build localized farms and take advantage of a triage opportunity and distribution from the west coast where most lettuce is grown or most tomatoes are grown in Canada or Mexico, and build locally towards the east coast, we’ve got a real business opportunity there. But it’s really capital-intensive to actually finance the structure of a high-tech maybe greenhouse or vertical farm or some [odd]. And so, they financed it the same way that solar was financed. They would enter into long-term fixed price agreements with supermarkets or a buyer, which enabled them to de-risk a lot of the operational side of things and actually secure traditional financing like a loan to finance the operation, which made it way more affordable than people were financing in the decades previously.

And so, I knew nothing about tomatoes. I knew nothing about lettuces. But I was really excited by this application of a business model that I loved, a technology that was really interesting, and also food which I like to eat. I think most people like to eat. But we also have to out of necessity each which is great from a business standpoint, because it means it’s an industry that probably isn’t going anywhere anytime soon. So, I joined that company and a few years later started Agrilyst after getting my feet wet working on the farm.

CORALINE:So, what is it like to work with you at Agrilyst, Allison?

ALLISON:What is it like to work with me? That’s a good question for Jamey. I feel very strongly that there’s a really interesting culture going on in startups right now. And you can see that a lot in Silicon Valley. I was just out in San Francisco this weekend. And it’s just palpable how different the culture of startups are in San Francisco as opposed to beyond Silicon Valley. And one of the things that I set out to really create when I started Agrilyst was a culture that almost was pretty opposite I’d say from Silicon Valley in that we’ve built a culture around a company that is out to solve a really big problem. We’re trying to make farms profitable, which is a huge challenge. And it involves a lot of different aspects from sales to operational management to labor management to inventory control.

But upon the fundamental thesis that if these farms become profitable the industry as a whole can sale, and as a result we’ll end up having fresher produce, we’ll have safer produce, we’ll have a consistent supply when we don’t know if we’re not going to have that supply. And so, we’ll end up having food when the population has grown too large to even supply at our current pace. And that thesis and the fundamental thing we’re trying to set out to do, we wanted to build a culture around that and bring on people who were excited by this. Not necessarily Ag specialists or folks who understood the industry in any real detail, but folks who were excited about food, excited about safety, excited about using data to actually help people as opposed to necessarily just replacing them.

And so, that was the first and foremost tenet of how I wanted to build a culture around. And then as far as what it’s like to work with me, I’m hugely competitive. I like to win. But I also really like helping other people level up or win in and of themselves. And so, I hope that my management style is really just bringing on people who are excited and talented and smart and can get the job done, but want to grow and want to increase their skills and want to contribute in a way that I can help them do.

SAM:So, is there a particular team culture that you are striving for? And if so, how are you working on making that happen?

ALLISON:There’s a few things I think that make up our culture. We’re a remote-first team. So, especially on the engineering side. So, we have folks everywhere from Hudson Valley to Jamey’s up in Buffalo. And now we have somebody in San Francisco and somebody in Montana who just joined. So, we’re pretty far spread out as far as our engineering and product team. And then our sales team right now is located in New York. But as we start to expand our customer base and start to grow, the location of our sales team also. We’ll start to stretch out as a remote team as well, is my guess. And so, building a remote culture I think is really important to us. And ensuring that we have inclusion and communication strategies that really allow everyone to be at their fullest. So, that’s one thing that’s important to us.

Another thing I think that’s really important is how we handle work load. It’s really important to me as a founder that we don’t have team churn like a lot of companies in Silicon Valley do. We want to have people stay with us for the long, long haul. And so, creating a culture where we’re working as much as we can and need to but we also recognize that when you’re not in the office or you’re not on Slack, you’re not working. And so, we try really hard to not get to a point where everybody’s burned out really quickly.

I think those are two of the big things that are important to us. I think inclusion and diversity is incredibly important to us. It’s one of our core values and building a team that looks and thinks and talks and behaves differently than each of us and having somebody who can contribute in different ways is incredibly valuable to a business but also to our team. So, we’re pretty proud of the culture that we’re building there. I carry that through not just for our team but also for outside stakeholders as well. So, when we think about investors and bringing on investment, we think about inclusion and having – our seed round I think was 50% of our partners were all women. And so, trying to bring on gender diversity or racial diversity or geographic diversity. We’re not all located in New York or Silicon Valley. So, those are things that are pretty important to us as a team.

CORALINE:The company I work for, Stitch Fix, is going through a rapid hiring phase. And one of the things that I’m struggling with is when you have a company with a strong set of core values and a strong sense of consistent culture, how do you effectively transmit that to new employees? I think that it’s a real danger when you bring on new people that can be disruptive. They can disrupt you in a positive way, certainly, but also in a negative way. How do you transmit the values and reinforce the culture when you’re hiring new people?

ALLISON:Yeah, that’s a great question. I also, side note, have a Stitch Fix that just arrived at my apartment. So, I’m excited.

ALLISON:That’s a great question, though. I think part of this happens in the hiring process itself. So, we’re big fans of including not just the hiring manager or whoever will be working with this individual in the actual hiring process itself. So, engineers often will talk to somebody on the sales team. Well, we only had two teams for a while. But now we have customer success as well, so we can bring in people from other teams to help judge the individual based on our core values and seeing if there’s a culture fit there. Second, I think that it’s also really important to have core values that are really important to the team but are also flexible enough to grow with you as a company, but still hold true in their original intent and meaning.

So, an example of that, one or our core values is centered around respect and trust for each other. That’s something that will never change. If somebody comes on our team, is not respectful of our teammates or customers or our partners, they probably won’t make it at our company very long. And that’s something that holds true but it’s also generic enough and general enough that as we grow, that can start to take on different meanings as we start to build the team. Because I think one of the struggles for startups is you can definitely grow too fast and continuously change and change what you stand for and change the business model and pivot and add people who just don’t stand for the things you do. But the flip-side to that, which is also a challenge, is we’ll keep doing the same thing you’re doing forever. And then you almost lose the benefit of being small and nimble and able to scale in a way that big, corporate companies can’t do. So, there’s some middle ground there where we try and choose core values that are able to grow with us as a company but are also steadfast in the original tent. So, we aim to respect and trust and believe in each other as a team. But that can also grow as we grow as both a team and company.

CORALINE:When you’re hiring, how do you evaluate what the core values of the interviewee are?

ALLISON:So, we actually do different types of interviews for each candidate. But every single candidate that goes through our interviewing process will go through a core values type of an interview where the entire intent of that interview is to determine as much as you can. Now I know that you can’t really determine everything in a single interview, but as much as you can if there’s a core value fit. And so, what we’ve done is we have our core values broken down into, “What does this mean for us? How can we implement this in the office?” And then we try and come up with questions that sort of hint at things along those lines. And we try to just have a conversation, really. I think this is really important is, how do you just have a conversation with the person but aiming to answer those questions?

And another core value of ours is – I’ll give you two examples, actually. One of our core values is default to curiosity. We want people who are curious by nature. And you can tell from a conversation as you’re digging in if the person’s asking really interesting questions, if they’re digging into things, if they’re not just trying to answer questions, bang out questions like a standard interview would – or in my opinion, a standard interview would. If they’re really trying to engage and go into questions. Alternatively, they can answer questions that happen to do with their work history and how they dug into certain things, how they’re trying to learn new skills. And those types of things sort of hint at a curious persona.

And similarly, one of our other ones that’s a little bit more, I wouldn’t say testable, but testable, is we want folks who are aligned but not necessarily agreeable. And so, we want you to actively disagree with things that we say and question the things that we do on a regular basis. But at the end of the day when the team has figured out the direction we’re going down, we need to all be on the same page and ready to kick out the wheels. And that is something that you can sort of tell by interactions with prior managers or disagreements with company direction and things along those lines.

JAMEY:I love the idea of actively encouraging people that have disagreements. I think when we talk about core values alignment, it’s almost a hard thing to talk about. Because on the one hand, yes, you want people that when your core values are things like respect, it’s very important. But sometimes, I feel like there could be a worry that’s like, “Well, are we just hiring people that already feel exactly the same as us?” And depending on what your values are, you could be doing that or not. So, I like this idea that one of the – inside the values themselves, it’s like, “Well, we want people who are going to challenge us on this.” And I think that’s one of the great things about bringing new people on and into an organization is, “Okay well, someone might have a different way of doing something and maybe – are we doing it our way because we have really solid reasons or are we just doing it our way because that’s how we’ve always done it?”

ALLISON:Yeah. And using core values as a framework as opposed to a platitude maybe, I think a lot of companies, you’ll often walk into an office and see core values strewn around the walls. But you can’t actually recite them because you don’t know them because you don’t really hold true to them. And if they’re more of a framework for the person that you want or the partner that you are looking for or the way that we run the business, they end up becoming way more memorable because you actually are using them on a regular basis. So, when we think about respect and inclusion, well we’re a remote team. So, what does that mean for how we interact in Slack? And how do we involve everybody as opposed to just people who are in the office? And those types of things are really important to how you drive not just culture, but just the way the company behaves, I guess.

SAM: I also really like that idea of looking for those disagreements because if you can find one of those, you will also find out very quickly whether this person has the skills to disagree respectfully.

ALLISON:Yes.

JAMEY:Totally true.

ALLISON:I very much agree with that.

JAMEY:I feel like disagreeing respectfully is a skill that we’re losing in general, recently. I feel like more and more people are like “Well, I disagree with you and therefore we can’t get along.” And there definitely are things in life that if we disagree on, then we can’t get along.

SAM:Right. Someone’s basic humanity, right?

JAMEY:Yeah. I have a list of those, for sure. But I feel like there are a lot of other things that I could just be like, “Okay, well I disagree with you.” I disagree with you about whether or not The Last Jedi was a good movie and we can still be friends. And I feel like people are losing that.

CORALINE:Can we? Can we though?

JAMEY:Coraline, we really can. I promise.

CORALINE:Okay. I think that’s a great point, Jamey. And I think some of it’s kind of a defense mechanism. And I think social media exacerbates it because people are expressing opinions in a very loud and very prominent way. And it’s really impossible to tell if someone tweets something at you, is this a core belief that they hold or is this an opinion they’re expressing?

SAM: Or are they even engaging me in good faith?

CORALINE:Yeah, exactly. And I know that for me personally, I’m loath to engage with people because I don’t know how strong that opinion is held and how much it’s a reflection of their core being versus “Oh, I had this idea that I thought I’d share” and it might be contrary to the way you think. I think I default to getting really defensive and not wanting to engage.

ALLISON: Yeah, and there’s totally an emotional versus logical thing here too, I feel like, in the current political climate. And everything has become so emotionally charged. “This is how I feel. This is what I believe. And therefore, anybody who doesn’t feel the same way isn’t going to listen to me and therefore I’m just not going to engage.” As opposed to the logical argument which is, “This is how I feel and believe. But I also recognize that there’s people out there who don’t feel the same way. And I become stronger in my opinions if I learn and listen to those other opinions.” There was a really good NPR segment actually a few months ago on this exact topic and how debates, and especially political debates, have just become completely not an actual debate in any logical format. They’re just, “I’m yelling about this thing because I know my base is going to listen to me,” and, “I’m yelling about this other thing because I know my base is going to listen to me.” And then the resulting echo chambers that occur and how it’s really lost a lot of the benefit that is a debate and how you can learn from other people.

JAMEY:I think the thing we’re missing is some people have just decided that they’re not going to learn. And so, it’s really hard to – you can’t debate with someone who’s not going to learn. And it’s not useful for them because they’ve already decided. And it’s not useful for you because you’re wasting energy on someone who’s just going to dig their feet in. And on the internet it’s really hard to tell which group is which.

ALLISON:Yeah.

CORALINE:I think some of that’s reflected too in work cultures, though. I worked at one company where they actually explicitly said, “We believe in strong opinions loosely held,” and how that manifest was a lot of people in rooms shouting at each other and defending arbitrary positions because they trusted that if someone was able to change their mind, that that would be more correct than the opinion that they held. But unless you could shout them down, you weren’t going to be heard. And that was a pretty awful environment for me, and for other women on their team, because we were not comfortable interrupting people. We were not comfortable raising our voice in a loud and threatening manner. We favored collaboration. And that kind of environment, there was no potential, there’s no possibility for collaboration.

ALLISON: I don’t know if it’s even necessarily gender. Like certainly people just don’t want to fight. They don’t want to have to fight to be heard. And in a work setting, I don’t think you really should have to fight to be heard. And this is especially true in smaller companies. So, we’re a team of about 13 right now. But just a few months ago, we were less than 10. And at less than 10 people, everyone was brought onto our team because they can and should be contributing. And because they bring something to the table that we didn’t have before. And so, when we brought on Jordan who was our first designer, we had nobody looking at design. And so, if he said to us, if he stopped talking because we were just talking over on design, that almost is the exact opposite of why you would bring somebody on who has design experience. And same goes for any role on especially early stage teams. But even as you get larger, if you were brought onto a team, you should have been hired because they need a skill that you can bring. Even if it’s just, “We need more of that skill,” you’re bringing a skill to the table, and hopefully more than just skill, to contribute. And so, in my opinion, you shouldn’t have to fight to be heard when you want to bring ideas to the table.

SAM:Yeah. It seems like you shouldn’t just hire for a skill but also ideally for a perspective. And if people can’t contribute their perspectives because the working style is not conducive to that, then you’ve kind of failed.

CORALINE:One of the really important things for me in a working environment is very clear boundaries between work life and home life, which I think is really challenging in a remote culture where you’re relying on asynchronous tools like Slack and [inaudible] to a heavier degree. And I actually had feedback from my boss because he would get so behind during the week on his to-do list, he would take work Saturday morning to catch up and send out a bunch of emails. And I told him that that creates this impression on other team members and people who report to him that they needed to be responding on a Saturday and that there was an expectation of working beyond business hours. And I think that’s more true in a startup where you have a lot more tasks that you’re juggling. So, is that something you’ve dealt with at your company, Allison? And how do you reinforce those boundaries and keep people healthy and happy?

ALLISON:Yeah, yeah. I think about this a lot. And I think about this a lot not just from a team perspective but from my personal perspective because I’m really bad at this. But I’m also in the founder role and so I innately just am thinking about this in a way more significant way than I would expect of anybody else. But one of the things that I’ve been thinking about a lot lately is the difference in work expectations inherently in different types of roles. And I find that this is so much more of a challenge for the engineering culture actually than it usually is for sales culture. Sales culture, because they’re so quota-driven, they have a structure that they’re innately going to fall into. And that may make them available at certain odd hours. But it also means that I’m going to front-load as much work as I can so that I can get to my quota or close to my quota and set myself up so that my month is successful. And then only when I get towards the end of the month, if it’s not going the way that I had scheduled for, do I run into this time crunch and start to potentially put in over hours.

Whereas especially a remote engineering culture, you have folks relying on asynchronous tools. You have the lack of somebody else getting up every day. So, just somebody walking around. If you’re not working out of a co-working space, if you’re just working out of home, my biggest struggle when I work out of home is nobody else is getting up for lunch. Nobody else is getting up to go to the bathroom. Nobody else is just talking to me throughout the day. And as a result, I end up getting into the zone, which is good from a productivity standpoint but only for the short-term. And so, I’ll end up putting in maybe an extra three hours where I could have gotten up, done something a little bit to break the day, and then gotten back into work or even just stopped for the day, depending on what time it is or what level of productivity I’m at. So, I’ve been thinking a lot about how we can manage this really well from the get go. And a lot of it has to do with a company where I’ve specifically, every time a new hire comes on, I specifically say “This is Slack. This is how we use it. When you’re done for the day, turn it off. Turn off notifications. Don’t let notifications come on.” And I specifically say that I’m really bad at this and there are occasions where I will ping you while I’m traveling and it’s a different time zone, or while I’m thinking about something. And one of the things I’ve had to get better at, and I want anybody who’s on our team to be really good at, is – and I know that I’ve done this to Jamey for so many times so I’m laughing as I’m anticipating their face during this segue – but I will ping you and say “Hey, this is a thing I’m thinking about,” but not “Hey, this is not something that’s urgent. Don’t do this thing. I’m just thinking about it.” And so, I think it’s a really important thing to set expectations especially while working not in person. It’s really easy for people to message you and you to immediately think, “Okay, this is now something I have to do,” or, “This is now something I have to put mental attention into.” And being really thoughtful about, “This is not an urgent thing, this is not even a to-do thing, this is something I’d love to brainstorm at some point or this is something I’m thinking about,” or on the flip-side, “Hey, this is urgent. Something’s breaking. We need to all pay attention to this,” whenever we can. “Let’s set up some time to talk about this whenever everybody’s available,” and just being really incredibly thoughtful about that. And then how do you structure that for different types of roles, whether it’s remote, whether it’s engineering, whether it’s sales, whether it’s anything in any of those categories? And how do we have really clear objectives as a team so that we know what the things that we’re supposed to be working on are? And that way, when things come up that are irregular, we can say, “Look, this is irregular. We’re not focusing our attention on this.”

JAMEY:I agree with the boundaries on Slack. I don’t turn off my Slack notifications, just so you know. They’re on all the time. But I think one of the benefits of working remote is being able to set your hours. We have someone else on the team who very often will put in hours at around 10 at night because he has a small child. So, he’ll stop earlier and then work later. And that’s really convenient for him and I’m glad that he’s able to do that. But at first it was like this friction, because I would get a message at 10 at night and be like, “What is this?” And I think communication is really important, because he was like, “Oh, look. I’m sending you this because I’m working. I know you’re not working at 10 at night and if you respond to me at 10 at night, I’m going to be like what is this?” So, I think that being explicitly on the same page of those things is really important. So, I agree with you. That was a long way of saying that I agree.

ALLISON:And it’s especially hard if your remote culture isn’t in the same time zone. As soon as you break time zone, then all of a sudden people are available at my 10pm because that’s their X am. And so, the second that you’re thinking about expanding beyond just one time zone, you have to get even further into the mindfulness of availability.

JAMEY:This is really funny to me because time zones are stereotypically thought of as one of the hard problems in engineering from a code standpoint. And I literally was working on a time zone problem this morning. And so, it’s funny to me that time zones are just a problem in all possible walks of life.

ALLISON:Yeah.

SAM:Right. And from a remote culture standpoint, they are intractable. You’re always going to have to deal with them.

ALLISON:Yes. And even from a culture where, even just a sales culture where our customers aren’t in the same time zone, too. We don’t have the luxury of having a million customers in New York state, so we by nature are in, what are we in now, 10 different countries. And so, we have to deal with support and service and training and onboarding and sales and product-related. Do tasks line up at the right hours? It’s definitely an engineering challenge just as much as it is a team challenge and also just a company challenge in general with sales and support.

SAM:So, one of the things that we brought up before the call as a possible topic was talking about the tech stack for farms. And you know curiously, for a tech podcast, we don’t actually talk about technology very much. But I’m really curious about what tech looks like in the context of a working farm.

ALLISON:Yeah. So, the customers we’re dealigned with are primarily small commercial operators who are – this is their primary business but it’s also not going to make them millionaires, most likely. And so, they’re small commercial operators and that inherently brings a number of challenges from a technology perspective. Because we’re dealing with a world that is mixed in technologies. So, our customers tend to be on Facebook and understand how to use technology and maybe even came from prior businesses where they were using large ERP systems. A lot of our folks come from manufacturing backgrounds or even sometimes IT or not usually software engineering but IT implementation backgrounds. And sometimes, we have two customers I think, that were software engineers. So, they’ve got familiarity with technology from as simple as using Facebook to as complex as developing their own. And when you walk into a farm, you have a real mixed bag. So, you’ve got everything as low-tech as plastic hoop houses that would be under our control, so just a plastic covering over a field – to something as high-tech as a fully automated, they call them plant factories in Japan. And so, you’ve got this mix but also even within that customer base you have a mix.

So, a standard greenhouse I’ll use is a good example as a middle line, baseline. And you can walk into this greenhouse and it’s probably a glass structure growing either a vine crop – so tomatoes, peppers, cucumbers – or something like lettuces or herbs. And one of the most important technological pieces that they have to have in the farm is a climate control system. Because that for the grower is a risk insurance policy. If I am investing hundreds of thousands to millions of dollars into a structure, it better be because it’s extending the seasonality of my planting cycle. And so, if I’m going to do that and I’m in any climate that isn’t completely optimized or ready externally, which is nowhere in the world, then I need to have some sort of climate control. Because I have to protect against the downside that it might be snowing outside one day or it’s going to be really dark in the daytime which means it’s going to be expensive to run my lights. And so, I have to have this somewhat black box controlling at least your mechanical pieces, your climate-related mechanical pieces. So, your lights, your temperature, your humidity, CO2, anything that would affect the climate of the plants.

And even that technology can range in technological span. You can have something that was homemade by a farmer – we get this a lot – where they’ll piece together off-the-shelf controllers with certain types of vent control or pump control, to something that’s really considered high-tech in the industry but is still pretty low-tech in the scheme of things. So, you’ll have something like a Dutch climate control system. And even in an acre greenhouse you may only have two or three sensor boxes that actually are sensing the temperature, humidity, and light level, in that acre facility. So, you’re not getting fully controlled coverage. Everything’s hardwired, which is one of my favorite things because it’s hydroponics most often. So, it’s water. And if a sensor goes out or a light goes out, you know how to stop producing because everything’s in water, to get to the wires. And then when you get the data back, it’s going to be stored locally on a computer somewhere. And it’s going to be fed into old-school graphs that don’t really give us any insight.

So even that, it works really well for what a farmer needs but it still has so much opportunity for modernizing into the modern tech stack. It can be mesh networks or localized grids that can actually store sensors throughout the facility. You can have no wiring which would be nice. You can have cheaper sensors. You can have better insights. So, there’s room to grow in terms of technology. But that’s still, it gets farmers to a point where they’re using, they’re interacting with technology on a day-to-day basis. And then they’re using pretty much pen and paper for almost everything else, which gives technologists a lot of opportunity. But how it interacts with how farmer wants to use technology is a really key challenge that a lot of technology companies are seeing now.

So, the baseline is they’ve got some technology but they’re still relying really heavily on pen and paper for most things. And as technology is starting to grow, we’re almost leapfrogging a lot of technology. We went from “Okay, I’ve got this climate control system in a greenhouse” to now everybody wants to see fully automated mechanized systems that don’t involve any labor on the farm with LEDs and AI driving the actual production decisions and automated purchasing so that you don’t have to even worry about the sales side. You can just supply it directly to a buyer, which is a pretty ginormous leap from a farmer’s perspective when it comes to technology.

CORALINE:So, what sort of technology skills do you look for in your staff to support that wide range?

ALLISON:Part of that has to do with what product we’re building and where we want to go as a company. I don’t think anybody can do it all. This is one of the challenges that we’re seeing, is do you go full infrastructure or fully vertically integrated or do you try and go for [inaudible] or some degree, some combination of the both? And so, there’s a lot of companies that are trying to build the actual infrastructure on a farm as well as the mechanical and robotic components as well as the AI and software components, which would require a team that is completely touching almost every new skill that’s coming to market right now. So, what we’re trying to build is a fully integrated software piece. It’s the software component that would run the farms, the operating system, if you will. And we’re not really focused on robotics or lighting or mechanical equipment or sensors. What we’re focused on is how do you collect data from those components or how do you digitize processes that didn’t have data collection before, all those pen and paper processes, and then use that information to make the operation that much stronger? And so, what we’re looking for from a skills perspective are folks that are right now very good software engineers. We are starting to think about – and our stack is Ruby on Rails and we’ve got some JavaScript and that’s pretty much the baseline. Yeah, Jamey?

JAMEY:Yeah. We use React.

ALLISON:React, yeah. More so now than we did even six months ago I guess. And so, that’s the baseline from a software engineering perspective. But we’re also starting to think about, how do you connect with all these devices? Which is going to require somebody who’s connected to APIs and thought about creating standards for the first time. And how do you look at getting data in faster? We’re starting to build a mobile app. So, how do you get people interacting with the device that they have in their pocket more than the laptop? How do you think about stretching the limits on the information and not just providing insights but using it to actually drive decision-making? And so, we’ll have to think about machine learning and data science in a more heavy way in the next year or so. And so, there’s a pretty broad line of skills that we need. But we’re really centered around the software and the application of the software into the farm as opposed to touching everything which at least gives us some subset of skills.

JAMEY:For me as an engineer – if it’s not clear to our listeners, I also work at Agrilyst. For me as an engineer, the big challenge is writing code that you know is going to be used by someone who has a very different perspective than you. Because I don’t really, even though I’ve spent a lot of time talking to farmers and trying to learn about farm processes and stuff, I don’t really know what it’s like to be a farmer. And to try to make something that I know a farmer’s going to use then it’s going to be the most useful for them, is a real challenge. And I think to me, that’s the big challenge at Agrilyst.

And I think that’s a big challenge in software engineering in general. I worked on an app at my old company that was meant for doctors to use in Africa, like a mobile app. And it was a huge challenge because I had to think about things like “Well, does the person who’s going to use this have background using mobile phone apps at all? Or is this going to be their first one? Are they going to have internet?” The answer was no, they weren’t going to have reliable internet. So, we had to deal with that. Are they going to have reliable power? Honestly, the answer was no, that I realized after I had been working on this for a while.

And coming at all of these challenges from an aspect of, “How is this person going to be using this? What constraints are they going to have that I don’t have so that I’m not thinking about it? And what’s going to be useful for them in their mind that isn’t the same as my mind?” I feel like we write a lot of code for people that are baseline very similar to us in a lot of ways, people who use a lot of technology and are enthusiastic about technology. And technology is a really important part of every part of their life like it is for me. And to write and application for someone different from that is challenging but it’s also a very cool kind of challenging, in my opinion.

ALLISON:Yeah, this is a big one that we think about a lot. And it’s not just true for the engineering side. It’s true for the sales side, too. Do you hire folks who sold hydroponic equipment to farms or do you hire folks who are really, just really good at selling technology especially for early stage startups where they understand that that product is going to change on a regular basis? Because those are two very different skillsets. And they’re different people to hire. And one of the things that we made the conscious decision to do early on was hire folks who were just very good at the thing that they did that was a component of something we needed, and not necessarily try and look for everything that overlapped. So, engineers who were really good at our stack or some component of our stack, or sales folks who were really good at selling early-stage software company. Because the rest of it is stuff that we can either train around or you’ll learn over time.

I’m guessing Jamey that you knew nothing about what it was like to be a farmer but you’re starting to pick up on certain things and behaviors and the challenges now, just from spending time thinking about how they’re using the software. And luckily, we’re also at a point now where – so, we just brought on our first UX designer who has a PhD in Psychology. And her whole thing is how do you understand a user? How do you get into the mindset of what it’s like to be a farmer and the challenges that they’re going through? And then how do you help translate that for the team, both into product but also in general from a mindset of thinking. How do we craft our language so that it’s more appealing to a farmer? How do we explain what we’re doing in a way that farmers will understand? How do we talk about the benefits and the values and why you should actually work with us? How do you create a feature that will be used on a daily basis? Those types of things.

And then part of it is beyond skillset, is training from the company’s perspective. It’s bringing people to farms, spending time on farms as much as possible, working with your customer and actually seeing them use the system and where it works and where it breaks down. I’m actually out in Canada visiting, how many farms am I visiting? One, two, three, four, five? Five in the next three days, I think, if I can get to them all. But just to see that, just to watch and see what’s working, what’s not working. It’s very painful for an engineer to sit there and watch, and myself included, to watch somebody miss a button, not know where that button is. But that button being the thing that’s going to unlock so much pain reliever for this person. But if it’s not in the right place, it’s not in the right place. So, how do you – if the feature doesn’t work, it doesn’t for them, even if it was built correctly and it actually, physically works.

And so, we’re in a mindset now as a company where we’re starting to really be mindful about how customers are using the product and what works and what doesn’t and how farmers want to interact with the technology, which is a whole weird ballgame.

JAMEY:I think it’s very tempting as a programmer to be like “Well, why don’t they just use it the way I built it?” And it feels good to say that but it’s not really useful to say that almost ever.

ALLISON:Yeah, yeah. Or why don’t they just pay the thing that we specified as a price? It’s funny. The customer is a funny beast when it’s introduced to a product, huh?

CORALINE:Thank you very much, Allison. That was great. We like to close out the show by taking a moment to reflect on the conversation that we had and maybe highlight some things that we want to think about a little bit more. And one thing that the last bit of our discussion touched on is actually something I just wrote about last Saturday. And that is in the ideal situation, a developer is writing software that satisfies some need that they have. You’re scratching your own itch. And the reason that that works so well is because you are the user. So, the feedback loop between the engineer and the user could not possibly be shorter. And the next most ideal situation is where you are a member of a population of users, so you have something in common with them. And the company that you’re working for makes something that serves a population that you belong to. There are some dangers there, too, like categorical imperative and saying, “I am the customer and therefore I know what’s best.” But it’s easier to be empathetic with people that you have something in common with.

And then the more common situation for software engineers is where you’re writing software for someone that you don’t necessarily know, that you don’t necessarily have a lot in common with. And the real challenge in a situation like that is practicing empathy for the user. And you have to be actively promoting a culture of empathy and doing things like going to the farm and doing the work. And getting to know who your users are and recognizing that your customer and your user and not necessarily the same person, and really developing with empathy for them in mind. So, I think that’s really hard. And I really like the way it sounds like you’re approaching that.

JAMEY:My reflection is also kind of about empathy. There was a thread in one of the earlier conversations about hiring and this idea that when you hire someone you’re hiring them because they bring something to the table. And therefore they shouldn’t have to fight to have a voice at the table. And I really liked the way that you put that, because I think when we discussed it originally we were talking about it a little bit from a managerial perspective, creating this culture. But I think that that’s a really useful thing to think about even from a peer perspective. If you’re sitting next to one of your peer coworkers and they’re saying something that you don’t agree with or that you think is dumb or whatever, taking the time to think, “Okay. We hired this person because we value their perspective. And I am going to consciously not talk over them because we didn’t just hire a bunch of clones of me. We hired different people.”

ALLISON:That would be terrible.

JAMEY:It would be terrible. And I think it’s important some people just naturally louder than other people, not necessarily from an actual volume standpoint. But I think when we talked about people who are or aren’t willing to fight about stuff to get heard – and I think some people are just wired to be like, “Yes, this is how I feel and I’m going to say it. And I’m going to say it not necessarily meanly, but forcefully,” and like, “Listen to this because I think it’s important” – which if you can do that respectfully it’s a good ability to have. But even if you’re trying to be respectful I think it’s important to consider “I need to consciously make space for other people who don’t naturally speak as loudly as I do.” So, that’s my call to action for myself who speaks fairly loudly, and for other people.

SAM:Curiously today, the thing that caught my attention the most was actually kind of a throwaway comment, almost a throwaway comment that you made Jamey, about how some people on Twitter have just decided that they’re not going to learn anything. And I think that’s a really useful reminder to myself that I don’t necessarily approach my day in terms of, “Hey, I’m going to learn something new today.” But maybe that’s a really useful tool that I should use more.

ALLISON:And mine is something that I’ve been thinking a lot about [ancillarily] I feel like, but not necessarily in a way that can be utilized as much, which is around formalizing some of the ways that we think about remote culture internally for our company. So, I really resonated a lot and learned a lot about, and I’ve been thinking a lot about how different people want to work and how they want to work, especially remotely, and how we can create a very open way to actually do that.

SAM: Alright. Well, thank you everybody for a really interesting call today. Before we go, we want to remind everybody that we are in fact a listener-supported show. And if you like what we do and would like us to continue to be able to do it on a weekly basis, we really need your support. So, if you could head over to Patreon.com/GreaterThanCode, any amount of money is appreciated and will get you into our community Slack channel where we have a couple of hundred people being extraordinarily nice to one another. We hope you’ll join us. Thanks everybody.

Jamey: Consciously make space for people who don’t speak as loudly as other people.

Sam: Learn something new every day.

Allison: How different people want to work remotely and how we can create an open way to actually do that.

Transcript:

SAM:Hello and welcome to Episode 66 of Greater Than Code. I am Sam Livingston-Gray and I’m here to introduce Jamey Hampton.

JAMEY:Thanks, Sam. And I’m happy to introduce Coraline Ada Ehmke.

CORALINE:Hey, everybody. We have a very cool show today. We’re talking to Allison Kopf. Allison is the founder and CEO of Agrilyst, the virtual agronomist powering the horticulture industry. Agrilyst won the highly coveted Disrupt Cup at TechCrunch Disrupt in San Francisco. She was named the 2016 Changemaker of the Year by the Association of Vertical Farming and Entrepreneur of the Year by Technical.ly Brooklyn. She studied Physics at Sta. Clara University and once built and 800-square foot solar-powered home for an international competition. In the summer you’ll find her playing third base for about three different co-ed softball teams. She’s pretty focused on getting a dog at some point.

Jamey: Consciously make space for people who don’t speak as loudly as other people.

Sam: Learn something new every day.

Allison: How different people want to work remotely and how we can create an open way to actually do that.

Transcript:

SAM:Hello and welcome to Episode 66 of Greater Than Code. I am Sam Livingston-Gray and I’m here to introduce Jamey Hampton.

JAMEY:Thanks, Sam. And I’m happy to introduce Coraline Ada Ehmke.

CORALINE:Hey, everybody. We have a very cool show today. We’re talking to Allison Kopf. Allison is the founder and CEO of Agrilyst, the virtual agronomist powering the horticulture industry. Agrilyst won the highly coveted Disrupt Cup at TechCrunch Disrupt in San Francisco. She was named the 2016 Changemaker of the Year by the Association of Vertical Farming and Entrepreneur of the Year by Technical.ly Brooklyn. She studied Physics at Sta. Clara University and once built and 800-square foot solar-powered home for an international competition. In the summer you’ll find her playing third base for about three different co-ed softball teams. She’s pretty focused on getting a dog at some point.

JAMEY:Thank you, Jessica. And I am also very happy to be here this morning with the illustrious Coraline Ada Ehmke.

CORALINE:Illustrious, eh? Wow.

REIN:Ooh.

JAMEY:Yes.

CORALINE:I’m not feeling particularly illustrious today. I’ve been out of practice as some of you may know. I’ve been traveling the world and I’m really happy to be back today. So, we have a couple of amazing guests with us today. First off, I’d like to introduce Marian Petre. Marian picks the brains of experts to find out what makes expert software designers expert, how people reason and communicate about design and problem solving, and how they use representations in their reasoning. She’s Professor of Computing at the Open University in the UK. And she holds degrees in Psycholinguistics and Computer Science. Welcome, Marian.

MARIAN:Thank you. Thank you for having us on the show.

JESSICA:Yes. And André van der Hoek is a programmer at heart who loves talking to and working with software designers and software developers to create new tools that help them be more effective and efficient. He is a Professor of Informatics at the University of California, Irvine. He holds degrees in Business-Oriented Computer Science and Computer Science.

ANDRE:You make that sound a lot more than what it really is. But we’re really glad to be on the show.

CORALINE:Our standard opening question, and we’re going to start with you Marian, is what is your superpower and when and how did it emerge?

MARIAN:My superpower is picking brains. It emerged pretty early on because I had a huge curiosity and I could not stop asking people why they did what they did.

CORALINE:Does that mean you’re a proponent of the five Ys approach to problem-solving?

MARIAN:It is a good approach to problem-solving. I’m not a proponent of lots of things. I feel like one of the things I’ve had to learn over time is actually standing back from over-judging things and just – so a lot of the work that I do is about reflecting on what other people do. So, I’m leery of making endorsements for things or proposing things because I feel like what I really should be doing is eliciting from others and then reflecting back what they say.

REIN:So, you’re more of a descriptivist.

MARIAN:I think it’s more than description. I think part of what we do is yes, about describing but also about understanding, inducing the patterns from what we describe in order to understand the underlying processes by which people solve problems.

REIN:So, trying to figure out the system models that people use that underlie their thoughts.

MARIAN:That’s right. And it’s not just in terms of what models they employ but how cognition works. And how it works in the context of something as complex as software design.

CORALINE:It sounds like I’m going to have plenty of opportunities to bring up my very favorite book ‘Surfaces and Essences‘ by Douglas Hofstadter who goes into a lot of deep thinking about how we think and how metaphors fuel our thinking. So, listeners, I know you’ve heard about this book before and I’m going to keep talking about it until every single one of you has read it and can have a private discussion with me at a conference or meetup about the book. So, you’ve been warned. How about you, André? What’s your superpower. And how and why did it develop?

ANDRE:I don’t know if it’s a superpower per se. But people have described me as identifying and seeing patterns. So, there’ll be lots of stuff that’s happening and I’ll be the one who digs out from all the individual occurrences and go “Here’s the larger pattern that seems to be playing out.” So, a little different than Marian but stepping back, looking at it, and going “This is really what’s happening.”

JAMEY:It sounds like that would make you really good at board games.

ANDRE:I will confess, yes. So, I must confess there was a lot of board games in my childhood. I might have won a few in the backyards back home in the Netherlands. That eventually did translate also into almost an addiction to computer games on the computer to the point where I eventually actually had to toss them off my computer to get some work done.

JAMEY:I can relate to that.

ANDRE:There are some really good games out there.

CORALINE:You both talked about patterns and pattern identification. And you’ve obviously worked with a lot of software designers and developers. And at least in my professional experience over the past maybe eight or nine years, I don’t see a lot of design going into software development anymore with the retirement of the notion of a software architect. I think a lot of that design thinking went away. And what I see a lot more of is people taking established patterns, and by established patterns I mean even new patterns that are proposed, we sort of adopt wholesale different methodologies and different ways of solving problems. I think the explosion of the microservice idea is an example of that. Where do you see design thinking happening in smaller companies or more agile companies or in the startup world as opposed to the larger companies with more [inaudible] roles between design and development?

MARIAN:So, one of the issues is it’s not about the size of the company, it’s about the nature of the team. And this is where I draw the distinction between the high-performing teams and without any intention of deprecation, mundane teams. So, a lot of my research has been about understanding the nature of expertise and high-performance and what distinguishes them. One of the things it distinguishes is exactly design [inaudible]. And the design thinking runs not just at point of deciding what the architecture is going to be but all the way through the development and design [inaudible] process. Because there’s designing that’s needed throughout that process. So, a lot of this has to do not with – it does have to do with the nature of the organization. But in terms of what its culture of development is and what practices it embeds in terms of understanding what matters about [software], what values about software, how it incentivizes and prioritizes what work to do.

A really good example might be things like how people deal with error. So, in a company that prioritizes, or an organization that prioritizes actions and that prioritizes resolution of issues as primary, you get very different behaviors from a company that prioritizes quality and design. Because in the former, somebody says “I see a bug. Let me smack it,” and they don’t take time to reflect because what they’re being assessed on is very often company issues [resolved]. Whereas in the latter, a high-performing team, what you get is somebody saying “Ah, that’s interesting. Why did that happen. Hang on a minute. That’s a really silly mistake. I wonder if we made that mistake anywhere else? Let’s pick up and see if there are other occurrences. Let’s see if it associates with anything else and whether [inaudible] something about this communication and [inaudible].” And by doing that, they very often come up with deeper issues. And it takes them longer to resolve the initial issue [inaudible], but they very often get much [inaudible]. So, a lot of this has to do with the culture designed to do this and the attitudes [inaudible] in the organization rather than the kinds of problems people are addressing or the phase of the design and development [inaudible].

CORALINE:And I’ve definitely worked at companies that valued things like lines of code and number of issues fixed and attached performance metrics to those things. And I do think that is indicative of the kind of culture that those companies have. And that kind of thinking that perpetuates systemic problems that become very long-lived. So, that’s very interesting.

MARIAN:It ties into something else that I find really interesting right now. On the one hand, metrics are really powerful. The notion that evidence influences our design behavior and our design decisions is actually very powerful. The problem is when you get what I call Error by Proxy. And people start looking at the metrics as the goal rather than metrics as evidence for a greater goal. And then they start just [inaudible] metrics. So, there’s a really interesting dynamic there that says on the one hand, keeping track of things like [performance] metrics is going to be really helpful in development culture. But if you flip it and make metrics the focus, you end up with this kind of slightly misaligned, misdirected dysfunction, one that prioritizes different things. So, the Error by Proxy phenomenon is about not really understanding the value of evidence and how it’s supposed to be used and understanding its role in a greater process that has very clear goals [inaudible].

REIN:I’ve always seen this as an ends versus means failure where the end goal may be to increase customer satisfaction or to reduce error rates and the means is that we’re going to measure this specific thing and optimize it. And then what happens is optimizing that number becomes the end in and of itself and we forget about the original end.

MARIAN:Exactly. That’s a beautiful alternative way of articulating it.

ANDRE:So, I want to go back a little bit to the original question as well, because there was sort of a little bit of lamenting in there that design seems to have gone away. And I wouldn’t mind bending it around a little bit whether it really has gone away or whether the amount of knowledge that’s [seeding in] design has shifted where design might be taking place. So, one of the things I teach in my classes a lot is it’s perfectly fine as a designer to steal stuff within limits, within legalities. But if other people have had good ideas, it’s also possible for you to use those good ideas. So, why would you need to redesign? Good designers put the effort where it’s needed. So, if there is a pattern or an architecture that they could use, why would they go about reassessing? They will reassess it, the experts will. But it will happen much more quickly than going to the whiteboard and saying “We have a blank slate. Let’s see what we can do.” It’s a different conversation. One that’s asking, “Does this work for us? And if so, it’s okay.”

CORALINE:I think that’s so contextual, too. We’re having discussions at my work currently about API design. And one of the things that a couple of the engineers on the team keep trying to do is remind people “We are not Amazon. We are not Netflix. We’re never going to experience the kind of volume that those companies do. So, the patterns that they have established are not necessarily the appropriate patterns for us to use.”

MARIAN:And there are different kinds of problems that people are addressing with software in the same way – in physical, the architecture of buildings, there are very different problems that people are addressing. And somebody who builds residential housing will have a different task on a normal day than the day somebody comes along and wants to build a fabulous mansion that’s an architectural [estate]. So, there are some kinds of problems where we’re in a known problem space. We have a very good understanding of the problem space. There are very good solutions already. And what design demands in that context is recognition of that and pattern-matching. A lot of decision-making by pattern-matching. That’s very different. And then the design that happens is kind of incremental designs, step improvements based on small changes in that environment, in that context.

But in radical design, it may well be that there’s a technological shift. And people need to rethink in a very board way. Or there’s a very new context of use that hasn’t been considered before. And in that case, there’s a much bigger tendency to go back to the whiteboard for much more open thinking because there isn’t already a context of knowing. And it’s not incremental. It’s much more fundamental. And it’s not necessarily inappropriate to have elements of both in any given design process, because there are things that we know well. We might as well use appropriate solutions in this context.

JESSICA:I think you said – did you say radical design?

MARIAN:Radical versus normal.

JESSICA:And radical is like greenfield, start at the whiteboard, no one’s done this before?

MARIAN:Right. Radical is the notion that there’s some kind of disruption, that it isn’t just part of an understood problem and solution space.

ANDRE:Yeah, although I would also say the whiteboard also happens in routine, normal design. I think separating the problem side of things from how you approach it; radical design will have more of a sense of we’ve not seen this before. There are some new constraints. There’s a really new technology that’s enabling new things for us to do. How do we go about it? And I don’t want to hop on the ML bandwagon here, the machine learning bandwagon, but it is in some ways being considered a radical change in terms of what we might and might not be able to do with that. So, you see a lot of companies grappling with “Hey, we should all adopt this. But then now we actually need to spend more time designing because how do we really integrated this into our systems? And is it actually the right technology for the problem that we are trying to tackle?”

REIN:Okay. I’ve got a question. What drives the need for radical design? When does normal design stop being effective?

ANDRE:That’s a [good] question.

JESSICA:And by normal design do we mean incremental? Here’s a solution. Let me tweak it for my spot.

ANDRE:Yeah, so I’d say for normal design, it’s something that’s familiar. It’s something where largely I know what – I’ve built a database for clients before. And now it’s a slightly different set of clients, right? But radical design is much more, “I have not done this before. I don’t know the domain as well. I’m not as familiar with what’s there. So now, my set of tools and methods that I need to bring to bear with that is going to change. Because I don’t know the questions to ask. I don’t know the constraints that are there. And so, how do I go about this?”

So, I heard an interesting example just the other day where somebody who worked at JPL said “Well, if the spacecraft is in space, bits may randomly flip. If you don’t know this before you send the spacecraft up and you have to consider that, how do you go about that and what other things are happening?” So inside JPL, there’s a ton of knowledge. But if you give the same design problem of we’ll send a satellite into space to a different group of people, for them that’s now a radical design. But JPL has by now developed a more normal form of design because they know what happens in space. They know what happens in a spacecraft. They know how to send them up. But each spacecraft is still unique with its own constraints, its own weight, its own instruments, and a bunch of other things. So, it varies on who’s doing the design whether it’s radical for them. And also, the setting that’s there.

JAMEY:That’s really interesting that it’s so dependent on the personal experience of the person who’s doing the design. How does sharing ideas factor into this for you? Like if people at the one space place that this was more normal for them was able to share ideas, how would that transform radical design into normal design for someone else?

MARIAN:So, I’d like to twist your question a little bit instead of answering it directly. Because one of the interesting things that happens when you have a context in which you have for example people that are very well-familiar with the problem and people for whom it is a surprising new problem is the dialog between them. Because in a sense, the naivety of the people who are unfamiliar with the problem challenges the knowledge, the assumptions, that are embedded for the person who’s very familiar with them. And very often, that’s an incredibly productive and creative dialog.

CORALINE:I’ve definitely seen that on my experience with mentoring. Mentoring is something that everyone should be doing and everyone has value as a mentor. But as someone who’s been doing this for over 20 years, when I work with someone who doesn’t have the same experiences that I have, I find that they will challenge a lot of the things that I do via muscle memory. They’ll say “Oh, why are you solving that problem in that way?” My first response is “Well, that’s how I’ve always done it. That’s what my brain immediately jumps to.” But having those questions asked makes me challenge my own thinking and wonder “Oh, is there a better way to do this than the way that I’ve been doing it repetitively for the past 10 years?”

MARIAN:That’s right. And you don’t necessarily want to have that conversation every day, every time you face one of those problems. But to have it periodically can be incredibly refreshing. And one of the things that we see with really high-performing teams is there’s usually the guy we call the guru in the corner, a really experienced software developer, who takes that role, who plays the fool as we call it and asks those questions. “Why this? Why are we assuming that? What do we think we know? And how do we think we know it?” And does interesting things like saying “Okay, let’s relax the constraints. We’re struggling with this. What if we took away the constraint that’s really hampering us and see what insights that brings along?” The classic that I heard very, very early on when I began studying experts was somebody saying “Well, if gravity is the problem, let’s pretend there is no gravity.” And the design process proceeds from there in a way that opens up new options which can then be reassessed in the real context that includes gravity.

REIN:Are you familiar with Virginia Satir’s change model?

MARIAN:No.

REIN:So, Virginia Satir was a family therapist throughout the 60s, 70s, 80s, and 90s. She has this change model that I’ve – every time I look at the revolutionary or radical processes where an existing status quo has to be broken, I think about this change model because it maps in my mind perfectly to what happens. And the idea in her change model is that you have an existing status quo and then a foreign element enters the situation that the existing status quo can’t respond to. So, your existing methods or ways of thinking aren’t capable of dealing with this for an element, whether it’s a new problem you have to solve. And then what this causes is first resistance, because it threatens existing relationships and power structures, but then a period of chaos and unknown where existing relationships shatter and all the expectations may not be valid anymore. And where existing reactions that we have cease to be effective. And then there’s a period of chaos that’s finally resolved by what she calls a transforming idea which shows how the foreign element is actually something that benefits the group.

MARIAN:Sounds highly pertinent.

REIN: Yeah. As I’ve been looking into systems thinking and things like the Toyota way which focuses on aligning processes with the underlying values of the organization. And these ideas from family therapy from 50 years ago just seem so relevant to me. Because they always focus on the communication. Relationships are defined by the ways that people communicate with each other, is sort of her core premise. And I’ve just always found it so relevant.

MARIAN:It takes us back to that opening thing which is the role of the human in software development. And ultimately, the role of the human in software use, because they’re all socio-technical systems. And understanding that socio-technical context is really profoundly important in terms of us succeeding in the long run.

CORALINE:I’m also interested in another aspect of this. And you also mentioned, Marian, the guru in the room and a different role that the guru plays. I think that power dynamics have an incredible influence over the way we solve problems. And the secret is that it’s always about power dynamics. So, with the sunsetting of the idea of the software architect, that leads to what I think of as a democratization of software design and architecture. How do we ensure that everyone has a seat at the table in those discussions and that we’re not simply relying on the guru to guide us to the right decisions?

MARIAN:Well, in the high-performing teams, they are characterized by really valuing team cohesion and communication and the integration of people in perspectives. But I think the open source community has really shown the way in how to engage with this democratization. Now open source is not one thing. There are many, many different ways to play open source. But many of the communities have thought very hard about how to structure the communication so that new people are brought into the community, develop appropriate expectations, and can make valued contributions from the beginning, that they’re not put off because the entry cost is too high. And they work very hard in terms of articulating expectations, articulating things like standards for commentary, code norms, and so on, in a way that I think provides an interesting model about how to engage people of very diverse backgrounds and potentially of different experience and ability in generating good code.

So, one of the communities that we studied for example has a really nice role for new people which is to provide documentation rather than to provide code as their initial activity. And that’s really powerful because on the one hand, they can do ti. It’s work that needs to be done that tends not to get prioritized. So, it’s important but often neglected work. It’s something that engages them with the codebase. So, they learn about what’s there and think hard about it in order to articulate it properly. As they document the code well, they gain prestige in the community, which makes it much easier when it comes to producing code and committing it. And it’s a much easier entry point and much less threatening entry point for a lot of people. So, there are interesting ways that different communities have been working. And I think, as I say, some of the open source communities have been very clever about this.

ANDRE:Yeah, and back to the guru, a big part of it is, and this sounds wrong, but it’s so right, is hiring the right guru. So, there’s a guru who knows everything and wants their way, and there’s the guru who’s willing to spread the knowledge and the wisdom and the approaches that they take. And in the end, it’s the second one that for your organization is actually going to carry the organization forward, not just by contributing what they know, but also actually building a community of others in that organization who are learning from their ways in how to become better designers.

JESSICA:Can you hire that guru? Or does the guru have to have such familiarity with the system that they have to grow into it?

ANDRE:That’s a good question. There are two sides to it. So, on the one hand to your right, whoever the guru is or whoever the wise person is, they have to know the material that they’re working with and the domain and everything else. On the other hand, that’s learnable. And somebody who’s really good at this stuff can actually learn new domains fairly quickly. Not super fast, but they can learn it fairly quickly. That to me is a skill that you can learn. The other one is your own behavior and reflecting on how you act as a designer and how you interact with your teammates and how you bring up novices and how you give them command, even though you know the answer. And how you let them struggle for a little while and you point out where they were doing well and where they should have generated one more idea and where they missed the constraint, that’s almost a personality trait. Again, it’s something you can learn.

And it’s something that we’ve certainly been trying to capture in many of the insights that we’re collecting, is what are the traits of expert software designers so that individuals can maybe pick one up. I ask all the students in my class, just take one, one of the lessons that we teach you, and bring it to the organization that you’re in. You will hopefully create a small culture change. And if every person does that, you’ll have a chance.

JESSICA:And you’ve collected these insights into a book.

ANDRE:Yes, we have. Painfully so.

JESSICA:And it’s small and cute and yellow.

ANDRE:Yes. And small and affordable. That’s a long story. In the sense that we clearly knew for ourselves that we were collecting things that resonated, on the one hand with the academic community that we were in, but also very much in our conversations with professionals. So, we would go to an organization, we’d talk about our research. And then they would actually be interested in what we’re learning, because often we end up talking of course to the kinds of professionals who are open to learning themselves more and bringing that back into practice. And so, we started looking for ways in which we could take what we’ve learned but also what other people have learned, and sort of distill that in a coffee-table-ish kind of book. And once that idea was there, fast forward three years, and then yes, we have the little yellow book in our hands.

JESSICA:And yet has tiny little insights with pictures.

ANDRE:It does. And in many ways, on purpose, the pictures actually try to make you think. So, the text is there. But then many of the illustrations actually are designed to make you think a little bit more. So, the whole book is still based on that notion of [you as a software design] [inaudible] architect is [inaudible] requirements engineer [inaudible] you reflect on your own practice with the help. The text is the entry but it’s actually often in the picture that you need to spend more time thinking about it.

CORALINE:And that probably appeals to different kinds of thinkers too, right? Some people will process words better and some people will process imagery better.

MARIAN:The intention of the book is that it’s a seed book. It’s not a book that you read cover to cover. It’s a book that you sample. It’s as André said, designed for people who want to reflect on what they do. And the hope is that any professional developer who picks it up will recognize some of it and go “Yep, yep. I do that.” Or “Oh yeah, I used to do that. I forgot about that.” Or “Wow. Hadn’t thought about that. Maybe I should.” It’s interesting that the response to the book has been divided between the people who are reflective practitioners and immediately recognize what it’s doing and are actually very happy and want it as a deck of cards so that they can shuffle the cards and pull out a card at random, and the people who actually want just how-to instructions and are not satisfied by it because they actually have to think. This isn’t just – it isn’t a recipe book. It’s a reflection book. I think the other thing that we tried to convey with it is that it is all founded in empirical evidence. These are not our speculations. These are well-grounded insights distilled from expert practice in research that’s been conducted over decades.

CORALINE:I’m interested in that in particular because I think, and you mentioned this in the discussion that we had prior to you coming on the podcast, that there’s a disconnect between academic research and actual practice. And some people are convinced by footnotes, some people are not convinced by footnotes. Some people are open to the idea that our understanding of how humans work and how humans work in software development is evolving, and other people think that it’s very straightforward. How do we begin to bridge that gap?

MARIAN:Well, in effect the book is one of our attempts to do that. I think we need to have the dialog between the people who study practice empirically and the people who practice. Sometimes that’s difficult because academia and industry work on different timescales, different priority sets, and so on. But it’s my firm belief that I don’t as an academic want to be prescribing anything to industry. I don’t know better than industry how they can do their jobs. But what I can do is provide the deep research that gives them evidence of what goes on and evidence on which to base their decision-making. And in order to do that, we need the dialog. So, trying to put the research results out in a format that is digestible that also connects them to other literature if they want to read more deeply, but ultimately that opens that dialog, is what we want most. And to avoid the assumption that we know better but rather to understand what works and play that back to people.

JESSICA:To end the suspense, the book is called ‘Software Design Decoded’ in case you were wondering.

MARIAN:Sorry about that.

REIN:So why ‘decoded’? Why that word?

MARIAN:Play on words. We went through probably a hundred different titles. We had no trouble generating titles we hated. We needed something that would work on the bookshelf, the shelf in the bookstore and captured people’s attention. We wanted something that was true to what was in the book. So, we were pushed to all sorts of things including the subtitle, but what we really wanted to convey was the essence of the book which is insight grounded in evidence.

ANDRE:Yeah. And I think the ‘decoded’ in its own way is partly a play on the word ‘code’ is there, right? So, design ultimately [inaudible] the code, and code is designed. You’re still designing while you’re coding. But it’s also a play on the nature of the kind of research. It’s not like we and others go into an organization, spend a little bit of time observing, come back and write down what we saw and the answer is “Here it is.”

As one example, there’s one of the lessons in the book is rotating subject pairs, so expert rotate subject pairs. Which really means that they take very short periods of time during which they talk about two or three subjects at the same time, then they switch through a different pair and then a different pair, and then a different pair. And so, they sort of shore up the design as they go and in all of its dimensions. And so, when we compare the behavior of experts there to the behavior of novices, novices will pick one subject and talk about that at length. And especially if they’re stuck on it, they will keep talking about it. Whereas the expert will say “I’m stuck on it. I’ll switch to something else. Maybe I’ll learn something that will shed light on where I’m stuck.” And so, this is not something that when you watch people work, you immediately grasp or see.

And so, this was the work of a PhD student who spent time collecting videos, analyzing the videos, and spending a couple of years actually eventually realizing that this pattern was there by looking at the conversations, by coding the conversations, by essentially decoding what was happening there. And we wanted to include in the title a play towards that as well.

REIN: It’s interesting because when I read that and I thought about decoded, it reminded me of an idea from the operations or SRU world which is that system failures and the alerts that system failures generate, you know for instance this application has too many errors right now, are heavily encoded messages where what they encode is the actual state of the underlying system that created the alert. And your job as someone who’s responding to that sort of an alert is to decode it to understand what the system is actually trying to tell you.

MARIAN:But that’s one of the, fundamentally, one of the complexities about working with software, is that effectively that one level of the artifact is the code but at another level, the artifact is the behavior. And very often, what people are really reasoning about is the behavior of the system, not just how it gets captured in code. And it’s hard, because the behavior shifts. It’s often hard to observe. There’s an obscurity to the designed artifact in software that isn’t necessarily the case with physical artifacts. So, a lot of it is about, almost indirectly, understanding through some things that are manifested in the world, a design that is not explicitly manifest, a set of behaviors that are not explicit in [inaudible]

CORALINE:I’m interested in how that correlates to the size and scale of the systems that we’re reasoning about, too, because one of the ways that I define what a legacy system is, is a system that has become too large for any one person to hold it in their heads anymore.

MARIAN:That’s right. André was talking about this dialog between research and industry. And the whole business about how people deal with systems that are too big is another example of where research can make a contribution. So for example, I had done a lot of work over a number of years with a number of different teams before I began to understand the insights about how they were thinking about intractable problem, what strategies experts use for thinking about problems that are too big, notionally too big for one head, and handling those. And how they actually, some of them, manage to get oversized systems into one head. What are the strategies they use for making it tractable when it’s just too big and complex? There are a number of things that they do that help them mange that complexity without discarding their understanding of operational detail.

And that whole dialog between the development of an accurate operational model of the code is part of what you’re engaging with, with legacy systems for example. You’re trying to build that operational model. Sometimes, with big systems of systems you’re almost trying to operate in the absence of an adequate operational model by taking certain things on trust about the components that have been assembled and how they operate. And some of the really interesting distinctions in terms of expert performance have to do with the strategies they have for handling the obscurity and the complexity of software systems.

JESSICA:Ooh, ooh, can you give us an example?

MARIAN:The trouble with some of these is they sound, when you articulate them they sound a little too simple. So, we already know that experts abstract. The ability to handle abstractions, to generate abstractions, to reason about abstractions, is a necessary part of computational thinking. The ways experts chunk information is different from the ways novices chunk information. And their chunking is more efficient and can encompass more complex entities. So, some of this has to do with the ways they divide up the world and think about it. Some of it has to do with the systematic focus on things of interest. So, experts are better able to analyze which parts of the system are crucial for their reasoning at any given point, and to focus in on that, and allow the things that are peripheral to that not to play into their attention. Whereas again people who are less expert very often are distracted by things on the periphery.

ANDRE:And not just distracted but comforted, in their own way.

MARIAN:Yes.

ANDRE:It feels like they’re making progress on the design problem, but they’re actually pecking away at everything that’s surrounding where the essential part of the design is rather than actually tackling the hard part. And that’s where the experts will start. They will start with the hard part.

MARIAN:And they’ll do things like transform the problem into another representation or into another space, in the same way that people will transform, very often part of mathematical proof is transforming into a different representation, a different space, solving it in that space which is [more tractable] then transforming it back again. Even though experts can reason about complex problems at a high level of abstraction, if they come to a question that requires concrete consideration where they really need to examine the behavior specifically, they can drill down through the levels of abstraction and reason about very specific components as they need to, and then climb back up again. They can do that alternation and keep track of where they are.

ANDRE:So, experts are much more wiling to work with uncertainty and know that it is part and parcel of what they do. Novices will want to squash that uncertainty or just hide it. And so, they’ll either ignore it and thereby make wrong assumptions or they’ll end up trying to focus on it, trying to resolve it, and thus not making much progress with the rest of the design. Whereas experts are willing to deal with this uncertainty and understand that when the uncertainty is important must be absolved, and when it doesn’t. And that translates also into experts will go code up a piece of code if they think that it’s going to answer some of the questions that they have. And novices will stick at the whiteboard and they’ll try to sort it out in the abstract. So, there’s very small, subtle behaviors that the experts will pull in that will help them more effectively address the problems they face.

JAMEY:All of these examples are super fascinating to me, because I think every single example you’ve given about the experts and the novices, it has occurred to me that you could use very similar analogies for things in all parts of life, not just design and writing code and work. Particularly, the example about novices who want to keep talking about the same thing even if they feel stuck on it and experts being willing to, if they’re stuck on something, leaving it alone for a while and coming back to it. I think that’s a really awesome representation of thinking in general, especially emotional thought when it’s like if you’re stuck on an emotion and you keep coming back to it, rather than giving yourself time to work through it without thinking about it actively. And I think that’s also a really good way to explain someone who’s a novice and someone who’s an expert in emotional intelligence. It’s really interesting and I really appreciate that you were able to pick out these patterns by watching people when they were at work, but it’s also relevant to all sorts of aspects of people’s lives. What are your thoughts on this? How do you think these patterns that people fall into without realizing are indicative of ways they act maybe outside of the workplace or outside of this kind of problem-solving atmosphere that we’ve been talking about?

MARIAN:Yes, fundamentally this is about problem-solving. It is also about problem-solving in the context of complex software systems. But the fundamentals are about problem-solving. And one of the reasons that I came to be doing this research at all was not about computer science per se but about how people reason and how people use representations to help them reason, to augment their reasoning. It’s a much broader question. And I think it will take more interdisciplinary study to understand how that plays off in different contexts, but also to understand what the core is of problem-solving skills that apply across [inaudible]. I have no doubt that the kinds of strategies that people are using in general terms are applicable [inaudible].

CORALINE:I’m kind of interested, and I want to set up a couple of people to fight it out metaphorically as we have this discussion. Hofstadter in his book that I referenced at the beginning and promised you I would bring up, says that metaphors and metaphoric mapping is essential for problem-solving because it allows us to tie back into experiences that we’ve had in the past, probably in a different context. But to get hints as to what the problem space looks like and what the solution space might look like. And on the other hand, Dijkstra says that when you’re approaching a problem you should approach it with an open mind and don’t try to use a vocabulary of what has come before, because it’s going to let you down. And I’m kind of curious as to which of those two opinions you think is the best strategy for problem solving.

MARIAN:Okay. I’m not going to play best. And I actually don’t think it’s an opposition. I think that both of them apply. And they’re not necessarily inconsistent with each other. So, the whole business of analogy and metaphor of trying to get out of the box [inaudible] are actually devices that experts use to try to “get out of the box of standard thinking”, is the way they would phrase it. They are also very conscious about the implications of using familiar language and carrying familiar assumptions along with it. It’s very interesting that there are all sorts of cognitive biases that people have that have to do with the way that our brains and minds have evolved. And one of the things that’s been interesting has been mapping expert practices onto our understanding of cognitive biases and seeing how experts either consciously or unconsciously tend to develop very clear practices that mitigate against bias and that are about things like not getting trapped into assumptions because you’re using familiar language, that are about getting out of the box of standard thinking, through some of the strategies they use like abstraction, like reshaping the problem space, like relaxing constraints, and so on. So that what they do is they remind themselves over and over and over again to say “Am I in the right problem space? Have I understood the problem correctly? Is there a very different way that we could think about this?”

ANDRE:Right, yeah. So, experts particularly in many ways don’t ascribe to a particular methodology or a particular belief of “This is exactly how I solve each of these problems.” And just to tie onto what Marian said, is that they’re in the room twice, almost. They’re in the room engaging in the design and actively participating but they’re also in the room observing what’s going on, where the overall process is leading, whether they’re still on track, whether they’re using the right methods to tackle the problem that’s there. That sort of [inaudible] overall I think enables them to step out of Dijkstra or Hofstadter. And each one of them has arguments for why what they’re saying actually makes sense in a particular context. And we can come up with examples for each of them, but it’s realizing in the moment which one is okay to go with.

So sometimes, just using metaphor is perfectly fine. We have examples of people designing an educational traffic simulator and one minute into it they’re saying “There’s a cop” and that solved the design problem more or less. There was a lot more design to be done, but more or less just using that word had solved the design problem for them because they knew what they meant and what structure they were going to apply, and what the implications were of it. That was a perfectly valid metaphor. But they also knew to understand “Is it okay to apply this metaphor to this particular case?” and had they discovered that it’s not okay, they would have stepped out and actually engaged in a much more structural approach where they now would have started to explore the problem space in more detail to understand the characteristics that there are before they hop back into the solution space.

MARIAN:One of the most important things about the use of metaphor in design, and Jack Carroll wrote about this years ago, it’s not just about why my problem is like something else but some of the real insights come from the interrogation of why my problem isn’t like that example. What’s different about it? So, the question is not just how is an apple like an orange but how are they different? And what do those differences mean?

CORALINE:One of the insights that I came to; I gave a talk about metaphorical thinking and I dove into category theory a little bit, and one of the insights I came to is that I think historically especially in science, we focused on, as a basic problem-solving tool, breaking problems down into small pieces and trying to solve small problems and composing the solution out of solutions to small problems. And one of the things that category theory brings to the table is looking at how things are similar more than how they’re different and solving big problems from a more top-down perspective. And the realization I had which I think resonates with what you’re saying here is that we need both of those tools in our toolbox. And expertise comes from identifying when one tool is more useful than the other.

MARIAN:And that’s right. The notion of the toolbox is incredibly powerful. And one of the things that distinguishes experts is they have a bigger toolbox, they remember what tools they have in their box, and even if they don’t know which tool is the right one to apply, they have the wit to try alternative tools.

REIN:So Coraline, earlier you talked about legacy systems as being systems that are too big for any one person to fully understand. And just a minute ago you talked about how we generally like to solve problems by breaking them down into smaller problems. And I think that this approach to problem-solving in general is interesting because we’re targeting a specific sizing of complexity where it’s a sort of an anti-Goldilocks zone where the problem is too big to be solved in detail through analysis and it’s too small to be solved in aggregate through statistical methods. So for example, the two-body problem can be solved through analysis. You just do the equations for the gravitational effects of two bodies and you’re done. But you can’t use the same approach to solve for the molecules in the gas and how they behave. At that scale of complexity you instead use statistical methods. And I think what we’ve chosen for ourselves in building computer systems is exactly the space of problems that are in that middle zone, the middle number zone where we can’t use analytical or statistical methods on them. And what we have to bring to bear instead are these systems thinking methods.

JESSICA:Yeah. It’s not just the size. It’s the path dependence. It’s the influence the parts have on each other.

MARIAN:Yes.

REIN:Right.

ANDRE:Yeah, and it’s the influence that the details have on the overall. I think many a software system starts with the best intentions with a great architecture, much design thinking that happens upfront, to then much later on when the problem is of such a scale for many details to slowly but surely start derailing that initial carefully thought out architecture. But you don’t know all the details beforehand. And so, one of the questions is how do you remove that level of uncertainty? How do you safeguard yourselves against when the project gets underway and you’re building all the software and then you start discovering a lot more, that now starts to reflect back on the design problem. And I think that’s been – the whole backlash against waterfall has always been that kind of observation. And I don’t think that in Agile we’ve completely solved that. Those small problems still appear. We’ve just made it tolerable and acceptable for us to talk about it.

CORALINE:I started my career with waterfall, although I appreciate agile methodologies and the advantages that they bring. And I think agile methodologies do solve some important problems. I actually miss some aspects of upfront design. I know in those days we had documentation that you could hand to a developer that would explain how a system worked and forethought being put into how the system would work. And of course, those exceptions, those edge cases, would come back to bite you and it would be very expensive to heal. But I think the pendulum has swung too far in the other direction and now we’re only thinking in two-week increments and we end up painting ourselves in the corners, just with a different brush.

ANDRE:Yeah. And I think the better organizations have recognized this. And there is some serious design that happens upfront before we go down into agile sprints. My thinking is with you, because I do miss the days of just saying “Look, let’s take a day and really hammer out this problem” or “Let’s take a couple of weeks to hammer out this problem” because the level of insight you generate on day one when you’ve barely played with it is very different than the level of insight that you’re going to have on day 10 when you finally realize that there’s a small bit that’s really important that’s actually changing a significant part of your architecture. If you don’t discover that in time, and you’re off to the races in sprints, that will come back. And it’s not that easy to refactor your architecture. So yeah, I miss the thinking part.

MARIAN:And I also, I wouldn’t want to oversimplify that waterfall is god. There are certainly…

ANDRE:Oh no. Oh no.

MARIAN:And I certainly wouldn’t want to demonize agile either. Because it really depends on the application domain. Though different domains still have quite different practices. I know Michael Jackson has argued for years that we shouldn’t be talking about software engineering but we should be specifying software engineering of embedded systems, software engineering for aeronautics, and so on. Because there are particular demands of problem-solving from many of the domains. And there are domains that are much more amenable to this kind of emergent, evolving understanding of the problem and the cost of getting it wrong is not at the same scale. Though if we’re talking about a scientist developing scientific software for use by his or her team, you’re talking about something that can evolve with the scientific understanding. Whereas if we’re talking about software that’s designed to drive an airplane, we’re talking about something very different. You really need something that is extremely well-engineered and extremely well-understood and tested and so on.

JESSICA:Exactly. We’re never going to solve tests versus types or any of the other great debates in software engineering until we divide the field into contexts where different things apply.

ANDRE:Yeah. Yup.

MARIAN:But also know that you can use almost any of the tools tactically. So, using formal methods – it’s not that people don’t use formal methods. They use them where they count, where there’s going to be a payback on them. So, in many of the teams that I observe, they’ll use formal methods but only for a crucial piece of code where they really, really, really need to verify it. And they won’t use it for the whole of the software system where there isn’t the payback. And I think the notion that you’re actually trying to use methods that are fit for purpose for elements of the problem, not just one approach throughout for the whole of a complex product, is actually quite interesting.

JESSICA:Ooh, I like that word. Instead of gradual typing I’m going to start talking about tactical typing.

ANDRE:There you go. Design is hard, right? And actually admitting that and realizing that and working with it for individuals to get a level of comfort with that, I think is – if anything comes out of this particular podcast, if two other designers realize that “You know, my job is hard. And there are ways for me to reflect on my practice and hopefully instill some better practice in my teammates,” that to me is important. When I think about software, I’d say the hardest part is design. Because in some ways, the requirements are design, the code is design, the architecture is design, the interaction is design. And they all interlock and they all interplay. And to acknowledge that and figure out collectively that we are not going to be able to throw a silver bullet or a hammer at it and say “Now we have solved design for all of humanity,” is just not going to happen. And so, to give individual designers the leeway, the right, the understanding that they are doing a difficult job, they must be given time to spend on doing that right, is an important lesson for me.

MARIAN:A great deal of my own computer science education was lessons in how hard I could wield the hammer, that if I had the right expectation about how difficult something was going to be to do, how hard it is to read code and understand it, then I could do it. But if I thought it was going to be easy, sometimes I failed. I faltered because I lost faith in myself and in the process.

CORALINE:That reminds me of a tweet that has been going around lately. And that was something along the lines of “As software developers, if you tell a newcomer that software development is hard, you might discourage them. If you tell them it’s easy, they’re going to get discouraged on their own when they struggle with it.” So, we need to be thinking about how we describe the work that we do and be a little bit more nuanced with it so that we’re not setting people up for failure.

ANDRE:It’s interesting. It’s fascinating. It’s engaging. It’s challenging. It’s a lifelong job. There’s a lot of other words I would choose for [inaudible].

CORALINE:Definitely, yeah.

JESSICA:It is the best job.

ANDRE:And also, we also have a great responsibility as designers too. When you think about the hospital and the job that the doctor has to do, today’s medical systems have actually taken them away from performing surgery and talking to patients. And how can we actually design systems that rectify that, both software-wise and organizationally-wise? There’s numerous challenges like that in all sorts of domains out there that I think for software designers to really tackle and engage with is just an important responsibility we have as a discipline.

MARIAN: I also think that relates back to understanding the role of the human in the system, all the way from design through implementation, through application and use. Because until we really respect that these are systems that work with people, we’re going to come up against the kinds of issues that André is talking about.

ANDRE:And I also want to say that I have an incredible respect for the people out there doing design.

MARIAN:Here, here.

ANDRE:We’ve actually come such a long way. And to see the way in which they engage with the problems, how they like engaging with the users and how they like teaching each other and how they like sorting things out, seeing that in action is a privilege to me as a researcher. And then to hopefully give back with a book that spreads some of that knowledge and that spreads some of those insights beyond the people we’ve observed, that would just be great.

CORALINE:We like to end each podcast by reflecting on the conversation we’ve had and highlighting the things that we want to take with us and think about a little bit more and some calls to action. So, I’d like to start. One of the things that really struck me, and initially I had a negative response to it and then as you qualified it my response changed, was talking about gurus. And I think, I have an instinctive knee-jerk reaction against relying on gurus because I think that cults of personality develop around certain people, especially in the open source world and it’s not always warranted. But you made an important distinction that there are two types of gurus: those that inject their expertise and see themselves as rulers over these knowledge domains, and there are those that share their expertise and are actually working to distribute decision-making and they’re contributing but they’re allowing space for other contributions. So, that’s a really interesting way of thinking that I want to sit with for a while. So, thank you for that.

MARIAN:Great.

ANDRE:Welcome.

REIN:I’m going to have to try to pick a small number of reflections because there were so many things. One is early on when we talked about the democratization, Coraline to use your words, of knowledge, of decision-making, is that this is a seismic shift away from top-down command and control management by numbers, the hallmark of which is the decisions-making is held in the hands of a few of the managers and that the workers don’t get to bring their brains to work. They just do what they’re told. And the alternative to this is a more democratic way of working where the workers do get to bring their brains to work and they do get to make decisions. And this has a lot of important positive outcomes. Decision-making happens closer to the point where it’s needed, all sorts of things.

Another is when you said that a defining characteristic of experts, and I’m paraphrasing, is that they choose among their methods and actions based on the results that they offer. And this is true about experts but it’s also true about certain organizations and those organizations are called steering organizations. And one of the things that I focus on is how do you get that to be an organizational competence rather than just an individual competence.

JESSICA:There are a couple of phrases that I really liked. One was the part where if you count tickets and story points and hold people to those numbers then they’ll just squash the bug. But in high-performing teams, we don’t squash it. We study it or we follow it back to its nest. We learn about all its parents. Yeah. That’s way more fun. I like that.

The other phrase that really struck me was experts are in the room twice. That we’re both participating and thinking about the discussion on a meta level. And that happens on this podcast. It’s rather challenging but it’s one of the nice things about having a good editor is that we can both be in the room and go meta and think about what we’re talking about at a higher level. That’s why I love that.

JAMEY:I was really struck by something that was said almost right at the end about designers. I’m going to preface this by saying that I think a topic that gets brought up a lot in general in these types of discussions and that I do think is really important is that a lot of people seem to think design isn’t hard. And obviously it is. But I think this often gets framed in like “People should appreciate designers because designer’s jobs are really hard.” And I think that’s true, but I really like the way that you worded it. It was like “I hope designers can say you know what? My job is hard.” And I hadn’t thought about that as an internal thing rather than an external thing necessarily in that way.

And that’s so important, because it’s important to be appreciated by other people in your organization or in your industry, but if you don’t have an appreciation for yourself and the fact that you’re doing something that is difficult, then you have no basis to be kind to yourself, I guess. I think it’s really easy to be like “I messed this up and I did a bad job and I’m so dumb,” or whatever. And being able to say “No, my job is hard and I do a good job on it almost all the time and sometimes I make mistakes because people make mistakes and it’s very difficult,” is a really important basis to have.

MARIAN:Error is opportunity is a really good lesson that I’ve taken away from the experts. It’s true.

ANDRE:For us to engage in a conversation like this, that’s what we do when we’re out there with industry. And time and again, and again you prove this right today, we learn from the conversation as well. We have several pages worth of notes here of literature to study, behaviors that you’ve hinted at, things that we can look at in more detail, segues into other places that, that is what makes our job as fun as it is – is the interactions with people in the industry and people who are willing to think about what they do. And so, let this be an open invitation, not just to you but to everybody who’s listening. Anybody who wants to talk with us, would like to have a conversation with us about what we do, or about what they do, and tell us lesson number 67, 68, 69, we are more than happy to engage in that conversation. It’s just too much fun not to.

MARIAN:And I’d like to second that, because one of the reasons that this has been such an engaging conversation is because you are all providing a beautiful example of being reflective practitioners, of thinking about what you’re doing, of people who read around and understand, try to understand what the consequences are of Satir’s Change Model, software design [inaudible]. That’s the exciting part. And I actually think that that’s more typical of professional developer behavior than many people assume.

CORALINE:Well, I want to invite you both to join our Slack community because you’ll definitely have the opportunity to engage with thoughtful people who are asking those questions about themselves and about our industry. So hopefully, we’ll see you there.

And I want to remind everyone that if you support us on Patreon.com/GreaterThanCode at any level, you can join André and Marian and all the panelists and all the community members in these kinds of conversations. So, think about contributing to us.

ANDRE:You’ll see us very soon.

JESSICA:Yay. Yeah, Marian, André, thank you so much. I knew this would be fabulous.

SAM:Hello, hello. I am pleased this morning to welcome Aditya Mukerjee to the show. Aditya is an entrepreneur, investor and engineer based in New York City. He studied Statistics at Columbia and Computer Science at Cornell and was once a nationally ranked wrestler, so there’s really nothing he can’t do. He enjoys playing German-style boardgames and listening to embarrassing music. You can believe we want to know more about that. And he organizes identity hackers, which is a group for LGBTQ+ engineers in New York. Welcome to the show.

ADITYA:Thank you. Thanks for having me.

JAMEY:So, we usually like to start off our shows by asking our guest, what is your superpower and how did you acquire it?

ADITYA:So, my superpower is the ability to find really great parking spots when I’m driving. So, back when I still lived in Boston and owned a car, I was going with some friends to a concert. We were seeing The White Stripes at Agganis Arena which is in Boston. It’s a massive arena. It seats like 8,000 people. And we were running late for the show and so, we had no idea where to find parking. But I just put in my GPS where the arena is and so we drove straight there. The show started at 8. We arrived at 7:40, driving right in front of it. I would say probably 20, maybe 20 feet from the front entrance, it was perpendicular to the entrance, there was no way to find a spot closer to the curb. We found an empty spot with metered parking and we parked there. In addition we found that there was… it was 20 minutes to 8 meters. You don’t have to pay after 8 in Boston. And there were already 30 minutes left on the meter at that point. So, we did not even have to pay.

SAM:Nice.

ADITYA:We parked there, walked 20 feet to the front entrance, and got in. Of course, this is a superhero power which while useful at times is almost never needed for me in daily practice anymore because I live in New York and I don’t own a car. That’s kind of a waste.

JAMEY:Does it work if you’re a passenger in someone else’s car or do you have to be driving?

ADITYA:It’s mostly when I’m driving, yeah.

SAM:Yeah, my partner has the same superpower and I often make her drive two places. And I say, “Well, I’ll drive home but you need to be able to find a parking spot where we’re going.”

[Laughter]

SAM:It’s super useful, though. It’s great. So, is this something that you just, you got your learner’s permit and immediately started finding rockstar parking or was it something you developed over time?

ADITYA:Yeah, no. It was just as soon as I got my license, it happened everywhere. I would get amazing parking spots. I don’t really miss driving, living here and taking public transit everywhere. But it almost does make me feel like I need to drive every now and then just to keep up my powers.

JAMEY:Amazing.

SAM:So Aditya, what’s on your mind these days?

ADITYA:So, one of the things that I’ve been thinking a lot about recently…so my background is in statistics and machine learning and artificial intelligence are pretty hot buzzwords these days. But it’s really important for us also to take a step back and think about the ways that we’re introducing algorithmic decision-making into our daily lives and what some of the potential pitfalls are. And some of them we’re actually already starting to run into. One of the biggest dangers is that just beyond the technology and beyond how well-designed any given algorithm is or any given say, recommendation engine, we also need to understand how it affects our perceptions of the tools that we’re using.

So, to give you an idea, if you present someone with a decision and tell them “This is a decision that I made,” they’re a lot more likely to question you and to be skeptical of that than they are if you say “Here is a decision that was made by our computer, made by our computer systems, made by our recommendation engine.” We’ve trained ourselves to trust computers to a degree which may or may not actually be deserved. Computers aren’t infallible. Computers are programmed by humans and the recommendations that we teach computers, computers are very good at learning all of the same cognitive and other biases that humans themselves have. The problem is that computers are a lot less explicit about it, sometimes. When they are explicit, it’s sometimes amusing. But oftentimes it can hide itself. And that’s really dangerous, because we don’t, as human beings, we’re not really trained to recognize problematic decisions or biased decisions in algorithmic decision-making the same way that we are trained all our lives to recognize that when it comes from another human.

To give you just an amusing anecdote around this, I took a screenshot of this. I was watching Netflix a few years ago and it gave me… Netflix shows the top things that you might like and it tells you the reason. So, it recommended for me ‘Barney Sings the ABCs’ and the reason that it recommended that was ‘because you watched Law & Order: SVU’.

SAM:Naturally.

ADITYA:So, it’s very easy to understand where that decision came from. A lot of parents will watch ‘Law & Order: SVU’ and then let their kids use their Netflix accounts. And if they’re not always signing into the kid’s profile beforehand, you can easily see how those two things become very highly associated with each other. But if you take a step back there, it’s a little bit creepy to recommend those two things in tandem, first if all, but also it’s almost never appropriate. There’s almost no one who actually wants to watch ‘Law & Order: SVU’ and also wants to watch ‘Barney Sings the ABCs’ themselves. They might put it on for their kids, but you’re not actually presenting them with a reasonable decision. And so, this is what I mean. We’re trained to recognize in this case a very obviously bad decision and so it’s kind of funny. But when it’s a little bit more nuanced, when you’re presenting things to people that might contain remnants of human bias but not in such an explicit form, it’s a lot harder to recognize.

JAMEY:Do you have an example of that?

ADITYA:Yeah. There are a number of ways that this pops up you might see on social media every now and then, because it particularly happens with regards to LGBT media and also media that is, I would say adult-oriented. Not necessarily pornographic but might feature adult themes or nudity, but not necessarily explicitly pornographic. And we don’t… a lot of times algorithm, the algorithms that we build don’t readily distinguish between those two things.

So, this has happened a few times where Amazon and YouTube had each repeatedly purged the channels or products that are just books or channels about LGBT life or books written by or about LGBT characters. And it’s very obvious what happened there. And oftentimes to give them the benefit of the doubt there, I don’t think that someone at Google is actually sitting there and going through and removing all those channels because of explicit anti-LGBT bias. There might be some people there, but I don’t think that’s what’s happening systematically. What’s really happening is that we had these assumptions that LGBT and adult themes and pornography are somehow all connected, even though they’re not, in daily life. And so, we encoded that very implicitly into our algorithms.

Of course, it’s hard to actually pinpoint this. And this is one of the problems with machine learning getting more advanced and our tools for AI becoming smarter but also becoming more difficult to dissect and to reason about. We see this a lot with using neural nets for translation now. And we’ve reached the point where neural nets can be used to translate… they say it’s used to translate whole sentences. What they really mean there is that they don’t actually know the components of each step that’s happening. So, it takes a sentence and then spits out another sentence on the other end. That doesn’t mean it’s translating the whole sentence. It just means that they don’t know like, we’re translating one word at a time or phrases or words. It’s basically become a black box.

And we know that as humans we have these biases. We have these preconceptions. And we also know that we’re the ones who are training these algorithms. So, it’s pretty reasonable to think that we’re training them to act like we do. But the difference is we can’t pinpoint anymore to specific parts of that behavior and say, “Here’s where you made that decision wrong,” the way you could with a human when if you say, “This is the bad decision that you made. Here’s why you made it and here’s why it’s wrong.” You can’t really do that with a computer, because it’s not how computers work.

SAM:That reminds me of something you said earlier about how we are not as good at recognizing the effects of bias from a machine decision as we are at recognizing bias in decisions made by others. And I found it very telling that you didn’t say, “Recognizing bias in decisions that we ourselves make.” That reminded me of one of my favorite cognitive biases which is called the bias blindspot. And I’ll just read the first sentence of the Wikipedia definition. It says “The bias blind spot is the cognitive bias of recognizing the impact of biases on the judgement of others, while failing to see the impact of biases on one’s own judgment.” And the other thing I was thinking about with that was that if we look at the decisions that a biased AI puts out, if they agree with our own biases, we’re going to look at that and say, “Oh, that’s totally fair,” unless we’ve been specifically trained and are actively looking to counter our own biases, and we know what they are.

ADITYA:Exactly. It’s very hard for us as individuals to recognize our own biases. And in some way I would say it’s actually even harder for us to do it if we’re the ones who are writing, for those of us who actually write these systems that make these decisions. It’s harder for us to recognize because we have that attachment to it. It’s the same introspection problem, but then of course at the other level. We’re no longer reasoning with a human being. We’re no longer reasoning with something that we actually are trained to think about in that level. And it’s something that I will say, it’s also a bit of a problem in how we teach these topics.

So, we talk about statistical bias as something that doesn’t really have actually the same meaning as the word ‘bias’ in colloquial speech. But when we talk about how to construct models or we talk about… when we learn the fundamentals of statistics and of machine learning, we don’t actually spend a lot of time on something that’s really critical to the field which is, how do you actually reconcile a problem statement, like something that comes up in the real world, with the actual concrete steps in the models that you build to solve it. We do it at some level sometimes but there’s not as much of a focus as I think there really needs to be. Because that’s the crucial part of it.

Building models in some sense is easy. Building statistical models is kind of easy. But actually evaluating whether or not those techniques really do solve the high-level problem that we care about, that’s a lot trickier. And if anyone says that that’s actually easy, I would really challenge that because it’s probably a sign that they’re not actually thinking about it in as much depth as they really need to. You almost can’t think about these things too much because there is no one-size-fits-all framework for it. And that’s what makes it so challenging.

SAM:And part of the reason that we use these statistical models is specifically because they’re good at finding those weird connections between things that a human might not consciously notice, right? But by the very same token, that also means that the models themselves are very opaque and difficult to reason about, right?

ADITYA:Exactly. The exact thing that makes machine learning powerful, the fact that it can recognize things, recognize patterns that humans cant, and the fact that it can do so very fast, is exactly why it’s so dangerous. If you have a whole crew of people who are reviewing YouTube videos on a daily basis, if you have one bad actor in there, and bad actor doesn’t mean malicious, just you have one person who’s making bad decisions, their impact is going to be pretty small. If you have that same person training a system to make those decisions, their impact is obviously going to be much wider.

SAM:Congratulations. You’ve just scaled a bad actor.

ADITYA:Exactly. We don’t really put much thought into that. When you put it in that way, if you say would you take someone who has a history of making these bad decisions and put them in charge of an entire team that’s responsible for that, you’d say no. It still happens, but we would pretty much readily agree and recognize that that’s a bad idea. But if you say, “Would you take someone who has no experience with making these decision or that has not proven themselves to be thinking about, in this case again, YouTube videos, in an unbiased way, in a way that’s actually in line with the values that we ourselves hold, would you have them design an algorithm for flagging those videos? There would probably be a lot less hesitation around that. And there needs to be. It’s not something that in product development in general, we’ve really trained ourselves to incorporate as something that we look for in who actually designs and develops and builds these products.

JAMEY:It’s interesting to me that you use the word dangerous because one of the things that’s been on my mind as you’ve been talking is the possibility of creating a biased feedback loop almost. Because we build these machines and we maybe accidentally put our biases into them. But then because people are less likely to question machines, putting that out, put out into our world, our society, I think is likely to re-cement those biases in other people. I was thinking about that originally when you were talking about Netflix. I think this all ties in because there was a mistake on Netflix a year ago where they accidentally categorized the Babadook movie as an LGBT movie. And that was funny. It was kind of funny, and people in the community…

ADITYA:I remember that.

JAMEY:Were like “Yes. The Babadook is our new gay icon.” It was a funny meme. But it did change the way that people thought about that movie. I know a bunch of people who watched that movie only because of that. So, that’s not maybe necessarily dangerous. That’s just a joke. But then I think when you’re talking about flagging YouTube videos and this idea that LGBT themes are related to adult themes and pornography, once they’re getting flagged in that way and people are seeing that, I think that’s reinforcing this fetishization of it.

ADITYA:The Babadook is a very good, it’s a humorous example. But it’s something that we already seeing the ways that life is influenced by algorithmic decision-making. And there is that feedback loop that you introduced. It’s not too hard to imagine a second order filter bubble. You’re familiar with the filter bubble as a concept where you have Google or Facebook for example essentially presenting different views of the world, essentially, to people because of what it thinks as people would be interested in. But of course, you’re interested in things that you see and you develop more interest in things that you’re exposed to. And what is the 10th or 11th or 100th or 1000th layer of feedback recursion there? We don’t really know where that all leads. But it would be irresponsible of us to design these systems and not think about that at any point.

The other aspect of this is sometimes the connections that we draw with our decision-making may not actually have the same semantic contextual or cultural meaning that we actually want to express. Another example of this that happened a couple of years ago was that for a while if you searched for LGBT dating apps on, I think this was on Android but it may have been iOS, on either app store, one of the top recommendations that you would get was actually for a gay conversion app. And on some level, you can see why yes, those two things are connected. There’s a very clear connection between those two. And you can even see why people who are interested in one might technically be interested in the other, not for the same… they might not be interested in using it. They might be interested as a point of contention or something that they’re focusing their outrage on. But there is still a degree of connection there. Of course, we haven’t taught a machine to recognize what the contextual meaning of surfacing those two together is.

And we haven’t done it because it’s hard. But of course, just because something’s hard, that doesn’t mean that we shouldn’t be trying. I’ve seen very little interest or research into how to encode contextual and cultural meanings into our model-making, into algorithmic decision-making. They’re oftentimes introduced as a second layer. Like we’ll have a human check certain results or we’ll have a flagging system. And that’s okay. But that’s sort of a cop-out answer to say “We’ll still have a human checking this.” It’s not that it’s impossible to teach machines how to understand culture and how to understand context. We’re taught machines how to understand language, for some definition of understand. We just need to focus our attention in making sure that the cultural and semantic meanings of, in this case recommendations or decisions that we’re surfacing, again that they represent the values that we actual set out to uphold.

SAM:Right. And putting a human in the loop really just brings you back to the same scaling problem that you had that caused you to introduce the machine in the first place.

ADITYA:Exactly. Another place where we see this manifest at a much more technical and also a level where there are much higher stakes is in medicine and care delivery and health tech. So, this is also something that I’ve thought a lot about. Before my current job I actually founded a health tech company and I worked on that for a couple of years. And it’s something that I’m not in the health tech industry right now for a number of reasons, but I still recognize that it’s a very important… there’s a lot of important work to be done there. One of the challenges that health tech has is in adapting to algorithmic decision-making. Medicine is a field where there hasn’t really been a whole lot of algorithmic decision-making historically because there actually just hasn’t been a lot of data. We have a lot of data but from a clinical standpoint, not all of it is necessarily very useful. I can explain what I mean by that in a moment. But to drive home the algorithmic decision-making part, it’s actually affected the types of treatments and medical care that is available.

A lot of the research that’s done on treatments is done on either very, very specific segments of populations based on disease categories. So for example, African Americans who are suffering… overweight African Americans who are suffering from diabetes. That’s a very specific category. Or they’re done with a very general population like people over the age of 65. And of course in medicine, you’re not dealing with aggregates as you practice medicine. You’re dealing with individuals. And different individuals have so many different intersecting needs and comorbidities and medical histories that you actually really do need to tailor treatments, particularly for more complicated conditions, to individuals. But we don’t have the means to take the data into account, because that data may not exist. It may not be ethical to collect.

And it may, the dimensionality may be too high. I actually heard the CIO of Weill Cornell Medical College once say that once a patient is on three or more medications at a time, there is no evidence-based medicine, which is a really scary statement. Think about how many people take three or more medications on a regular basis. And medications in this sense could even include caffeine or alcohol, drugs that people take that they aren’t necessarily prescribed. Most of the population is on three or more medications on a regular basis, certainly most people that are receiving medical treatment. And just looking at the… as engineers we understand what it means for things to explode exponentially or combinatorially. And that presents a real problem because even if you had a hundred billion humans in the history of humanity and we collected really granular data about every single one of them, we may still not have enough data points to generate the decisions that we need to.

So, what do we turn back on? We turn back to very general studies, which then fall into the opposite problem that they fail populations that are not well-represented there. We’ve seen this happening in… psychiatry is a field where this particularly pops up. It turns out interestingly that there is a certain enzyme that’s needed. I forget the name. It’s not a particularly memorable one. It’s needed in order to catalyze a lot of psychiatric drugs. So, most antidepressants, most antipsychotics, a lot of really common psychiatric medications. If you don’t have this enzyme, you can take that medication but it won’t have the actual desired outcome. You’ll just get a lot of side-effects and you won’t have the actual intended effect. You might be able to see where I’m going with this. It turns out that that gene is not evenly distributed across the global population. It turns out that it’s common in… over 80% of people of white European descent have that gene. I think it’s definitely under 20. I think it’s under 10% of people of African descent have that gene.

And even there, we see the problems of collecting this data. What does “of African descent” mean? What does “of European descent” mean? Those are very broad categories. But we already can tell that there’s an issue there. And so if we wonder why certain outcomes… like we see the different results in medical care for black Americans in the US and also different things like higher rates of homelessness, higher rates of other associated things like crime or incarceration, those things oftentimes can be tied to, maybe not directly to, things like mental health. But indirect causes of that stem from untreated medical conditions, can be a contributor. And if we’ve recently realized that we actually don’t even have the means to treat a fairly large and underserved population, segment of the population, with most psychiatric medication, where does that leave us?

And of course, the reason, bringing this all back, the reason that we’ve arrived here is because of the limitations of statistics, the limitations of, I wouldn’t say statistics as a discipline, but the ways that we apply it within medicine. And again, a lot of those limitations are fairly understandable. Some of it’s the state of the world. We can’t invent more people just to do experiments on in the way that we can do experiments on computers or physics in a lab. There are a lot of ethical concerns around it. It still has lots of [inaudible] impact. And if you want to start talking about making algorithmic decisions about treatment based on that same kinds of data that have already led us to these problems that we see even with humans interpreting that data and applying it, you can see where the potential for negative feedback loops, Jamey as you mentioned, where we’ve started. We can start to amplify that to a degree that becomes really disastrous for society at large.

JAMEY:I have a question that’s kind of related but not extremely related to everything that you just said.

ADITYA:Sure.

JAMEY:So earlier, you said that people are more likely to trust computers’ decisions than they are other people’s decisions. But we also talked about the three medications and how you can’t have that kind of…

ADITYA:Evidence-based medicine.

JAMEY:Yes, evidence-based medicine. Thank you. And I’m wondering, the question that this is turning up in my mind is, how do you think the general population feels about automation? Because in my experience I feel like people are frightened of automation, in a lot of ways. And then when you were saying about people trusting computers’ decisions, I was like “That makes sense.” But also I think people are afraid of automation and I’m wondering how that fits in together for you.

ADITYA:I think that I would draw a distinction between automation, automation in the sense of something like self-driving cars. That’s automation. But that’s not really algorithmic decision-making. Obviously there are algorithmic, decisions that are being made algorithmically in the process. But people don’t think about that as… the problem that we’re solving is not the problem of how to make a decision algorithmically. The problem that we’re solving is how to get from point A to point B. That’s different from saying the algorithmic decision of “How do we treat this person’s cancer?” or “What dosage of this medication do we give?” And you can easily reframe those two problems to be equivalent. So, instead of the question of “What dosage of this medication do we give?” the problem is “How do we keep this person alive?” But that’s not the way just for whatever reason that we as humans think about those problems.

And so, I think that people are probably more afraid of automation on a day-to-day level than they probably need to be. Something like cars. Cars are actually already largely automated. They’re not self-driving yet, but the cars that you’ve been buying for 15 years, so much of that is… there have actually been computers…

JAMEY:Cars is what I was thinking of, too. Because…

ADITYA:Yeah.

JAMEY:People are like “Well, if there’s going to be an accident, can you shift back to manual control?” And I’m just thinking like “That’s exactly when you don’t want to shift back to manual control.”

ADITYA:Yeah.

JAMEY:The car is going to be better than you at that.

ADITYA:Exactly. And in fact, that’s the part where we’ve already automated. Those are the parts of driving that we had automated for 10 to 15 years anyway. And people aren’t afraid of that because that’s not the way it’s presented to them. But people are not afraid of those decisions because they’re not presented in that way, but they are afraid when you present it as a problem of automating the process of driving because it’s a process of integrating all of those many algorithmic decisions into the overall end result of automating an action where people’s, I think, expectations and fears don’t always align one-to-one with what’s going on.

And I wish that people were, I think, a little bit less afraid of that kind of automation in the integrated sense, and a little bit more skeptical of the individual decisions that… algorithmic decisions that are going on. I do trust my car. But I don’t necessarily say a recommendation engine to provide me with what I want. And I certainly don’t necessarily trust a computer system that’s going to say “Here’s the medication that I think you need in order to treat your condition,” because I have very low confidence that it’s taken all the right appropriate variables into account. I don’t necessarily have that confidence in a given physician either, but at least I have the ability to talk to that physician and engage in a dialog there. You can’t really engage in a dialog with a large system that’s engineered by many people simultaneously.

SAM:Yeah, I can’t even keep track of code in applications that I’ve written. I can’t even imagine what it would be like to try to track down code in Watson for example.

ADITYA:Exactly. Watson’s a really great example of the power of these, the raw power of these tools. Something like solving Jeopardy, or sorry, solving the problem of how to win Jeopardy is a very well-scoped problem. There are very few societal implications to that directly. And it’s a pretty binary decision. You know whether or not Watson won. But it’s that next step of taking those decisions that it’s making and figuring out which problems to apply them to and whether or not they actually solve our societal problems where it starts to break down. I might want Watson to win Jeopardy for me if I ever got on Jeopardy and I could enter Watson in my place. But I might not want Watson to, in fact I definitely would not want Watson to be outsourcing all decisions for my own personal medical care or even something like my personal finances.

That’s something that’s, to bring it a little bit way from medicine because that’s only one aspect of it, personal finances are also, they’re fairly objective to a degree. You can measure your result in a way that most people would agree on. And there’s a lot of automated decision-making that happens within the finance world. But on an individual level, we still actually haven’t solved that perfectly. Because there are a lot of different things that people care about with their money. Where their money should be, when they have access to it, what types of things they want to support with it, maybe ethical constraints about what things they want to invest in. And those are things that are very hard for us to take into account with the ways that we currently design our computer systems.

And again, that’s not to say that we can’t take these things into account. But we haven’t built all of those systems. We haven’t built all those systems yet. If there’s on ray of light or glimmer of hope I can point to here, it’s that medicine in particular is a very difficult problem. We’re not going to solve that, the problem of algorithmic decision-making in medicine, any time soon. But with finance, we might. With finance there’s a lot more data to be collected and there are far fewer ethical constraints about collecting it. And a lot of the lessons that we learn from the finance world about how to manage things like individual decisions around managing money, could be applicable to how to manage individual decisions about health. And again, I’m talking about the structural technical models that we’re making, obviously not the exact decisions themselves.

And one other thing, if anyone came to me and said that they were interested in health tech and figuring out what sorts of problems computers and statistics could actually help solve, it’s actually very funny that some of the biggest open questions in medicine and in care delivery are actually the most fundamental ones. We’ve developed things like, some medical treatments that are out there are absolutely mind-boggling how advanced and how complex and how well they work. But at the same time, one of the largest unsolved problems in care delivery is a cost-effective way to intervene in someone’s health and get them to change their decisions.

So, a very easy and obvious example is being overweight or being obese is very strongly linked to a lot of other conditions like diabetes and heart conditions and all sorts of other things. And obviously, holding everything else equal for a person who’s overweight, if they lost weight and attained a healthy weight, they’re much less likely to develop many of those conditions. We don’t have a cost-effective way to get people to change their behavior because losing weight obviously requires a lot of active effort on that person’s behalf.

SAM:If it’s even possible at all. There are certain medical conditions that make it difficult, of course.

ADITYA:Of course, yeah. And I’m speaking… and thank you for pointing that out. I’m using this as an example for a couple of reasons, one of which is that diabetes in particular, it’s comorbid with so many other conditions, which means that it appears alongside many other conditions that it’s oftentimes used as the go-to example of a particular medical condition that affects a wide range of people simultaneously. Because it’s not restricted to ethnicity or gender or sex. It affects a wide swath of population. And at the same time, it’s also largely potentially prevented through lifestyle [reasons] or the flip-side of that is it can be very easily exacerbated by decisions that an individual can make. And we don’t have an effective way to intervene in people’s health. If you see someone who’s in their 20s, we don’t have any mechanism that is both reliable and cost-effective across a wide section of the population to get them to change their behavior. There are individuals who might choose to, but we don’t have any means that that scale across a population.

And again, this is not… losing weight is just one particular type of intervention and for one disease category. There are many others. But even something like that, we don’t… it’s been a big open problem in medicine for 50, 60 years. There’s a lot of potential for technology to augment that decision-making process, a lot open potential there. We just haven’t actually tapped it yet. That’s where I think that the power of statistics and machine learning can really impact medicine and care delivery, if someone wants to. But we need to start investigating and building the structures that allow us to tackle these problems in the first place.

SAM:So, one of the things that we discussed before you came on the show was the idea of storytelling. And you’ve been using stories to illustrate some of your examples. But I really wanted to talk about the importance of storytelling to programmers, because I feel like it’s something that is really underappreciated.

ADITYA:Sure thing. So, the way that I think about it, storytelling is a life skill. It’s not just a career skill or technical skill. And so, it’s useful to programmers for the same reasons that all life skills are useful to all people. And there are some ways that it can in particular augment our daily work. But storytelling is how people communicate. I’m Bengali. I grew up, we have a very strong culture of storytelling. It’s actually so strong and so ingrained that even though I was born in the US, I grew up in the US, it took me until… growing up I never realized how much storytelling isn’t as explicit a part of broader American or western culture the same way that it was for us growing up. Because it was so ingrained in us. Telling stories is the way that you have a conversation. For us, it is the way that you have a conversation. It is the way that you convey expression or meaning. And so, that’s a little bit of my personal bias of where I’m coming from.

But I’ve also noticed that it’s a very powerful communication tactic and also career or professional skill to have. The ability to illustrate data with stories is crucial. As a statistician I can give you whatever figures and facts and numbers that you want, but unless I’m actually able to craft them into a narrative, it’s not going to actually resonate. you’re not easily going to remember it afterwards. And for engineers, storytelling is the way that we can actually apply meaning to the code that we’re building. I can write amazing, solid code to solve a problem. But unless I’m able to convey to you the importance of that or the meaning or the reason that it solves some technical problem, you’re not really going to understand it. You’re not going to be convinced to use it. If you’re a product manager, if you’re a CEO, you’re not going to be convinced this is something that’s worth investing in.

And storytelling, more broadly, it’s not just a matter of, we think about stories as things that have a start, a beginning, and end. Like there is a climax somewhere around there. There’s a conclusion at the end. And that’s not the way that stories have been practiced. Storytelling is, it’s the way that we connect the dots of our life. If we think about all the different actions we take on a daily basis, if you think about this in little dots, storytelling is “How do I actually synthesize those into a coherent narrative?” And so, when you’re having a conversation with say your manager about why you’re working on the stuff that you’re working on, or why you want to work on some stuff that you’re not working on, that’s a matter of storytelling. And people think about that as negotiation skills. People might think about that as logic and reasoning and argument, like the skills of having a rational argument. That’s all true. But it all boils down to the art of telling a story at the end of the day.

And it’s not because… there’s a tendency for engineers in particular to look down on this because we think of storytelling as appealing to emotion and we think of emotion as bad and we think of emotion as being antithetical to rationality.

SAM:Because we all secretly want to be Spock. Except that would be a terrible idea.

ADITYA:Exactly. We have these assumptions about emotion and reasoning as somehow being incongruous with each other, which are really damaging. And they’re also just incorrect. Telling a story to convey a narrative is not a way of concealing logical data. It’s a way of highlighting it. Another way to put it, so I work on the observability team at Stripe. And I’ve got… observability, we are responsible for providing engineers with the tools to investigate their code, investigate their systems, and understand why… is something failing? Answering that question, answering “Why did it fail?”, “What do I need to do to fix it now that it’s failing?” The ability to explore the internal state of their systems.

And one of the tools that people use to do that are logs. But log files are actually a pretty bad way to deal with this data at scale. Because sure, if you have a distributed system that has a thousand different machines in your cluster, yeah you could tail all of those logs and look at them. But it’s not going to give you anything useful. You could grep through them. But that’s still not going to be a really great way of exploring data. You need some sort of narrative that you’re going to extract from it. Because if you’re analyzing what could be hundreds of megabytes or even gigabytes worth of log data per second, no person is going to be able to analyze all of that. And storytelling is analogous to the process of taking all that log data and extracting it and synthesizing it into summaries or aggregates.

And so, I don’t view storytelling as something that’s somehow disconnected from the rational, empirical, data-driven work that we do on a day-to-day basis. It’s the way that we actually take that empirical, data-driven work that we do on a day-to-day basis and then make it useful to humans. Which is, at the end of the day, who we’re actually serving.

SAM:Yeah. I see storytelling also as a way that I can help educate my fellow engineers. So, if there’sa bit of code that has been historically very problematic, I need to tell the story about why that code sucks and how I was able to change it and make it more palatable. And I need to have my fellow engineers understand how that happened, how the new solution works. And I can’t do that by just saying “Okay, here’s the new code. Sit down and read it at your leisure.” It really helps if I’m able to say “Well, here’s this one thing that was hard. And I took this trick and I applied it here and it made this one thing a little bit easier.” Tactically I also use it, I also use storytelling in Git commits. So, if I’m doing one of those big refactorings, I could commit the whole thing all at once. Or what I find is often much more useful is I’ll take each individual step of that refactoring and I’ll commit it individually. And then people can say “Oh, this little thing changed. And then that little thing changed. And then that little thing changed. And that made this clearer. So, I was able to change that other thing.” And then by the time you reach the end of the story, you understand how you got there and why the thing works the way it does.

ADITYA:I really love that, the example of Git histories in particular, because it really strikes an aspect of this that I find very powerful. Yeah, the code… as I said, all the actions we take on a day-to-day basis are these data points that can be synthesized later on into a story. But it’s on us to craft a narrative around that that’s actually useful to other people. And that may or may not be a linear narrative. Like with Git, you could take those commits. You can rearrange them. You can squash them. You can split them up however you want. And you can even rewrite history. You can do it out of order. And so, the narratives that we craft with our lives that we craft when we communicate to other people, they may not be linear and that’s okay.

As I said, stories don’t have to have a concrete beginning, a middle, an end, with a climax and a conclusion. They just have to have some sort of a connecting theme and some way, some sort of, for lack of a word, flow or progression, between all those. I hate the word progression because it implies that we’re progressing towards a known outcome. But it just has to have some sort of connections between all of them. And so, I love using Git as an example there because Git as you said, it can be a really useful teaching mechanism for that exact reason. You’re conveying… you’re taking something that may have been very scattered for you. I don’t know how it is for you, but at least for me the process of writing code is not necessarily linear. I don’t know exactly how I want to solve a problem.

SAM:No.

ADITYA:Right. If that’s how it is for you, I’m sure we’re hiring, we could probably use someone who knows exactly what they need to write and never makes any mistakes along the way. But…

JAMEY:We’re also hiring.

ADITYA:Yeah, right?

JAMEY:[Laughs]

SAM:Yeah, but that person is going to be no fun to work with.

ADITYA:Yeah, and that’s the thing. That’s the thing, is that I say that as a joke, but you’re right. I wouldn’t want to work with that person, because that person wouldn’t have the ability to take a rather messy points of data, here are all the many different commits or attempts that we did over time, and here’s how we actually are going to come up with a solution. The coming up with a solution part, that’s the story that you’re telling. And you don’t highlight all aspects of data in the story the same way in a book, you don’t read every single detail of their lives. The author is choosing which parts are actually going to be relevant.

Storytelling is not just a way to add emotion in the place of data where data doesn’t exist. It’s the way to actually take that data and make it relevant and accessible to people when they need it to be accessible, which is at the end of the day, why we’re trying to do any of this in the first place. What is machine learning but trying to take data and make it accessible to people? Maybe if we actually thought about machine learning and algorithmic decision-making as the process of telling a story, using computers to tell a story, we might end up with a different of paradigms for machine learning.

JAMEY:I almost want to take this storytelling thing a little bit farther when you were talking about the way people think that emotion is the opposite of empirical data and rationality. And the way I see it, it’s not just not the opposite but it’s almost, you have to blend them into one if you’re going to actually get something that’s true.

ADITYA:Yes.

JAMEY:Because when I was listening to Sam’s story about his code and solving problems, I was thinking about taking into consideration the emotional state that somebody was in. If I’m writing a piece of code and I’m feeling very anxious about it, this is something I struggle with because I have anxiety disorder… and sometimes I’ll be like “I know how to write this. I know what I’m doing. It’s not that I’m writing code that doesn’t work,” but because I feel so anxious about this piece of code, sometimes because I’ve been working on it for a long time, that affects how I’m thinking about it. And it affects how I’m working. And so, sometimes the answer really is, looking back on it, why is this like this? And it’s like “Oh, it’s like this because Jamey was feeling anxious while they were writing it.” If you can’t take that information about how I was feeling and integrate it into how you’re thinking about this piece of code, you’re really not getting the full story about it.

ADITYA:Yeah. There’s a way that you could look at this and say that if you look at open source projects, how much of open source project work actually happens in the repository itself? The larger the project and the more important the project, the less and less that is. If you look at a very large project like the Go programming language or Kubernetes or the Linux kernel…

JAMEY:Npm.

ADITYA:Yeah. And so much of the work that makes those projects happen happens on mailing list, on IRC, on Slack channels, in Twitter conversations, and in-person meetups or interactions, in conferences. And those are all part of the story. And it’s easy to say “Well yeah, the code that’s shipped is the stuff that matters,” but that’s just the tip of the iceberg. At that scale, you wouldn’t get all of that code, you wouldn’t get all those great contributions if you don’t have all of that supporting work that contributes to it. And as you said, once we start looking at all of that work as a part of the project itself, as you said, taking into account things like “What are the mental or emotional states of the people who are writing it at that time?” or “What’s the purpose? What’s the subtext of this pull request? Why is this actually being submitted?” Sure, we can analyze it and see what it does, but why is the person submitting it? Is it because they’re really frustrated with this one error message and they’re just writing this as a political move to bypass some other component of the system that they don’t like? Are they doing it because they’re very excited about these other things that it will leverage?

SAM:And if the person who had written that pull request had been able to tell the story of why they were doing it, you wouldn’t have to try to reconstruct that story in your own head, right?

ADITYA:Exactly. And conversely, a lot of the most powerful or important discussions we have in open source development are the ones where people actually do include those in their pull request. This is case-dependent. Not every pull request needs a very long story. But particularly for larger, more important features, it’s oftentimes, in my experience those have been… people have had the most success in getting people on board with large technical migrations or large technical changes when they’re able to present that story in that historical context as a part of the decision-making process as opposed to just the thing that led up to it, or stuff that happened in the past.

One thing I would add is that we’ve been talking a lot about storytelling and why it’s important. For anyone who’s listening to this and thinking well, I’m not very good at storytelling. How do I actually develop this as a skill or integrate this into my life? There are two pieces of good news I have. One is that I’m saying that storytelling is something that I think of that’s very important but at the same time, it’s not something I have professional training or experience with. This is something that I just noticed over the course of my life and my career that it’s been a very powerful and important and relevant skill. So, it’s not something that you need to be professionally trained in, in any way, in order to make this skill useful in your daily life. It’s just a general skill, a general pattern. And observe yourself and the opportunities you have to craft narratives in your written or spoken communication, for work or just personal life.

The other useful recommendation I have is regarding public speaking as a particular skill. Storytelling and public speaking are not the same thing. They draw on a lot of the same underlying skills. And the ability to do an effective talk, like deliver an effective conference presentation, is very related to the same skills needed to tell an effective story. The difference really is entirely in how rehearsed or how prepared. It’s the context. And this is something I’ve actually, I’ve done a number of technical talks, not just on technical matters but also on training people, like how to give a technical talk. And this is basically the core of that, which is practice storytelling. Practice it in your daily lives. Practice it in your written communication, because that will help you learn to articulate your thoughts on paper in the same ways that you would need to do it verbally and orally to deliver a talk.

And for public speaking in particular, there are a lot of great opportunities out there. I live in New York which obviously is the center of theater and performing arts. But even in other places, if you live in smaller cities or not near a city, there’s a good chance that you live near some sort of, if not a performing arts school, like a community college or basically any place where you have a lot of people who have backgrounds in acting or theater or performance arts in general. You’ll probably find good classes or workshops, whether that’s improv workshops or actual public speaking classes or anything along those lines. They’ll all help you develop the same adjacent skills to storytelling.

A lot of it is really just though the frame of mind. It’s not so much that you take improv classes to learn how to react quickly in situations and how does that actually apply to storytelling? No. It’s that it trains your mind. It’s cross-training. Like if you go to the gym. You’re cross-training. You’re learning how to be more aware of the ways in which individual dots connect into a larger narrative. And you’re just training yourself to start to recognize those patters and craft those patterns on a higher level.

SAM:Well unfortunately, we have reached the part of the show where we have to get ready to say goodbye. But first, we get to have some reflections. This is anything that we thought was particularly interesting or can be a call to action or anything that our listeners might take away from this or just that we’re going to take away from this. And for me, I really liked the talk about storytelling the most at the end. It’s a really useful reminder for me to be a little bit more aware of how I can tell a story. Because I do, I think I do some of this instinctively but I could be a lot more explicit about how I tell my stories in my code and in my emails and my chatrooms and everything else that I feel I could be a lot more effective if I actually focused on that a little bit. So, thank you very much. I appreciate that.

ADITYA: Sure thing. For me as well, that conversation is also the most striking. And I really loved the comment that you made. I’m so glad that you used the example specifically of Git commits and how you presented a pull request, because it made me think of in that code review. If you look at it, if you look at pull requests as a story that you’re telling about the code, code review is a chance for the reviewer to be an editor, like an editor of that story.

SAM:Yeah.

ADITYA: And I know code review is something that a lot of people, there are a lot of different takes on it. A lot of people I think have trouble with it or a lot of people have different opinions on how to tackle it because it’s a hard problem. And I really like the paradigm of thinking of yourself as an editor for the story that you’re adding to this longer epic that’s your project. I’m going to start doing that with my code reviews.

JAMEY:I want to talk about something that we discussed earlier in the show about machine learning and how you mentioned that the reason that we haven’t figured out all of the solutions, like all of these machine learning problems that we talked about, is because they’re really hard. And that was striking to me because I’ve been thinking a lot about some of the same kind of ethical conundrums in what we do as developers. And one of the questions that has been in the forefront of my mind is the difference between “Can we build this?” versus “Should we build this?” I’ve been kind of thinking about that in terms of as developers we really like solving problems, like interesting problems and difficult problems. And I think there’s a risk of getting so caught up that we forget to think about what we’re doing and hopefully not building stuff that’s awful and terrible. And so, I like thinking about this from the opposite perspective that I have recently. Like you’re saying doing the right thing is like a hard problem. And I kind of like looking at it that way because we like hard problems.

SAM:Right?

JAMEY:So, we should be doing this. Why would it being a hard problem stop us from doing it? That should make us excited about it. And it kind of makes me excited about it. And so, I think that’s a good perspective.

ADITYA:Yeah, I love that. It’s a great way to frame that as a challenge, in language that Silicon Valley really does understand. Because I do think that this is a very actionable problem. We just need to commit ourselves to taking it on.

JAMEY:Awesome.

SAM:Well, [inaudible] Jamey. Thank you both very much for participating in this conversation. I had a lot of fun. I learned a bunch of stuff.

For our listeners, I just want to give you a quick reminder that we are in fact a listener-supported show. So, please do your thing at Patreon.com/GreaterThanCode.

SAM:Hello, hello. I am pleased this morning to welcome Aditya Mukerjee to the show. Aditya is an entrepreneur, investor and engineer based in New York City. He studied Statistics at Columbia and Computer Science at Cornell and was once a nationally ranked wrestler, so there’s really nothing he can’t do. He enjoys playing German-style boardgames and listening to embarrassing music. You can believe we want to know more about that. And he organizes identity hackers, which is a group for LGBTQ+ engineers in New York. Welcome to the show.

ADITYA:Thank you. Thanks for having me.

JAMEY:So, we usually like to start off our shows by asking our guest, what is your superpower and how did you acquire it?

SAM:Hello, hello. I am pleased this morning to welcome Aditya Mukerjee to the show. Aditya is an entrepreneur, investor and engineer based in New York City. He studied Statistics at Columbia and Computer Science at Cornell and was once a nationally ranked wrestler, so there’s really nothing he can’t do. He enjoys playing German-style boardgames and listening to embarrassing music. You can believe we want to know more about that. And he organizes identity hackers, which is a group for LGBTQ+ engineers in New York. Welcome to the show.

ADITYA:Thank you. Thanks for having me.

JAMEY:So, we usually like to start off our shows by asking our guest, what is your superpower and how did you acquire it?

REIN:Good morning, or whatever time it is when you’re listening to this. I am here with my friend, the colorfully-haired Jessica Kerr.

JESSICA:Good morning! And I am thrilled to be here today with Sam Livingston-Gray!

SAM:Woohoo! And I’m happy to introduce the prodigal Janelle Klein.

JANELLE:And we’re here today with Rehema Wachira. And she doesn’t fit the typical profile of a software developer. She is a self-taught coder from Nairobi, Kenya whose passionate about making a positive impact on people’s lives through technology. She’s a graduate of the University of Virginia. And she first started her career working in advertising. And then after learning about product development, becoming intrigued with the complexities of coding, she began teaching herself the basics of Python. So, with only two months of coding experience under her belt, she applied and was accepted to Andela’s development program where she now creates code that’s used by companies every day. Welcome.

REHEMA:Thank you. Thank you so much. I’m really happy to be here.

JANELLE:We’re excited to have you here, too. So, the way we usually start this is by asking a question about your superhero powers. So, what would you say your superpower is and how did you acquire it?

REHEMA:Hey, that’s an interesting question. I think for me, it would have to be empathy. I think. My mom used to work for nonprofits for most of her career. The majority of her career, actually. And she has a big heart. She cares a lot. And I think she would bring that home and that’s something that I would witness and sort of absorb as well. And it was really important and it made me good at my job when I was working at nonprofits and when I worked in advertising and communications.

I wasn’t so sure how it would apply to being a developer but I actually more and more am realizing just how important it is to have that empathy to see people not just the way you see them but to be able to see people the way they see themselves. And to be able to understand things from their perspective, really putting yourself in their shoes. It’s important just for everyday life but also when we’re building things. To me, code is a tool but it’s also always an expression of who you are and the way that you think in the way that you write the code. And so, being able to put yourself in a potentially user’s perspective I think adds more to the thing that you create at the end of the day. So yeah, I like thinking about empathy not just as a personality trait but as an actually really useful took for navigating the world, especially as it becomes more complex.

REIN:Superheroes also usually have an origin story. Can we talk about origin stories in tech for a minute? I think that you said that you don’t have what you would consider to be a typical origin story for a developer. So, in my mind that’s the, for my generation it was you grew up with an Apple2e in your parents’ basement and you wrote BASIC when you were five or something. What was your origin story like? And how do you think that has given you maybe a different perspective than other people who are in the industry?

REHEMA:Well to begin with, I’ve never had a basement. [Laughs] That’s not something that we have in Kenya.

SAM:Well done.

[Laughter]

REHEMA:But yeah. I always thought that I would do something with my life related to helping people and communities. Again, I think stemming from what my mom did. And I was one of those kids for whom school wasn’t that difficult. It was fun. I enjoyed learning things, especially the humanities and languages and all that good stuff. Good at the sciences as well but really terrible at math. And I just didn’t think that I was a logical thinker. This thing that we tell ourselves and we tell kids from a very early age of like, if you’re good with languages and humanities, then that’s how you think and that’s where you should stay. And then if you’re good at maths and science, then you’re logical and that’s a completely different thing. And we sort of put people into these different categories from very early on. So, I always thought I was going the humanities route. And even when I went to college, I studied political and social thought. My major literally was called Thought, something that my parents were not too happy about but they got over it. But essentially that was the way I was thinking about my life and my career, was in terms of how I help people and thinking about systems and the human systems that we build, really. Society, culture, all that good stuff.

But it wasn’t until I was working for a company, a telecommunications company in Kenya, the biggest one in East Africa, and they created a mobile money payment solution that is pretty revolutionary (and I can talk more about that because it’s really cool), way before you guys had Apple Pay and all that stuff. We’ve been sending and paying for things using our mobile phones for the last 10 years. So, I was just fascinated by the impact that that had, just seeing what it could do for communities for individuals and for financial inclusion. It just, it blew my mind. And I was like, “Okay. So, if you can create these things, if people can do this, then why can’t I also be one of the people that creates things.” I wanted to be more involved in actually shaping solutions and creating them.

So, I was interested in product, actually. I wanted to start building products. And I figure if I know a little bit of code, maybe that can help me be a better product manager. And when I started playing around in Codecademy and all that stuff, I realized, “Hey, wait. I actually really enjoy this. I’m writing stuff and things are happening.” [Chuckles] And that feeling really got me excited. And I just continued with that, trying to figure out how I could get better at it. And a short while later, found Andela and applied to join their program and yeah, and now here I am as a developer. And sometimes when I say even as introduction to other people like, “I’m a software developer,” it still sounds a bit funny to my own ears. But it’s cool. [Laughs]

SAM:You said something interesting just now which was that you thought that learning to code could help you be a better product manager. And it’s funny how many programmers I don’t hear say things like, “You know, I thought that learning more about the humanities would make me a better developer.” And I feel like we do, just societally, we do such a tremendous disservice to kids who are good at math by not making them study more of the humanities. Because there’s so much out there that we could benefit from.

REHEMA:Absolutely. Because at the end of the day, everything that we build is within a particular context, right? Whether business context or social context, we’re putting things out there that other people have to interact with. And if we don’t understand the human systems that affect those, then I think the solutions that we build can never really be true solutions. And it’s so important because I have met people who are so focused on the code and they’re like, “Just give me the specs and I’ll build the thing,” and I’m like, “But there’s a whole world that you have to build for and that your product will live in.” And if we don’t have a sense of what that means and then importance of it, then I think we’re missing out in a big way as developers.

JESSICA:Yeah, and that world is full of human systems which are even more complex. I found it interesting in your bio that you enjoy coding because of the complexity of it?

REHEMA:Yeah. It struck me as a field where when I started to think about a possible career in terms of getting into this and really looking at it for the long haul, it struck me as a space where I would continuously be learning. And that was really important to me as well, because at some point in some of my previous careers I was looking up the ladder and looking up the chain and thinking, “I don’t feel like excited by what’s in the future.” Like if I try and imagine myself five years down the line as a marketing manager or something like that there were parts of it that really excited me, things that got me into the field in the first place, but I wasn’t super excited about it. But when I think about a possible career as a developer, and not just as a developer but what it could mean as a product manager, as a person who creates things, hopefully also as an entrepreneur, the skillset and the fact that it’s a field that’s changing so often is what I find really exciting about it. And the fact that you also have to do a lot of deep work, a lot of deep thinking to really solve problems, the problems in front of you, that kind of complexity also I think is just really fascinating.

REIN:So, when you say complexity, I’d like to maybe explore that for a minute. Because I get the feeling that you may not mean algorithmic complexity or cyclometric, like ‘how many branches there are in you code’ complexity. What do you mean by complexity?

REHEMA:Yeah, so you’re absolutely correct. For me, the complexity is in, I always think about things in terms of what can this help solve in terms of a human need. So for me, complexity is in terms of ‘Are we able to build something? Are we able to build a product or a solution that can address things at various layers or various levels of understanding or reach or depth?’ essentially. So, if we’re looking at creating the mobile money solution for instance, in Kenya, if the problem is we need an easier way for people to be able to send money back and forth to each other because we don’t have the right banking systems that make banking accessible to the vast majority of the population, how do we make that happen?

So, one way of thinking about it is, “Oh, let’s just have this service where I can send money to you, you can send money to me. Done.” But what has happened in Kenya is that it’s gone way beyond that. It’s not just about sending money. It’s also about savings. How do you create a savings culture? How can you use technology to remind people or to prompt people to start planning their finances and thinking through long-term how they’re using their money and where it’s going and how they can better track and monitor it? How are they able to seize opportunities to get loans for small businesses and enterprises? And are we linking that back to financial education?

So, that’s why I mean by complexities. It’s more in terms of the human complexities that we live in and how we can use tech to address all of those different things. I think as I continue in my learning and in my career and as I continue to get deeper into trying to solve for those different problems, things like algorithms and things like how to optimize different kinds of systems, the nitty-gritty, I think that’ll start to become of more interest to me once I can relate it back to a bigger picture. Does that make sense?

REIN:So, the complexity for you comes from the computers, that system interacting with other systems, usually humans, right?

REHEMA:Exactly, exactly. Humans and the infrastructures that we create. So again, in the same thread of the financial systems, how do we integrate that back with banks and make sure that they are actually serving people in a way that’s meaningful to people but also useful for them as a business, right? So yeah, for me that’s the area of interest.

REIN:Software would be a lot easier if we didn’t have requirements.

REHEMA:[Laughs]

SAM:Or people.

REIN:Or people.

REHEMA:Or people. [Laughs] It would also be a lot less fun. [Chuckles]

SAM:This is true. So, you talked about creating a savings culture and I find that really interesting that you’re talking about using technology to affect the larger culture in that way. Is that something that you think is just something that you’re personally interested in? Or is that a major value of the culture that you’re in?

REHEMA:Yeah, I think a culture of saving is important, and especially so in a country where traditionally banking has not been accessible to the majority of people. So, companies that are in this space and that are trying to create and promote a culture of savings obviously have their own personal interest, which is the more money you put with them, the more money that they make. But I think it also goes much deeper and much larger than that because it does affect people’s ability to pull themselves out of poverty, right? So, in Kenya right now there’s big talk about a growing middle income. And you can definitely see it. Kenya’s a country that’s going through a lot of changes and we’re the biggest economic powerhouse of East Africa. So, there’s a lot of activity happening here. But how do you make sure that that’s a tide that’s raising all boats? So, the way that people have access to and are able to understand and interact with their money is super important, super big part pf that.

ASTRID:So Rehema, it almost sounds like your major that you talked about, that social and political thought, is actually…

REHEMA:Yeah.

ASTRID:The beginning of where you start thinking about these problems as opposed to the side-effect that you hope will happen in the end. And because of that, it looks like what you’re doing, well not just you obviously but other people who you’re working with, is that you’re creating a physical infrastructure by using technology instead of maybe augmenting or changing or even just adding to some other infrastructure that already exists. And that changes the way you ask questions. Do you think that some of what you’re doing can be translated to other systems that are not already set up to think about that stuff first? And how would you suggest somebody start changing the way that they solve these problems?

REHEMA:That’s huge, right? So recently, I learned about civic tech as an area that I guess a lot of people and interestingly enough a lot of cities are getting into, at least in the west. So, I met somebody who worked for New York’s, I can’t remember if it was part of… I think it was part of the city’s push to start using data science more effectively, essentially. And they were creating or they were using different maps and applying different algorithms to them to try and figure out as the city grows and as different types of infrastructures pop up in different parts of the city, how do you optimize for the populations that are there? So, if you notice that a whole bunch of high-rises are coming up in one part of the city, then you can figure out if you need more buses. Or do you need to add more libraries or more public amenities? Things like that. So, a very smart way, literally smart as in, you know what I mean [Laughs]. Like a smart city, essentially.

But thinking about how you build right from the get go instead of using information that may be outdated or anything like that, you essentially have this data constantly at your fingertips. And so, city planners are able to tap into that and look at all this information and be able to make smart goals and smart planning based off of data, which I thought was really interesting. So, there’s lots of different ways in which this is happening all over the world. And even in Kenya, open information type of movements and all of that where we’re keeping better track of what government is doing and what the public sector is doing to empower people.

REIN:Can I just mention that the phrase ‘diversity of thought’ has been sort of perverted to mean being able to be a bigot without consequence. But in my mind, this is what ‘diversity of thought’ really means. When someone like you approaches a problem, you may look at it from a way that no one else on your team looks at it. And that gives the whole team a better understanding of the problem.

REHEMA: Yeah. I think that’s the biggest argument for diversity, because at the end of the day, like I said earlier, what we build is an expression of ourselves. So, if I’m building and I’m thinking about the end user, then essentially I’m just thinking about myself, right? Because that’s the frame of mind in which I understand and interact with the world and that’s what I know best. So, it’s so important to have people from all different walks of life, different experiences. I think the challenge that a lot of companies have is, because this goes right through to hiring, to how the company talks about itself, to the type of people that it attracts. So, its’ one thing to talk the talk and say, “Yes, diversity is important for us,” and I think quite challenging for a lot of companies to actually figure out how to put that into practice. And making sure that as you’re sitting there in an interview with somebody across the table that you can somehow control for people’s biases, right? Because people have them and it’s like, how do you navigate past that? That’s a tricky one.

SAM:Yeah. It’s very easy as a company to say “We value diversity,” but it’s a bigger commitment to actually value it with dollars or local currency of choice, right?

REIN:[Laughs]

REHEMA:Yeah.

REIN:The other problem is hiring for diversity and then making everyone think the same way.

SAM:Right.

REHEMA:Yeah. I think that that’s also really fascinating, because you… I see this a lot in adverts or company profiles, especially in Silicon Valley where the descriptions all kind of tend to sound the same. “We’re super fun. We hang out all the time. We have lots of games and we all drink.” It always… they say they’re hiring for different people but you’re right. The culture always seems to be the same in every environment. So, the question is how do you create a world where within the company, a world where everybody can have their voice and be comfortable.

Something that I’ve been thinking about a lot that we discuss quite a bit here at Andela is extrovert versus introverts, and how the world is primed and built for extroverts. But how do we make sure that those of us whose energy comes from different places are also served just as well and feel comfortable in that environment?

JANELLE:I’ve just been kicking back listening to you and taking all these notes. And there’s this theme that I hear emerging in the references you’re making of continuously taking the problem that you’re looking at and then zooming out and zooming out and zooming out and relating it to that bigger picture. And that bigger picture always comes back to culture. And when you started and talked about your superpower with empathy and you mentioned your mom, I have that in the back of my head. And then I’m thinking about where we went with this discussion to the meaning of diversity and diversity of thought specifically. And what I’ve come to really appreciate in different people is to learn how to see through their eyes and to listen to them and see ‘How is it that you see the world?’. And when you learn how to look at the world through another person’s eyes, that’s where you really get that diversity of thought coming together in synergy.

And so, the question on my mind that I wanted to ask you is you’ve got this rich culture that comes from your mom and from Kenya and this savings culture and everything that means. And that’s given you a current set of eyes. And so, when you look at the human system around you, what I’d like to ask you is just what are the major patterns that pop out to you? What do you see?

REHEMA:Would this be specific to Kenya or just in general?

JANELLE:I think contrasting those things. If you think about that upbringing and you look at the things around you, I’m guessing what you see is a lot of dissonance with that culture. Like savings culture and what that means. Here we promote the complete opposite. It’s a spending culture, right? And that contrast alone is very distinctive. And it’s also in that meaning of diversity, right? It all comes together in that human system. And I bet given the things you’ve bene talking about, you see a lot of contrast in that. But it is contrast at the same time, like the smart city movement is very much happening. It’s very much alive here, right? But there’s a lot of contrast to that, too, of people stuck in the weeds in their thinking where you’re like, “Bigger picture. Bigger picture. Bigger picture.” Like an echo.

REHEMA:Yeah. So, when I’ve been fortunate enough to travel, I spent a bit of time in the US. And when I contrast these different places that I’ve been in and the different spaces I move through, I think one thing that always strikes me is how to some extent, people are fundamentally looking for the same things. It’s just how they go about actually getting them that tends to be very different, or even how they will talk about how they go about getting them. So, I don’t know. The interesting thing about comparing people in Nairobi specifically to people in for example New York City is there’s a very similar drive towards being active and active in terms of hustling. Like, I need to get to this next thing. I need to get this next gig. I need to push and push and push.

And I don’t know. It’s interesting how people will describe what they are doing, because here it’s very much like that’s the accepted thing. Whenever people from outside come to visit, they’re always fascinated by the fact that so many developers are doing other things completely unrelated sometimes to actually being developers. You have people who have farms. You have people who are like, raising livestock. You have people who are doing very different things. But here, it’s just part of the culture and the energy of the space. So, it gives the two cities very similar energies in terms of being very almost frenetic and high-speed. But at the end of the day what people are looking for is a sense of independence, a sense of control over their lives and their incomes in many ways. In Nairobi that’s very much geared towards ‘I need to do this because for me, but also because I need to support family’. In places like New York, it’s ‘I need to do this for me because I need to be at a certain level and have a certain level of accomplishment’.

So, people are sort of going after the same things in what seems to me to be increasingly similar ways, like the gig economy and all that stuff. But the way that they talk about it here, they’ll always try and frame it in terms of “I’m doing this because people need me to do this.” Or people often are the only breadwinners or have come from outside of Nairobi and therefore this is their one big break and if they don’t make it then the world falls apart. So, that’s been interesting to see. I don’t know if I’m really getting on, I’m really touching on what you’re asking in terms of the human systems. I don’t know. I might need to think about that a little bit more.

ASTRID:It sounds like what you’re saying Rehema is that they’re doing the same sort of things but in the context of the values of wherever they’re from and what’s going to be rewarded. Is that right?

REHEMA:Yeah, yeah. I think so. I think so.

ASTRID:Earlier in the conversation you were talking about how people kind of get tracked into different routes, like you’re good at math and science, you’re more humanistic. And some of the things I’ve been thinking about lately are similar and to like, how do you stop making it about those specific traits and more about how people think? And you had also mentioned how the reason why you wanted to pick up more coding skills is because you wanted to be able to make things. And so, I wanted to ask you what you thought about creating and making as something that is more neutral in terms of you’re not really talking about how you’re doing it. And if people can start to think of themselves as wanting to be creators and if that can help them switch their mindset a little bit and give them more access to maybe something that they weren’t trained to do.

REHEMA:Absolutely. That’s something that’s actually quite close to my heart [Laughs] as an area of discussion. So, like I mentioned, growing up school was fun for me. And I think I’m quite lucky for that, because I know for a number of people, it wasn’t. And I think for me it was fun because again I enjoyed learning. I enjoyed the process and act of learning. I did well in my studies and so I got a lot of positive feedback. “You’re smart. You’re clever. You’re intelligent. Good job.” That all fell apart once I got to college, actually. I started a bit late. I think I joined about a week after everybody else did. And I had put myself in this, I guess it was an accelerated intermediate Spanish class or something like that. I’d only done Spanish for three months before then, but I somehow tested into it. And I was excited. I loved learning languages, which probably also explains why I love being a developer. But I was excited and I joined the class and I realized that it was a week late but I figured, “Oh, I’ll just catch up.” And I never did. It was a four-credit class and I think I got a D by the end of it. So, this is first semester, first year, new country, university and all of that. And I was failing that class that had the most credits.

I think that was my first major experience with failure and I completely fell apart. I didn’t know what to do. My whole identity was built around this idea that I am clever, I am an intelligent person. Nothing should be too difficult for me. Failure shouldn’t happen. And I completely fell apart. And it took a while, probably the rest of my college career and a lot of time after that, to realize that essentially what they call the ‘growth mindset’ versus ‘fixed mindset’ of me believing that I was a certain way and it was therefore a fixed amount of intelligence that I had and I had surpassed it when I failed and realized that I had used up my quota of intelligence, so to speak. And that was that. But fortunately, over many sort of almost painful years of trying and failing and trying and failing, I got comfortable with the idea of failure. And reading about growth versus fixed mindsets and seeing people who are a lot more comfortable with experimenting and creating helped me realize that actually, I needed to change the way I think about things.

And it’s interesting because to me, being a creator, when you’re in the context of development it’s very specific. Like, yes there was nothing there and I built something and now there’s something there for somebody to interact with. But I think it applies to everything. Like, people who cook, people who make music, people who write, people who do haircuts. The idea of being a creator to me matters or integrates with the idea of a growth mindset because essentially what you’re saying is, “I’m going to take a blank page,” so to speak, “and I’m going to put something on it. And I’m going to see where that leads.” And it doesn’t have to be perfect from the get go. And even if it goes wrong, I can always fix it, change it, scrap it, start again, and create something else. So to me, that mindset of being comfortable, being a tinkerer, being comfortable with just playing almost with things and just to see where they lead, has been really important, like shift in my mindset.

When I started writing code, I was terrified of breaking anything. I always thought that to even begin writing the code I needed to know the exact right way to approach a particular problem. And I would spend hours trying to google and research and figure out, ‘What is the right way?’ before I would even begin. And it took me a lot of unlearning to get past that and to be comfortable making mistakes, essentially. Hopefully none that cost my company anything. [Chuckles] But being comfortable with that frame of mind. And I’m applying it to all different areas of my life. Learning how to play the ukulele, for instance. I’ve always loved music, always wanted to learn how to do something and how to play something. But I was always like, “If I’m not going to be perfect, then why begin?” which is a terrible way to go through life because essentially you never do anything. You never challenge yourself. So yeah, I’m all about thinking about myself and having other people think about themselves as creators.

REIN:I think there’s a whole conversation we could have about the value of mistakes, per se. But I just wanted to mention this one neat trick that I learned from Virginia [Set] here, which is that whenever you catch yourself making a statement about who you are that comes from a fixed mindset, like ‘I don’t know how to write JavaScript’ what you do is you tack the word ‘yet’ at the end.

ASTRID:I love that story, Rehema, because I feel like there are so many people who when they hear will be nodding and saying, “Oh my god, that’s me. Oh my god, that’s me.” And we don’t hear enough of it because there tends to be a lot of discussion about how amazing you are and how you got to be so amazing and how your amazing is so special that nobody can be amazing like you.

[Chuckles]

ASTRID:And there’s not a lot of discussion about “Yeah, this was hard and I failed. And then I tried and I failed again. And I tried and I failed again.” Even in the “tech failure stories” it’s always like “Yeah, they gave me a hundred million dollars and then that company crashed and burned, but it’s okay because I took a vacation and I thought about things. And then when I came back from climbing that mountain, I realized I could do this other thing.” And that’s really not helpful for most people to try to take that next step forward. So, thank you so much for sharing that.

REHEMA:Yeah, no problem. And one place that I really like to go to read stories about people who are still in the weeds and trying to figure that out, especially entrepreneurs, is Indie Hackers. I don’t know if you guys are familiar with that. They have a really good newsletter where people ask different questions but also a lot of people will just talk about their experiences trying to build something and the mistakes that they made. Which I think yeah, is important to hear that over and over again. And especially back now in my context of being in a developing country. We’re in a position where the majority of our leaders are a generation or two older than the majority of the population that they’re leading.

And I think the topic of empowerment is a difficult one. Because on one hand, you have a group of leaders who perhaps see things in a very different way and believe in a sort of “I’m going to tell you what to do so you should do it” type of mentality, the traditional teacher/student type of relationship where you don’t really have an opportunity to ask questions or at least in our context, you’re not really supposed to talk back to a teacher and question them or challenge them. And I see that a lot. We see that when we go and do mentoring or tutoring for kids in different schools. And you ask kids a question and everyone will be scared to respond, not because they don’t know the answer but because they haven’t been in an environment where they’re empowered to speak and to have their voices heard and that their thoughts are valid.

So, letting people know that it’s okay to make mistakes and it’s okay to try and to create and you have some agency in your world I think is such an important mindset to have, not just for us as we build things in our day-to-day lives, but in an entire population actually, of people who will become the next business owners and public leaders and all of that.

JANELLE: So, there’s no real right answer to this question. What I asked you was essentially ‘What do you see?’ because we were talking about this diversity of thought and perspective. And I wanted to be able to just see the things that stand out to you as a starting point. So, we got Nairobi versus New York City. Two cities, both very high-speed. And you’ve got this similar active drive and hustle, the similar culture in terms of push, push, push toward the next thing. And what you described as the importance of this is the sense of independence and control over your life, of your income, being able to choose your next goal, where you invest your energy, whether it be your money or your time. And at the core of this seems to be the essence of what it means to be a free human being. [Chuckles] And there’s constraints in terms of things that we shackle ourselves down with in terms of culture and shapes.

And we talked a little bit about identity and how we look at ourselves. And then you mentioned earlier about how technology has this role in shaping culture, in shaping that human system. And so, you’ve connected these things together. So, you’re always going big picture, big picture, big picture, right? And so, I’m wondering then, if these are the patterns you see at a societal level, how do you think technology has helped to shape those two systems similarly and differently?

REHEMA:I think one thing that always stands out to me about a difference between the two societies that I’ve moved through, Kenya and the US, one of the things that always strikes me about the US and I think for any foreigner who visits especially if you’re coming from a developed country, is you can see the history of the place. America’s very good at, and has been very good at, telling a very unified story to the outside world, to the international community, about its origin story, going back to superheroes. Its origin story, its ethics, values, the people who made it great, the things that they’ve built. And you’ll see monuments to that and you’ll see all of this massive effort to preserve a particular narrative in the history, right? I know the US last year was having some trouble with that. [Chuckles] But from the outside it’s always seemed very unified. One thing that I struggle with as an African is where to find that at home in terms of where the monuments to the people who’ve made our countries and our continent great, where the monuments to the things that we have built that have stood the test of time.

So, one thing that Andela’s director, country director of Nigeria, our Nigeria campus, his name is Seni Sulyman, he loves to say “Africa may have missed the industrial revolution but we’re not going to miss the technology one.” And I think that’s the thought that I think is really important for a particular generation of Africans in terms of “How do we build things that will last?” And how do we build things that can become part of that conversation and part of the monuments to what makes this continent important and incredible and amazing? And they don’t have to match what has made the west and what has made America important and amazing. We’re trying to create our own narrative and our own story.

So, in terms of how technology can bring that about for us, because technology is in many ways such a huge force for democratization (if I’m saying that correctly), it’s an opportunity to really build something that could change the narrative around the entire continent, if that makes sense. So, I guess in some way, it very much ties into why I wanted to be part of Andela and what Andela is all about. It’s essentially founded on the belief that brilliance is evenly distributed but opportunity isn’t. So, how do we create that opportunity? How do we make it accessible? So, we’re about creating an entire network of technologists that will be not only the leaders for Africa but for the world as a whole, to be global technology leaders and creating solutions in a world and a space that is really moving forward in a more inclusive and supportive way.

So, that’s an area where I’ve seen so far has been a huge difference between the African context and for example the North American one, where there’s a history there and a narrative that continues to empower young people in the US telling them that if you’re going to build something, it’ll impact the world. And that’s very true in Silicon Valley, I think. That’s the narrative in Silicon Valley. But in the US as a whole, you build products for the United States but they impact the world. That’s something that I think we feel very strongly about here now in the African continent, that it’s now our turn to do that. And we’re empowering people to do that. We’re building solutions that may begin locally but will impact the world, essentially. Does that connect? [Laughs]

JANELLE:Yeah, I thought that was great. There are so many great things in that of what I ultimately heard you coming to with technology empowers people.

REHEMA:Yeah.

JANELLE:And lets us have an impact, lets us not be invisible. And our narrative that we push forward as ourselves, this is the foundation of our identity. This is our story. And if you think about who I am, what it comes back to is, what is my story? What is the narrative I’m telling? And whether we’re telling that narrative as an individual, as a team, as a company, as a nation, there’s this echo of the same kind of human system that we’re talking about at all these different levels of abstraction, that bigger picture, bigger picture, bigger picture. That echo. And so, that’s kind of what I hear from you when you jump to these different tangents, is there’s essentially isomorphisms between these different contexts that are associated with identity.

REHEMA:Very much so, with identity and the story we tell ourselves about what is possible. Because if our identity is built around the idea that we missed out in this revolution, we missed out on that revolution, we don’t hear or see or tell stories about the things that have made us as the African people uniquely powerful and uniquely fantastic. If we don’t hear enough of those stories, then our idea of what’s possible, what’s in the realm of possibility is therefore very small in comparison to the kinds of stories that in the US, that you are told and that you hear about yourselves as a people.

So for me, yeah exactly what you’re saying, identity is so important. Because if we continue to push the ideas of what is possible, if we change what the stereotypical developer is supposed to look like and I present myself as a developer and I’m saying “I’m from Kenya, born and bred. I’m female. I changed careers. I’d done all of these different things,” and there’s so many stories here of people who come from such different backgrounds who are creating and building such incredible things, I think that narrative is so important. And that’s why Andela is more than just a company. It’s really a movement, because we’re tapping into that and saying “This is possible. We are here. We are working out of our native countries. I don’t have to leave my home in order to have global impact.” And that’s so important to me.

JANELLE:That’s beautiful. Because it basically echoes as a statement of identity “We’re just going to be superheroes. We’re going to choose to be superheroes and let technology empower us to make the world a better place.” That’s the identity statement.

REHEMA:Yeah, exactly. [Chuckles]

JESSICA:This goes back to something we wanted to talk to you about, which was you told us that sometimes you feel insecure about not having the traditional developer story?

REHEMA:Yes, yeah.

JESSICA:I love that ‘brilliance is evenly distributed but opportunity isn’t’ in relation to that. Because maybe it’s like we think of developers as having learned to program as children and been doing this their whole lives and they had computers as kids and this is how the grew up, and that’s the traditional getting into programming story. But maybe that’s not where brilliance is distributed. It’s where opportunity is distributed.

REHEMA:Precisely. Exactly. [Laughs] You’d be surprised the number of people who started learning how to code on phones here. They saw games or whatnot and they were just like, “Hey, let me just try and figure out how to make a game.” The number of my colleagues who first interacted with computers when they were in high school or once they were in college didn’t even have laptops of their own, borrowed from friends, because they were just, they saw something. They saw somebody write something or they saw a game or they saw a website and they were like, “Hey, I’m really curious about that. Let me figure out how to do this thing.” And now they’re here working for companies like Viacom. They’re working for companies like Facebook. And it’s amazing, right? And I think that every single day that I come to work and I’m working with people and I’m interacting with them, that always come to mind as why it’s so important that we do provide and we do give people access to different kinds of opportunities. Because it’s not always going to come from the most traditional or the most obvious of places. And there’s the whole narrative, I think especially in startups about yeah, they went to university and then they dropped out. And here it’s like, “Well, some people didn’t even have that opportunity to get to university.” but here they are still creating incredible things.

REIN:When you think about the global tech community culture, it is extremely anglocentric. And one of the outcomes of that is that work done by people that aren’t in the USA, Europe, especially people in the global south, is erased. We don’t know that it exists unless you go look for it. And even if you do, it can be hard to find. So, I wonder how many of our listeners knew that there was a system for mobile payments in Africa before Apple Pay was a thing. I wonder how many of our listeners knew that Chile in the early 70s had a cybernetic software-based system that managed their global economy that is the basis for a lot of work in cybernetics. It’s led to things like [Kybernetes] today. We don’t know that. If you go search…

JESSICA:Wow.

REIN: For that project, it’s called Project Cybersyn. If you search for it on Amazon, there are zero results and Amazon things you misspelled something else.

[Chuckles]

REIN:So, this work around the world that’s getting done in various countries that don’t speak English, that aren’t primarily white, is erased. It’s hard to find. And That’s a tragedy as far as I’m concerned. And I’m wondering what we can do about that.

REHEMA:Very true. I mean, even when you think about it essentially, to be able to code means to have to learn English. [Chuckles] Essentially.

SAM:At least the 50 or so keywords that are used in most programming languages, right?

REHEMA:[Laughs] Exactly. But even…

JESSICA:But the documentation.

REHEMA:Just to read documentation. Exactly, yeah. I was working with a developer from Albania and he was saying to me how when he started off it would take him an incredible amount of time because he had to, when he was looking something up [Chuckles] for every other word that he read, he would have to google that word. So forget just trying to understand documentation, which can be difficult enough in and of itself. He had to understand the language as well. And I never really thought about that because Kenya is predominantly, English is one of our national languages. So, it’s not something that I’d had to think about. And even then, you’d assume that because I’m coming from a country where we do speak a lot of other languages, that that’s something that I would be sensitive to. But it wasn’t until I met someone who was from somewhere where English isn’t even on the menu, he was like, “Yeah, that was actually a really big challenge.” But he’s grateful fro now the ability to learn the language because it’s helping him in other ways in terms of his education and his business opportunities and all fo that. But again…

SAM:Thanks, colonialism.

REHEMA:[Laughs] Exactly. Very anglocentric world that we’re living in. Yeah, I don’t know how we go about fixing that. I think part of it is telling these stories of people from different places and having their voices heard. The fact that you guys agreed to have me on here, I think that’s incredible because otherwise there isn’t much of an avenue for people from different parts of the world to tell their stories and have them heard on the global platforms. That’s quite tricky. But I do think that the tech world does it better than most though, even having said all of that. Because I think there is, okay with some caveats, I think if you’re working on things that are already deemed interesting by the Silicon Valley set, then yes, you’ll be able to maybe have your voice heard. If you’re working in spaces that are not directly related to the next Uber or the next e-commerce app, if you’re working on things that are more local to your context or even more focused on civic tech, then I think there is still more of a challenge there and we still need to highlight those projects because they’re just as important.

JESSICA:Yeah. And that gets back to the empathy of, can you appreciate a solution to a problem that you don’t have?

REHEMA:Right. [Laughs] Absolutely, yeah. I think that’s the biggest thing. I’m not entirely sure how that’s something that we can solve until we really appreciate what we were saying earlier about the importance of diversity and the importance of different people’s perspectives. Because at the end of the day, it might not be a problem that you have directly, but I think we should be able to appreciate and try to understand the difficulty that somebody else is having and how that solution then solves that. But yeah, that’s a tricky one. Because I think it means not just being able to imagine having a problem but to imagine how that problem then affects so many other aspects of somebody’s life, right?

So, I read about, sorry I watched a documentary actually about a coding competition for young girls in different parts of the world. And I think there was a group of girls from an Eastern European country. I don’t remember which one, but if I find it I’ll share it with you guys. And they had a problem where in their town, clean drinking water is very difficult to find. So, what these girls did is they built an app that basically pointed people to all of the wells in the surrounding neighborhoods and would have indicators for the level of cleanliness of the water or like at different times of the day or at different times of the month. I can’t remember. But essentially, a way for people to easily check and see which wells were most appropriate to go get clean drinking water. So, that’s a solution that’s very much tied into that particular area. But you’d also have to understand why, for you to understand how important their solution is, you’d have to understand how lack of access to sanitary drinking water can affect so many other aspects of their lives.

So, it’s not just about understanding a specific problem but understanding a whole context in which somebody lives. And that takes a lot of mental effort. [Chuckles] And I guess some people would find that to be too much work. But I think hopefully if we continue to tell the stories in a positive and inspiring way, more people would be interested, hopefully. And want to take part in those discussions. Because eventually, there will be some application or some learnings that they can take and bring back to their own context.

SAM:I’m really encouraged by that particular example just because it tells me that the tools of programming and creation are accessible enough that they can be picked up and used by people who have such different contexts than somebody in my position does.

REHEMA:Yeah. Technology as a tool is incredible, I really think. And so is the internet, which allows us to go and find out all of these things. But not everyone has access to [Laughs] internet easily. Which is again, another challenge. So, seeing stories like that and hearing about people who’ve been able to create solutions in that way is really inspiring but it’s also I feel like another reminder of just how important it is to make sure that these tools are actually more greatly accessible.

SAM:Oh yeah. I didn’t mean to imply that we don’t have a lot further to go. But yeah, definitely.

REHEMA:Yeah.

REIN:We were talking earlier about access to opportunities being unequally distributed. I think in my mind there’s another thing that’s very important that’s also unequally distributed, which is freedom of creative expression. The ability to…

JESSICA:Is that the ability to make mistakes?

REIN:It’s the ability to create on your own terms without being dictated by other people.

REHEMA:Can you give us an example?

REIN:Yeah, so… and I wouldn’t be doing my job if I didn’t name-drop a philosopher on one of these shows.

[Laughter]

SAM:Bring it.

REIN:John Locke, the inventor of classical liberalism, said that the basic human rights were life, liberty, and ownership of property. Wilhelm von Humboldt a hundred years later said that the basic human rights were freedom of inquiry and freedom of creative expression. And the example he gave is that if a craftsperson makes a piece of art of a sculpture or something like that on their own terms, we generally respect their creative expression. If they were told to make a thing by someone else, if they made it for their boss, we can appreciate the thing they made but not respect the way it was made. So, access to freedom of creative expression is necessary for art and I think it’s necessary for a lot of human growth.

JANELLE:I think this was the same thing I was seeing before in the contrast that I brought up freedom. And then Jessica made this funny face like, “What?”

[Chuckles]

JANELLE:And I was sitting there thinking about well, how does this fit in? But it’s this theme that I see repeating with this idea of basic human rights and being able to see all this potential of what could be. And then being able to have the freedom to reach for your dreams and to express creatively. And in order to do that, to not have shackles that hold us from those things, we have to have knowledge distributed. We have to have the opportunity to be able to experience these things, to have the basis of knowledge so that we can participate in that. And once we’re empowered by technology which is awesome because it’s just, we’re empowered by the ability, the things that we learn, by things that are in our mind. They’re not things that we acquire. They’re not materialistic things. It’s the ability to create with our mind, the ability to do free, creative expression. Think about what you can do with software. It’s amazing. It’s like magic. We can create anything we can dream, right?

And so, if you think about the freedom of creative expression as something that’s core and fundamental to be what it means to be human, and you bring back this contrast in culture of movement, movement, movement. We’re always pushing forward toward the next thing. And then when you look at that system and how technology influences the culture, then you’re like, well what if this was the thing that we all looked at? What if we saw our potential? What if we imagine that we could build anything that we can imagine and we started working together to make that happen? What if we looked at the human system and started with smart cities you brought up? So, that’s sort of the similar theme i’m hearing, is there’s all this potential that we’re wasting because of our culture, essentially. Like barriers in our culture. And what if things like, we could tell our stories and identities and we could accept people for who they were and the way that they saw the world and their unique perspectives that they brought to the table? And you described those things at a team level, an individual level, and then at a national level too, which I thought was really interesting.

REHEMA:Yeah. Because I think the world that you’re describing would be utopia, right? And I think that we can get closer to it, inching closer to it, in different ways and with different aspects. But you’re right. I think that’s such a profound way of looking at the whole idea of human potential, and through human potential achieving an incredible almost nationwide or continent-wide potential. I think for the context of the African continent, access to that kind of freedom is something that we have been sorely lacking. And what you’re seeing now is this huge resurgence in music and fashion and food and all of these different things that help to cement and celebrate different aspects of different cultures within these different countries. And it’s so fascinating to see that grow, because I think the more that we celebrate in the things that we are able to do, the more people’s minds open up. And the more they’re able to start thinking beyond what we currently have and think about the opportunities of the future and how they can make the best use of that.

What’s been really fun for me personally is, so currently Andela is based out of three countries in Africa. We’re in Lagos, Nigeria, Nairobi, Kenya (where I’m based), and Kampala, Uganda. So, we have a lot of exchanges where we’ll meet and hang out with folks from the Lagos office or from the Uganda office and it’s just so fascinating to see and to experience and enjoy everybody’s differences and the cultures. Because they’re all very different. And we all get to interact and share so much. And I think that really adds to and builds to everybody’s sense of what we’re doing and what we’re building might look slightly different in each country but it’s all moving towards the same ideas and goals of opportunity and what can we do and what can we make of this opportunities that we have? What can we build for each other? What can we share with each other to help continue to grow and cement this movement? And I think that’s such a cool, cool way of thinking about it, what freedom can do for lighting a fire essentially, towards achieving such incredible things. That’s so exciting. I hadn’t really thought about it in that way. But that’s really cool.

JESSICA:Speaking of really cool, it’s now time for reflections. Who wants to go first?

ASTRID:I can go. What I wanted to bring up was what you had said Rehema about you having to unlearn this need to wanting to be perfect or wanting to have the right solution first. Because I think it’s something that happens a lot. I know for me it’s something that still happens to me a lot except it’s more under the radar whereas before it was top of mind. But now it’s, “Why haven’t I done this yet? Oh, because I think I have to make it perfect.” Or I want it to be this way, instead of just starting. And I feel that it’s applicable to actually writing code. But I think it’s also applicable in other aspects of your life where it’s very uncomfortable to be uncomfortable so much and I think it makes you want to retreat back to what you know so that you can at least feel some sense of safety again. And you have to push yourself to take baby steps so that you’re not still in the same place month after month, year after year. So, I thought that was a really great thing to remind everybody about.

JESSICA: One thing that stood out to me was that Rehema, you said that people outside of the US don’t often get an opportunity like this podcast to speak to people globally. And I’m like, “Whoa, our podcast is global?”

[Laughter]

JESSICA:But, but, but I think you have a great point there and we should seek out guests from all around the world and do this disparate timezone thing some more.

REHEMA:Absolutely. There are so many stories out there that are just waiting for a mic. [Chuckles] It would be incredible just to hear from these different people, to hear so many different perspectives. Because it makes our worlds all that much richer for it. But also because there could be real sparks of inspiration from people’s stories and the things that they work with and the things that they’ve created. If you guys could create that kind of a platform, I think that would be incredible because I also think it would be very, very unique.

JESSICA:Greater Than Code: The World Tour.

[Laughter]

REHEMA:Do it. [Laughs]

ASTRID:I like the sound of that, I really do.

SAM:One thing that really stood out for me was Rehema, your story about failing in your first semester of Spanish and you were talking about the fixed versus growth mindset. And that really resonated for me because a lot of the frustration that I feel in life really does come from that place of feeling like I should be good at something from the get go. So, it was a really useful reminder to me and hopefully to our listeners as well that I need to be more gentle with myself, that I need to accept mistakes as being part of the learning process, and how you get good at something is by [chuckles] being bad at something first. And Rein, I’m going to take your reminder to heart to add the word ‘yet’ at the end of my sentences now. So, thank you all.

REIN:I’m glad that we as a podcast are thinking about how we can add more diverse voices. I think we do better than most people or most podcasts in the game right now because our focus is on people and because we care about getting diverse viewpoints. But we’re still reaching into a really small pool. And there’s so much more that we could be doing.

And my other reflection would be that diversity is not just good for ethical reasons. It’s also a way to make your organization more competent. Because you need at least as much variety to solve problems as the variety of problems you have.

REHEMA:Absolutely.

REIN:And the way that you get that variety as an organization is through diversity of experiences, of viewpoints, of all sort.

SAM:And you have more problems than you think you do.

[Chuckles]

REIN:And so, if you want as an organization to solve harder problems, to become more competent, that’s where you should be looking.

REHEMA:Absolutely.

JANELLE:So, the thing that really struck me that I still got on my mind was right at the end you mentioned fashion. And so I’m thinking “Fashion? Where does fashion come into this?” But you brought up this idea of celebrating culture and celebrating our stories through fashion and how beautiful that was to be able to empower something like fashion. And when I started thinking about who I am and who we are and you start thinking about what matters to us, being able to express my soul, being able to express my art, that essence of creative freedom; and then I’m thinking about fashion and it’s the same kind of thing, right? We have all of our stories and all these things that we build which is the beauty that comes out of us. And that maybe if we just take a step back, that fundamental thing that we can do to influence the culture around us is just celebrating beautiful. And I think that’s ultimately the message I hear you echoing through all of the things that you’re saying when you’re admiring all these different cultures, when you’re admiring all these different people, is to celebrate beautiful.

REHEMA:Yeah. I think that’s probably yeah, my reflection as well, my takeaway from this. Because I’m all about opportunity and I believe in it so much but I hadn’t, even I hadn’t thought about it in terms of fundamental right to freedom, which I think is such an incredible way to think about it. Because technology as a tool, like we said, it democratizes. It has so many applications. Like you said, it’s like magic, right? You can create entire worlds with it, which I think is what so many of us love about this. But if we do go slightly more bigger picture and we pull back and we’re looking at people’s fundamental rights to have freedom of thought, freedom of expression, and the ability to create, and the kind of mindset that allows them to see the world around them and want to, and feel like they have the ability to effect change and positive change hopefully on it, then opportunity isn’t something that somebody else has to provide. It becomes something that people are able to take and make for themselves. And that’s the big thing that I’ve taken away from this conversation. Thank you guys for directing that and for bringing that up because I think that’s really cool.

JESSICA:Awesome. Rehema, thank you so much for coming on the show.

REHEMA:Thank you guys for having me. This has been a blast. [Laughs]

JESSICA:As a reminder to our listeners, if you like the show and you want to hear more of it, Greater Than Code is a listener-sponsored show. We are looking for a few really special companies to sponsor episodes but we’re pretty much listener-supported. And you can participate in that. And if you contribute to our Patreon in any amount, even $1 once, you get an invitation to the exclusive Greater Than Code Slack channel, which is my favorite Slack channel because it’s not very high volume and everyone is super nice. And especially, you get access to the overheard channel where I put things that Rein has said without attributing them.

SAM:Hello and welcome to Episode 62 of Greater Than Code. I am Sam Livingston-Gray and I am here to introduce my good friend, Jessica Kerr.

JESSICA:Good morning. Thank you, Sam. I am excited about this episode of Greater Than Code because this is our first episode wherein we don’t have an extra guest and we get to grill one of our fellow panelists. So, thank you very much to Jamey Hampton for being the first panel target. I mean, guest.

Jamey is a non-binary adventurer from Buffalo, New York, who wishes they were immortal so they can have time to visit every coffee shop in the world! They’re an artist who turned into a programmer after one too many animation classes that was a Computer Science class in disguise. Currently, they’re working as a professional plant-liker and software engineer for Agrilyst, a data analysis platform for indoor agriculture. They’re also the zine librarian at Sugar City Arts Collaborative and, bet you wouldn’t have guessed this, a permanent panelist on the podcast, Greater Than Code!

SAM: Woohoo!

JESSICA:Jamey spends most of their free time camping and thinking about Star Wars, sometimes simultaneously. Jamey. So, the other day you came to St. Louis and visited me and it was fun and I learned about your superpower, which is to magically find the best place to go on a given night in a city you’ve never been in.

JAMEY:Yes. I call it my Fharlanghn sense where Fharlanghn is the god of travel and roads from Dungeons and Dragons.

[Laughter]

JAMEY:It’s a good superpower to have. It makes me very fun to travel with. So, if anyone ever wants to go on vacation with me, just hit me up.

JESSICA:Yeah, if you’re adventurous, I guess. If you don’t like surprises, don’t go with Jamey.

JAMEY:That’s true.

[Chuckles]

JAMEY:I’ve thought about it. I’m like, I wish I could offer my superpower as a service…

JESSICA:[Laughs]

JAMEY:To other people, like have an app.

SAM:[Laughs]

JAMEY:That’s like me giving people advice on what to do. But I’m worried that if I tried to exploit it in that way, maybe it wouldn’t work the way I want, because it’s kind of fickle.

JESSICA:It sounds like you would have to be there.

JAMEY:I don’t think I could automate it. I think I would have to have a personal consultation with someone. I could do that. I’m quitting my day job. Hard pivot.

JESSICA:[Laughs]

JAMEY:Just kidding. I love working at Agrilyst. I like plants. And I like working with plants. And I like working with farmers and growers because they’re very interesting.

JESSICA:I’m curious. So, I used to work at an agriculture-related company, too. And one thing I observed about the growers in that particular very corn-dominated agriculture segment is they’re all white males. Is that true in your customer base?

JAMEY:That’s a little bit true. Agrilyst is actually, the founder of our company, her name is Allison. She’s the CEO, Allison Kopf, and she’s awesome. And she used to be a grower. She was an agronomist for an indoor farm and she actually did very similar to what I was just saying about my superpower where she was like, wow, not every farm can afford a me to have a personal agronomist to do this for them. So, what if I created myself as a service? And [chuckles] that’s kind of how Agrilyst happened. And so, she had this whole idea for how you could do the kind of management that she did with software. And I think that’s really cool. But also, the reason I brought it up is because she is a minority, for sure, in the agriculture industry. So, it’s an honor to work with her.

JESSICA:Sweet. So, she is also in the process of automating herself.

JAMEY:Yeah. It’s going well. [Laughs] Now every farm can have an Allison. It must be nice to be so important. I like that.

JESSICA:Ah, that’s an interesting point. But the part about whether we’re important, that’s our decision, right? Is my work worth automating and spreading?

SAM:You have to have the ability to do so as well, right?

JAMEY:Yeah, I think…

JESSICA:Yeah, not everything works.

JAMEY:Some things need the personal touch, I think. Automation. There’s a lot of discussion about automation and what’s going to get automated. And we’re not going to have people doing jobs. I remember the first time I ever thought about that question. I used to work… when I was in high school I worked at a TV studio and I was really, really into it. And we got to tour a local news TV station one time. And I was so excited. And so, we show up there and we met the newscasters and it was super cool. And we watched as they were doing one of the news broadcasts and they had these really cool cameras that were on these robotic tripods and they moved around the studio on their own and focused on different things. And we were like, “These are so cool! These are amazing. We wish we had these in our studio.” And my boss was like, “I’m not saying that they’re not cool. But think about this. Because this is doing your job to the point where they don’t need you to do your job anymore.” And I was like, “Oh.” And that was the moment I first thought about that.

SAM:[Laughs] Right.

JESSICA:We think of… your job was to move the camera, but there’s so much of your job is deciding how and where to move the camera.

JAMEY:That’s true.

SAM:And somebody still does need to at least punch a button to tell it which move to make. But yeah, maybe you go from three camera operators to one.

JESSICA:Or three and you just do more camera movement.

JAMEY:That’s true. It freaked me out at the time because I was planning on going into TV production for my career at that point. And I was like, “Oh, it’s going to be so hard to find a job in TV production,” which was true. And it’s not what I do now. So… [Laughs]

JESSICA:Yeah, so tell us about how you made that switch.

JAMEY:I went to school for digital art, which was the closest that I had to film and TV production at the school that I went to. And because it wasn’t an actual film and TV production major, I took a lot of other miscellaneous art classes. They were basically like, “Take animation.” I’m like, “I don’t want to take animation. I don’t want to be an animator.” And they’re like, “Well just take one. One is required. And then if you hate it, you don’t have to take any more, ever.” So, I took some graphic design classes and I took some animation classes and some game design classes. And I found that specifically in animation and game design, there was a lot of actual strict writing code involved. [Chuckles] I learned ActionScript at that point. And everyone else in all of my classes was like, “This sucks. Why do I have to do this? This isn’t art. This is math. It’s stupid.”

SAM:[Laughs] Wait, there’s a difference?

JAMEY:[Laughs] Some people think so. But so, I was like, “This is great. I love writing ActionScript.” And everyone else seems to hate it, which makes me special for liking it, I guess. At least, in my digital art classes. So, I started studying computer science. And I got a minor in computer science. And then I decided that’s what I actually wanted to do instead of trying to move to the big city and make my big break or whatever I would have had to do to go into film production.

SAM:So, I really want to ask you about that. But first, I have to mention that we have a surprise bonus panelist. Astrid Countee has just joined us.

JESSICA:Yay.

SAM:Welcome, Astrid.

JESSICA:Thank you for coming.

JAMEY:We’re glad you’re here.

ASTRID:Yeah, I had to hear all about you, Jamey.

JAMEY:That’s a lot of fresh [inaudible]. Sorry.

ASTRID:[Laughs]

SAM:So yeah, I had it on my list to ask you how you got into tech. And so, it sounds like you sort of discovered a love for it during college. What happened after you graduated? How’d you get your first tech job?

JAMEY:I found my first tech job on Craigslist. That’s a true story. And it was this tiny startup, like locally to me, that did QR code generation and text message marketing using it.

SAM:Oh yeah, I’ve seen one of those.

JAMEY:I was the only developer. I learned Ruby on Rails while I was working there. So, they hired me. They were paying me $10 an hour to basically teach myself Ruby on Rails to the point where I was capable of running this software by myself. And I worked there as the only developer until essentially they ran out of money to pay me and they started cutting my hours. And I found another job at that point. But it was really, really interesting being the only developer at my first tech job because I did a little bit of mentorship because one of the owners is a very talented developer. He just wasn’t writing code for this project. So, he was there to answer some of my questions sometimes, although this was kind of his side-gig. But I learned a lot from him because he was really brilliant. But I worked for about a year on a codebase that I was the only person who touched, which was really interesting. Because I knew how everything worked and that is the last time I’ve ever worked on a project…

[Laughter]

JAMEY:Where I knew how every single piece worked.

SAM:Yeah.

JESSICA:Yeah.

JAMEY:I was the one who built everything. That’s not true, because it did work before I joined. But I touched everything in that year and I updated everything in that year. But also, then if something breaks, I didn’t learn that, “Oh, who broke this?” It was always me.

[Laughter]

JAMEY:If something was great, I could pat myself on the back. And if something was broken, I could blame myself because there was nobody else. [Chuckles]

ASTRID:I once went to a talk with somebody who was in a similar position where they are the only developer. It was a Rails app. And they had done it for, I think at that point, three or four years.

JAMEY:Wow.

ASTRID:And the talk was titled “Galapagos Rails” and they were talking about like…

SAM:[Laughs]

ASTRID:When you’re the only one and it’s only you and everything that breaks is your fault and you have to just figure stuff out. And how it made him into a better developer but that it also made him had way less patience for people who don’t fix their own problems.

SAM:[Laughs] Yeah, because I guess in one year you could potentially make a bunch of problems and then leave and then let somebody else deal with them, or at least some of the bigger problems that you made, you could leave to somebody else. But in three years, you’re really going to have your face rubbed in it, huh?

ASTRID:[Laughs] Yeah, yeah. He talked about that, about the really lonely nights where it’s all broken and you just can’t do it anymore. And you have to come back the next day because the whole company is depending on you.

JESSICA:Wow.

ASTRID:So, do you think it changed anything about your attitude about being a developer, Jamey? Like, having to do it by yourself?

JAMEY:Yeah, I do. I think the hardest thing about going from being the only person to working with other people, and in fairness I’ve never worked at a big company. I’ve never worked on anything with more than a handful of developers, really. My next company after that, at our peak, there were about 10 of us. And at Agrilyst right now there’s, at our peak, there were probably five or six people touching the codebase. But even just from that jump from one to a few, the hardest thing was that I feel guilt about not understanding how something works. And if someone’s like, “Hey, do you know how our application does this?” and I have to be like, “No, I didn’t write that and I’ve never looked at it,” I feel guilt about saying that. I feel like I should know everything. And so, that’s kind of hard. And I still feel that way a little bit. I recognize that it’s kind of silly and that it’s reasonable not to know everything.

JESSICA:It’s more than reasonable.

JAMEY:[Chuckles]

JESSICA:It is literally impossible to know everything. And if you try to know everything, you won’t get anything done. These systems scale bigger than our heads. Actually, there’s a paper on this in the [inaudible] report. It talks about our software systems are sufficiently complex that every model is always incomplete and out of date.

[Chuckles]

JESSICA:The best we can do is collectively have enough accuracy over enough of the system to be able to keep it running and change it.

JAMEY:I would agree with that. And I think the other thing that I got from being the only person is that a sense of, “Well, but I’ll figure it out,” because I was in a position where I had to figure it out. There was no other option. And so, that was kind of empowering. Because I remember, and that was my first job and I was very new. And there were a lot of times where I was like, “This is impossible. I don’t know how to do this. I can’t pawn it off on anyone else. [Chuckles] I just got to do it.” And every time I started a new big feature I’d be like, “This is impossible. I’m never going to be able to get this to work.” And somehow, I always did get it to work eventually. I’d have to learn new stuff. And I’d have to figure it out. But I did it. And so, after this cycle happened a few times, I started to be like, “Okay. I’m feeling that feeling where it feels like it’s impossible. But the last six or eight times I said that, it was possible. So maybe, that feeling is wrong.”

JESSICA:So, one of those things that you learned at that first job where there wasn’t really anybody else was that you could figure it out?

JAMEY:Definitely.

JESSICA:And it is. [Sighs] I still feel that every day. I have this urge to understand the whole system. And I just have to let it go because if I try to keep up, it’s changing so fast and there are six other devs working on it. It changes so fast that if I tried to just keep up with what’s going on, I don’t have time to do anything. So, I’ve had to force myself to narrow my focus, not know how most of the backend works, and just move forward on relative frontend stuff.

JAMEY:That makes sense to me. I think the two things are related. Because if you have confidence that you can figure it out if and when you need to, then you can let it go for now.

SAM:Yeah.

JESSICA:That’s a good point, yeah.

SAM:Yeah, my strategy for that is to try to leave the code in a legible enough state that when I come back to it, some way down the road, that I’m confident that I can pick it back up again. Or whoever else touches it can pick it back up. And that’s why refactoring is important, kids.

[Laughter]

JAMEY:Code politeness.

SAM:[Laughs]

JESSICA:Lately I find that the limiting resource is based in my head. So, I’ve become really stingy with what I keep in my head and started writing more stuff down and letting go of it.

JAMEY:I write everything down. And I write it all down on paper. Everything has to go on paper. It’s like I don’t even know something until I write it down on paper. Because I can type without thinking about what I’m writing or reading what I type. [Chuckles] But I can’t do that with paper.

SAM:Right. Well, the trade-off is you can search typed stuff easier. But writing it down with your hands on paper helps cement it more firmly in your brain.

JAMEY:Yeah. A lot of times I don’t even go back and read the stuff I wrote. But just having written it down is so helpful.

ASTRID:I’m totally like that. It’s like by writing it, now it’s in my brain so I don’t need it.

JESSICA:Yeah. It’s almost like that. That puts it in a more built-in form of memory instead of some active memory that I feel like I’m expending RAM to remember this, until I write it down.

JAMEY:I like that.

JESSICA:Like deeper storage or something.

JAMEY:I didn’t know you were a droid. But now I know.

[Laughter]

SAM:Yeah, actually I think possibly a better metaphor would be registers in the CPU for working memory. Because I think most people have seven plus or minus two slots for holding onto things in their head.

JESSICA:Yeah. Today I feel like I have three.

[Chuckles]

SAM:That’s my usual.

[Chuckles]

ASTRID:So Jamey, you’re a librarian. Can you tell us about that?

JAMEY:I am. I get a little nervous about using the word librarian sometimes because there are actual librarians that had to study and learn a lot of things to be a professional and that is not what I do.

ASTRID:Well, was is it you do that they’re not doing, or that you’re not doing that they are doing?

JAMEY:I don’t know what they’re doing. I feel like they’re doing magic and I’m doing, I don’t know, volunteer work. But I work at a local collaborative art space called Sugar City and we have the zine library that people can donate zines to. And I take care of them and I keep them nice on the wall and I put them in the database. And I meet people who want to donate to us and I get zines from them. I take in donations from the mail and I keep track of all of it. And I love all the zines in our library and I take care of them lovingly. So, if people read them and they get ripped, I fix them.

ASTRID:What kind of zines are they?

JAMEY:We have any/every kind of zine you can imagine, because we take any kind of donations that anyone wants to give. So, we’ll often get someone donating their entire library because they’re like, “I’m moving,” and, “I don’t collect these anymore,” whatever.

SAM:Wow.

JAMEY:So, we’ll get a whole box of art zines or queer zines from the 90’s, which is cool. We have a ton of anarchist political zines because we’ll get full collections of those. So, it’s really cool. And then we put them on the wall. There’s no order or anything. So, you just have to browse. We do have a list of what we own and people can come in and read zines. And it’s very exciting and cool. And I run zine fairs where people can sell zines.

JESSICA:Define zine.

JAMEY:A zine, well it’s short for a magazine. This is like a 90’s thing that’s… I feel like it was very popular then and then it got less popular and now it’s research, which I’m really excited about. I feel like zines are very popular again. But it’s basically self-published magazines.

SAM:So, I’m guessing something like something that a person would type up or draw and then take down to Kinko’s and make 20 copies of?

JAMEY:A lot of them are like that. There as some that are a little bit more well-put-together than that. But that’s what I like so much about zines, is that anyone can do it. If you want to go big and do this whole production and do bookbinding and stuff, I know people who do that and it’s really cool. But if you don’t want to do that or you don’t know how to do that, or you don’t have the time or the skill, you can still do zines. There’s really no minimum skill required. If you have an idea that you want to put on paper, you can put it on paper and make it. And I love all zines. Some of my favorite zines are just these crappy Kinko’s copies that you can barely read. But the content of them is so important that I’m like, “Yes! I’m so glad that I have this on paper.” And it’s so different from the internet in some ways. Because the internet also has that extremely low barrier of entry. You don’t have to have any measurable skill in anything to go on the internet and post something. So in that way, it’s similar. But in every other conceivable way, it’s different.

[Chuckles]

SAM:Yeah, it’s funny. You were talking about how they were really popular in the 90’s and then less so and then they experienced a resurgence. And being the sort of nerd that I am, I want to correlate that with a technical story about how in the 90’s publishing to the web kind of sucked. And then we got sites like LiveJournal and then later Tumblr and somewhere along the way WordPress. But that doesn’t really account for their recent resurgence. And maybe I’m totally off-base. What do you think? Why did they come back? Why did they go away?

JAMEY:I think that they went away because people were like, “Oh, we can use the internet for this, but better.” I would agree with that. I’m not sure why they came back. I was doing zines in 2010-ish and people were making fun of me. And now, half the artists I know locally do zines. And so somewhere in between there it’s become a thing.

SAM:Is the answer hipsters?

JAMEY:I don’t think the answer is hipsters.

SAM:[Laughs]

JAMEY:I think if anything, the answer is like the punk scene. And I think the punk scene has, not that like… I’m not accusing punk of being dead at any point. But I think the punk scene has been more culturally relevant lately because of the political climate. I think that’s part of it. I think there’s been a nostalgia factor. Not just to, “Oh, remember when we had zines?” specifically, because I think some of these people are doing zines for the first time now. But like, the idea of holding something in your hand is very attractive to me and very different from the internet.

One of my favorite things about zines is that they travel organically and they can’t be censored or searched. So, they can’t be censored is kind of obvious. You make them yourself and you hand them out to people and nobody can stop you from doing that, which is cool. But I also think that you get very personal stories in zines that you wouldn’t get on the internet, because you have a lot more control in some ways about who gets that story. You can control who you pass these zines to. You can make 20 and then never make them again. And now it’s out there and maybe it was cathartic for you to do. And maybe you shared it with someone who really needed to be shared with, but nobody can go on Google and be like, ‘Jamey Hampton this, this, and this’, and get these personal stories that I’ve written in zines. Because they’re just not on the Internet in that way.

JESSICA:So, you’re sharing your story and you have some control over who sees it but not full control. You don’t know where all those zines will end up but you have some idea how many. And it’s more localized?

JAMEY:I like sending zines through the mail. Someone recently asked me if I would put my zines on Etsy and I was like, “No.” And they’re like, “Well, can I buy one?” And I was like, “Yes.” PayPal me money and I’ll mail it to you.

SAM:[Laughs]

JAMEY:But I’m not going to put it on Etsy. And I think that the reason that I’m against… I’m not against Etsy in theory for other people, but zines used to be like you would find an address on the back of another zine and you would mail them a dollar through the postal service. And they would mail you something hopefully, or they would steal your dollar. I don’t know. Hopefully they’ll mail you something. I don’t steal people’s dollars. I do mail them out. People are like, “Well, that’s kind of sketchy.” I’m like, “Well, you know what? It is a little sketchy but that’s how we’re doing it. So…” [Chuckles]

JESSICA:Your two dollars are not PayPal-insured.

JAMEY:[Chuckles]

SAM:Yeah, so back in the 90’s I actually had a physical copy of a book that think was called ‘Weird Stuff by Mail’. And if I remember correctly, it was actually written by the same person who did the whole ‘Church of the SubGenius’ thing.

JAMEY:Awesome.

SAM:It was a printed book. So, by the time I got it, some of the stuff was already obsolete. But it was a list of just places that you could mail a couple of bucks and get back random, weird shit.

JAMEY:I love that. I want to get that book and mail to people and see if any of them still exists.

JAMEY:Even the book doesn’t exist. It’s an enigma. Out of print is also another thing I think about with zines. Because a lot of them are really low printing numbers and I have zines. I got a zine when I was in France and it was four out of 15 on the back. And I was like, “15 copies of this exist.” And in France. And somehow I had one in Buffalo. Just the sheer randomness of the universe that put this zines into my possession. I love that.

ASTRID:I also think, it seems to have something to do with art. The whole it started and then it moved to the internet and then now it’s coming back again because… I was just at the art museum this past week over the holiday break which was awesome, because I forgot how much I love going to art museums, because I’m always at science museums because I love science. But when you go to the art museums and you realize some things you just can’t experience the same unless you are holding, touching it, looking at it in person. It’s just different. Especially because part of the purpose of things that are creative and made to be artfully done are that you want to experience something. You can’t just always experience it online in the same way.

And I kind of feel like things that first moved to the internet like blogging, when that first moved there, it was a small community. It was like you could actually talk to people. And then it got to a place where everybody was online so, it’s like you’re shouting in a crowded room. It’s not the same intimate personal feeling, which is part of the reason why I think there’s starting to be a resurgence of the more tactile experience of things. And then there’s people like me. I love to buy Kindle books because I have a Kindle. It’s so easy to read that way. But then books that I really want or things I want to read again, I want the real book, because I want to touch it and smell the pages. And I think that’s happening with a lot of things.

JAMEY:I’m a little bit materialist, too. I used to be very self-conscious about it. I wanted to be like, “I’m not materialistic.”

ASTRID:Okay. [Inaudible]

JAMEY:But I kind of am. And it’s because I feel safe when I physically surround myself with things that I really love.

ASTRID:Mmhmm.

JAMEY:And so, the idea of I really love this book and I want to put it on my bookshelf so it’s there is comforting to me.

ASTRID:Yeah. It’s like when you see sci-fi movies that are supposed to be set in the near future. And everything is very sterile and there’s no personal or clutter-y because everything is just perfect, it feels so lonely. It doesn’t feel like a life you want to have.

JESSICA:Yeah. There’s a quantity of information here, too, just like with our programming systems. You can’t read all the blogs but you can read all of the zines that are in your hand.

JAMEY:At first I got a little overwhelmed by the fact that things were so limited edition. I was like, “There are so many that I’m never going to see.” And I’m like, “I mean, true. But there’s also so many that I am going to see that other people aren’t going to see. And I can share them, the ones I like.” I also collect cassette tapes from local bands and stuff, because I just really like things that other people made that I can hold and read and listen to and be like, “Somebody spent time doing this.” And they made creative decisions about how this is going to be. I listened to a cassette tape recently that was literally just static-y noise with beeps.

SAM:[Chuckles]

JAMEY:And I loved it so much, because I imagined the person who made it sitting there and changing the frequency of the beeps and being like, “No, this is wrong,” and then changing them and be like, “Yes. This is it. This is what’s going on the tape.”

SAM:[Laughs]

JAMEY:And I thought about, what feeling were they having that they were trying to evoke in me? It’s probably not the same feeling I’m actually feeling. But this idea of putting something together and being like, “Yes. This is it. This is the feeling and now I’m going to give it to someone else and see what happens.” That’s what art is to me. And it just makes me really happy. I feel like I have a connection with whoever this was that put the beeps on the tape.

JESSICA:Yeah, that’s beautiful. And we are physical beings, so we do have a connection to physical objects that the interwebs can’t satisfy. You talked about the beauty of this art that’s created by someone and passed down. Do you find any beauty like that in your work?

JAMEY:I think about code and art a lot. And I think the beauty of a lot of code is what it does. We talk about beautiful code and beautiful code is nice. I enjoy it. Aesthetically, it’s good to work with. But in essence, when you’re writing code, you’re not creating code to give to someone. You’re creating a program to give to someone. But I’ve thought some about playing with it. I had this idea. This is an art exhibit idea that I’ve had for a while and I haven’t done yet. But I’m like, what if I wrote some little applets in JavaScript and I wrote them normal and tested them, made sure they worked. And then I typed them out on a typewriter and framed them.

SAM:[Laughs]

JAMEY:Because [chuckles] I think it’s really funny to present things that are useful in a context where they are useless.

[Laughter]

JESSICA:Yeah. You can get code embroidered, right?

SAM:Mmhmm.

JAMEY:I cross-stitched a QR code, once.

JESSICA:Oh, cool. Wow!

SAM:I actually saw something like that on Twitter yesterday.

JAMEY:I saw something like that recently, too. But I used to do urban exploration. It was my big thing. And I ran a blog about urban exploration. And I had a backpack that I took with me. And so, I cross-stitched a QR code to my blog and put it on my backpack. [Chuckles]

SAM:[Laughs] Nice.

JESSICA:Oh, you just said you used to do urban exploration. And you didn’t tell us about that when we asked where your superpower came from?

[Laughter]

JESSICA:It does seem like…

JAMEY:It does seem related.

JESSICA:Doing urban exploration would enhance your, what did you call it? Far-fig-newgan? No.

[Laughter]

JAMEY:My Fharlanghn sense.

ASTRID:So, Jamey when you were just talking about the beauty in code, it sort of made me think about something, this book I had to read when I was doing anthropology graduate study. And it was this book about why we buy. And there was this anthropologist who would watch people in the supermarket and see what they purchased. And some of the people, he would go home and see how they distributed their food items. And there was this interesting that he noticed where some people would purchase something, especially parents, and let’s say like a box of goldfish crackers. And they would go home and they would take it out of the box and they would put it into other little baggies or something for their kids. And he talked about how functionally, that doesn’t really do anything. But that it gave this impression that these are not the brand crackers. Like, these are mom and dad’s crackers for you. It created a connection to it that was beyond what it was purchased. It was about this function of somebody putting the time to put this into a small enough package for you to have so now it’s specialized for you.

And that might be a big leap, but it just made me think about how you were saying it’s not about… you’re not making code for someone. You’re making this program, but that’s what programs do. They have some sort of thing that they are supposed to complete or finish or do. And it’s almost like it’s a similar concept where it’s not about the thing. It’s about how well that thing was made, who it could have been made for, and how that affects someone, and what that could mean. It’s more abstract but when something is well-built and you’re using it, you feel that as a user. You feel like someone thought about what I was going to do. Someone thought about this choice. Someone gave me an option that I’ll always have. And it means something. And it reminded me of that same scenario where he noticed that it’s not really… it’s a strange thing to do functionally, to take something out of a box and put it in another box basically, but it’s being done to create a connection.

JAMEY:I think that how we feel about things emotionally changes the meaning of them really profoundly, too, in the way that we form emotional connections to things. When I was talking about how I feel like I’m kind of materialistic, I’ve forgiven myself for it, I guess, because I form these really intense connections to things I own. But it’s not because like, “Oh, I have this valuable thing.” It’s like, “Somebody gave me this. And now it has meaning beyond what it just is, because it makes me think of this person or this thing that happened or this place I was.” It’s almost like you can take emotions about people or memories about the past and trap them in these things that you own.

JESSICA:Oh, because even though it’s a thing, itself doesn’t contain the memory. The thing in combination with your brain has the memory.

SAM:Yeah, because our brains are highly associative.

JAMEY:It’s like cryptography, almost.

ASTRID:Yeah.

JAMEY:Like your brain has this key…

SAM:[Chuckles]

JAMEY:That makes these random letters into words. And your brain also has this key that makes these objects into like…

JESSICA:It’s like we’re living in augmented reality.

[Laughter]

SAM:But it’s only augmented for you.

[Laughter]

JESSICA:Now if only we realized that.

JAMEY:It’s personalized. It’s like the crackers.

SAM:Yes.

ASTRID:Yeah.

SAM:[Chuckles]

JESSICA:So then, if the beauty of the code is in what it does, and I completely agree with you there, then your work satisfaction is going to be less about what language you’re writing or how well-factored it is than what the software accomplishes?

JAMEY:To me, the moment that makes me writing code is the moment when something that didn’t work before suddenly works. And I’m sure that other people feel this way. Like, they must, because it’s so satisfying.

JESSICA:Mmhmm.

JAMEY:[Laughs]

SAM:There is definitely a magic in that moment.

JAMEY:I remember the first time I ever really… I don’t work with a lot of hardware. But I was doing consulting and I was doing a project where I was working with printers. And it was a huge pain. It was just the worst. And there were all these restrictions. And so, I ended up sending information to printers via… I opened a bytestream from an Android phone and sent it directly to the printer via Bluetooth. It was such a pain. And it didn’t work for a long time and I was just days of, “Oh, I sent it and it didn’t work. It printed gibberish. Oh, I sent it and nothing happened.” And the first time that a piece of paper came out of that printer with real words on it I was like, “Oh my god.”

[Laughter]

JAMEY:“I am the master. I control. The technology. I have so much power. I felt so powerful.” And I was like, “Ah, this why people like working with hardware.

[Laughter]

JESSICA: Right, right. It’s that changing the physical world thing.

SAM:Oh my god, I made an LED blink. I’m so great.

JAMEY:I’m a powerful technomancer.

[Laughter]

JAMEY:I can make the LED blink whenever I want.

SAM:And of course, at this point I absolutely have to share one of my favorite YouTube videos.

JAMEY:[Chuckles]

SAM:Which is of somebody who programmed two floppy disk drives to play The Imperial March from Star Wars.

JAMEY:Oh my god.

[Laughter]

SAM:And I will drop a link to that into the show notes. Because, oh my god, it is awesome.

JAMEY: I have a tattoo of the Death Star. Fun fact. Fun to me.

[Laughter]

JESSICA:Really, Jamey. Is that ethical?

JAMEY:It’s not at all. And that’s literally why I have it.

SAM:[Chuckles] Yeah, because did you pay a copyright fee for that tattoo?

JAMEY:That’s not why.

[Laughter]

JAMEY:George Lucas doesn’t need any more of my money. I promise.

SAM:[Laughs]

JAMEY:He has so much of it. [Laughs] No. I think about the Death Star all the time. I think about the Death Star whenever I think about my career, to be honest. It sounds like a joke, but it’s actually kind of true. Because when I started thinking critically about the Death Star for the first time, which happened the first day that Rogue One came out, when I went to see Rogue One. I went to see this movie and I’m like, “Yeah, Star Wars. I love it. I’m going to go. I’m going to see this movie.” And I went with my fiancé and we were just like, “Yes, a Star Wars movie. We’re so excited.” And we got out and he was like, “What did you think of it?” And I imagine that I went super pale and I was like, “I’m worried about my career.” And he was like…

[Laughter]

JAMEY:This is what you want to talk about? Don’t you want to talk about Star Wars? I’m like, “I am talking about Star Wars. I don’t know.”

[Chuckles]

JAMEY:Because it really freaked me out to watch that movie and see the backstories of the engineers that worked on the Death Star. Because everyone wants to go to the movies and be like, “I’m the good guy. I’m a hero. I’m an action hero.” And I was like, “Oh, I’m like an old white man in a white coat that works for the Empire.” Like, that’s who I relate to in Rogue One, because they didn’t know that they were building a super-weapon. They were just engineers who want to build something cool. And they did. And then it was the Death Star. And they all got killed. Spoilers.

ASTRID:I feel like that’s so relevant to our current life and times in technology.

JAMEY:Yes, yes. I think about it a lot and it’s like, if you don’t think about ethics when you’re building something, that’s dangerous. Because I was like, “I wouldn’t work on the Death Star. No way.” But you can’t prevent yourself from working on something like that unless you stop to consider what it actually is. I’m lucky because I’ve worked on projects pretty much my whole career that I actually do feel really strongly like, “This is a good thing.” But there’s a lot of stuff that seems just not immoral but amoral. Like, unrelated to morality. And I think if you are too quick to be like, “Well, my work is amoral. It has nothing to do with morality,” you put yourself in a situation where you could be doing something that’s really immoral actually and you don’t really realize it. And I think that’s what happened in Rogue One.

ASTRID:Or it could be used in a way after the fact.

JAMEY:Yes.

ASTRID:That is not the way it was intended when it was being built.

JAMEY:Definitely.

JESSICA:Or have effects that it wasn’t designed for.

ASTRID:Mmhmm.

JESSICA:What if you get really good at growing indoor plants and then the plants take over and eat you?

ASTRID:Little Shop of Horrors.

JAMEY:I’m not as worried about that as other things.

[Chuckles]

JAMEY:But I’m glad we’re talking about it.

[Laughter]

SAM:I feel like a lot of us look at the Volkswagen thing where they were deliberately spoofing emissions tests. We look at that and we think, “Well, I wouldn’t ever write something like that.” But a surprising number of us might write something like that if it’s where money was coming from, if that’s how we’re feeding our family. And [sighs] there are a lot of other cases in our industry that are a lot less clear-cut even than that is. And that I think a lot of people just don’t really think about, because they don’t really want to think about them. Because you don’t really want to face the possibility that you might be even to some small degree a monster.

JAMEY: I’m working on a talk about this right now actually. And I was researching the other day people who regret their inventions.

SAM:Mmhmm.

JAMEY:Because I was talking about… like a well-known example is Einstein’s contributions that ended up being related to the atomic bomb, even though he wasn’t personally the person who did that. He was very regretful of his involvement. And I was looking up other examples. And the person who developed pepper spray didn’t do so to make it a biological… it was supposed to be a weapon. It wasn’t something that wasn’t going to be a weapon. But now, the way people are using it, the way that police use it and stuff, he’s like, “This is just so… I’ve never seen such irresponsible uses of chemicals.” So, he has regrets about that. The person who invented the AK-47, there’s a really interesting quote that I found where he was debating, “Am I responsible for people who died with this gun or not? Sometimes I think I am. Sometimes I feel like I didn’t force anyone to do this.” But, on his deathbed or something, he had this quote where it was like, “I wish I just could have used that energy doing something else. I wish instead of inventing the AK-47 I could have invented something that could help people do their jobs, like farmers or something.” And I read that and I was like, “That’s what I do.”

[Laughter]

JAMEY:But another example I used is the person who invented the cubicle, because he was like, “Yeah, the cubicle is great. It’s going to be flexible. It’s going to let people have a better work environment than offices,” and then people used it to just pack people in because it was cost-efficient. And he was like, “No, that’s not what I meant.” But it’s too late.

SAM:Right.

JAMEY:Because he already invented it.

SAM:But it was in many ways better than what came before, which was a giant, open, floorplan with a bunch of people at desks just making noise.

ASTRID:You mean like now?

SAM:Well, but now it looks different.

[Laughter]

SAM:Now it’s IKEA furniture, right?

ASTRID:Exactly. So, there’s this talk that Malcolm Gladwell does in a similar topic and it’s about the Norden bombsight. Have you seen that, Jamey?

JAMEY:No. Tell me about it.

ASTRID:Okay, so you’ll probably like this for the research you’re doing. It’s about a person who was, he makes this device to make bombing more accurate. Because what he’s thinking is that if we can make the bombing more accurate then we can have less death and then war can be over faster. Because he assumed, “I’m not going to stop war. But maybe if I can make war more efficient, then we won’t lose as many people.” And he tells a very interesting tale about how it works. But at the end of the day, it ended up being used to drop the atomic bombs. So, even though his intention was to try to make the loss of life as small as possible, it ended up being used completely outside of its intention of being accurate, because you don’t have to be accurate so much if you’re dropping an atomic bomb, to hurt and kill so many people.

And that’s like what we’re talking about where sometimes you’re building something because you think it’s going to do something that could be good. But then it could be used in a completely different capacity in a way that you never expected or intended. And unfortunately, especially with science and technology, oftentimes the money that you get to build things, when they will fund you to build all kinds of things and let you learn all kinds of science, it’s usually to be used in some way that’s going to exert power from one people over another people. And it’s like, how do you deal with that Faustian bargain of we’re going to advance science but it’s going to be at this cost that we may not be able to quantify? And it seems like it always happens that way.

JAMEY:It’s hard because once you’ve put something out there, you kind of lose control over it and how it’s used. And I think that’s what a lot of the stories that we just told are about. And I also think that as programmers, we’re at a particular risk of that, because code doesn’t know what it’s doing. So, repurposing code is very easy in many ways. The example I like to use of this is AR technology, which is really interesting, and like facial recognition. So, people are like, “Yeah, AR video games.” It’s a big thing. And it’s cool and it’s interesting and it’s new and it’s futuristic or whatever. But if you write facial recognition software, the software doesn’t know whose faces it’s recognizing or why. And then if they repurpose that code to say, try to find protesters to arrest them; that would be easy to do with that code. And if you wrote it, there’s nothing you can do about it. You can’t stop them from doing that once they’re doing it.

[Sigh] So, I think it’s just really hard because there’s no way that we can anticipate all of the ways that our code could be repurposed. But I do think we have to take some sort of responsibility for what else could be done with it that isn’t what we originally meant. And I’m not sure where the line is between, “I’m afraid that my stuff’s going to get repurposed so now I just can’t write anything, ever,” which is also not realistic.

JESSICA:Yeah. The world is a complex system and when we create something or learn something, we change that system. And we can’t know how that’s going to affect things. But we can influence the system in various ways to hold people in power accountable for their pepper spray actions.

ASTRID:You know Jessica, sometimes I wonder if maybe we could just start thinking about… like, I try to think about code like a tool. In anthropology, especially when you’re learning about hominids, what you learn is that the tools that we make are extensions of us. So, an axe is an extension of our ability to use our arm with force. And cars are an extension of us to be able to run. Something like that. So in that case, then code is like an extension of what we could use our brain to do, or use a connection of brains to do, in one instance. And so, it’s like you wouldn’t give young kids sharp objects and then leave the room. Because you would expect that something bad could happen. So maybe it might be possible for us to think more about, “Okay, this type of code could be utilized in a bad way or in a destructive way by those who are uneducated about what to do with it or not capable of understanding how to use it.” We should know that. And maybe there are things we can do around that to help it be used properly.

Because I think it’s not so much that you can make things without any type of morality. But, tools are tools. They’re just there until somebody picks them up. And you can use hammers to build a house for somebody or you can use them to destroy something. So, it’s really not, should you not make a hammer? It’s like, how do you teach people to use hammers and why would you have hammers? And who should be around if somebody doesn’t know how to use a hammer so that they can teach them the right way. And maybe we should be thinking around those questions and less so about, should we make this or not?

SAM:I feel like there are some tools that are a little bit more single-purpose than others. Like it’s hard to imagine a use for a gun that isn’t destroying something. Which is not to say that we shouldn’t make guns, but it’s maybe a little bit less balanced of an example than a hammer.

ASTRID:I was just reading a book about somebody who was doing research in the rainforest and having a shotgun was really important because there was anacondas and there were jaguars. And you needed it. That’s totally different than if you take that same gun and point it towards a person in the rainforest.

JESSICA:Yeah.

ASTRID:Because you don’t need to shoot a person unless they are seriously [inaudible]. So, it’s really about understanding… you know a gun is a powerful tool. So, you should understand when you’re using it, what the implications of what you’re doing with it could be.

JAMEY:I think the more powerful a tool is, the more respect you have to have for it. And I think the tough thing here is I can control how much respect I have. And I can try to encourage and teach other people to have respect. But I can’t force other people to respect something the way I respect it, or think it should be respected. You know what I mean?

ASTRID:Yeah.

JAMEY:I like what you’re saying though. And I think that with software, what you’re describing, we already do a lot in a… not a moral way, but in a mundane way. When we build something as engineers, we say like, “Okay. How are users going to break this? How are they going to screw this up and do it wrong? And what safeguards can I put in so that they don’t do it wrong?”

JESSICA:Mmhmm.

JAMEY:I think that’s a huge part of our jobs. But I think you’re right. I think extending that to be about morality and not just usability is important. I just have to figure out how to do it. It’s not just my job to figure it out. We can all think about it.

ASTRID:Well, I think it helps to just ask the question.

JAMEY:I agree.

JESSICA:Yeah.

JAMEY:I think getting people thinking about it is a huge thing. Because I had never thought about this, really, before I saw Rogue One, like I said. And it was scary, because I’m like, “I’m a good person. I wouldn’t purposely do something that I think is wrong.” But until you’ve asked the question and thought about it, you never know what you’re going to do, I guess. And at that moment, I felt like I didn’t know what I would do in that situation. And now that I’ve asked the question and talked to people about it and thought about it, I feel like I do know what I would do. And so, I feel much less anxiety about it now. And I feel like the more I talk about it, maybe other people will think about it, too. Hopefully.

JESSICA:I had two things I wanted to follow up on. Your first job. You said one of the owners was a developer and even though he didn’t have a lot of time, you said I learned a lot from him because he was really brilliant. Does brilliance cause someone to be able to learn from you? Or is there some intermediate step? Or something different?

JAMEY:I think brilliance does allow someone to learn from you. I think being a good teacher definitely, obviously, helps someone to learn from you, even if you’re not a genius, which this person was. But I think if you really want to learn from someone who’s a genius, you can learn from them without their consent. [Chuckles] Like if you just observe things that they do that are really brilliant and think about why are they doing these things and how can I emulate these things? There’s stuff to be learned there. Obviously if someone is also a good teacher, that’s a great combo. And he did teach me some stuff. It wasn’t that he was a bad teacher. It was just that he didn’t have the time to devote to me all the time that I would like. But I think picking out people who you look up to in that regard and just watching them very intently and observantly, you can learn things from them, even if they’re not trying. If you’re trying. At least one person has to be trying.

JESSICA:Interesting.

JAMEY:Do you agree with that?

JESSICA:Yeah. At the time you were inexperienced. So, there was an infinite amount of stuff to learn. And you had the energy to devote to that careful learning. I wonder if there are some people that we think are brilliant that if we put the effort into learning from what they do, we’d find out they aren’t.

ASTRID:I agree.

SAM:[Chuckles]

ASTRID:I think we slap that label on people because they’re doing something that feels like we don’t know how to do that. And then we miss the people who are doing what they’re doing so amazingly that it’s so seamless we can’t even see it, unless you’re really looking.

JESSICA:Yeah, the real genius makes it look simple.

ASTRID:Yeah.

JESSICA:But then if you look closely, you will learn.

ASTRID:Yes, of course. But I think part of it is just, I feel like sometimes our culture has this idea about genius, like some people have it and some people don’t. And genius are these people that do things that nobody can do. And I think sometimes it’s like, when you see them, it’s the combination of a lot of things they’ve gotten really good at and that’s why they seem so otherworldly. And then we kind of confuse that with people who are just loud about what they do.

JESSICA:Mm.

ASTRID:You know, like, “I’m awesome. You have to love me.” And then we’re like, “You must be a genius.” And then they’re really not.

JAMEY:I think if you want… I agree with you. But I think that if you want to be critical about that, that’s a pretty easy thing to be critical about. I think that kind of genius façade that you’re describing is a façade that kind of crumbles pretty quickly once you look closer at what someone is doing.

ASTRID:Yeah, I agree. I just don’t know how much time we spend to look for those little things anymore.

JAMEY:That’s true.

JESSICA:That is the limitation, the time we have to process the information. There’s so much more that we… more zines than we can possibly read. [Chuckles]

SAM:Yup.

JESSICA:And yeah, and more blogs and more people that we could possibly learn from than we can possibly learn from.

[Laughter]

JESSICA:There’s one other thing you said early, Jamey, that I thought was important. You were in your animation classes and there was a lot of code. And you said you loved it and everyone else seemed to hate it. So, you recognized that that made you special and ran with it.

SAM:Yeah, that’s not a reaction that a lot of people would have. They would think, “What’s wrong with me? Maybe I shouldn’t love this.”

JESSICA:Yeah. If you can see that thing that is different that makes you different from other people, then that’s where you can find your special job that’s actually fulfilling.

JAMEY:I think there are some kinds of people that are afraid of being different from other people. And then there are some kinds of people that are afraid of being the same as other people.

JESSICA:That’s so true. That’s like welcoming of difference is easier for some people than others.

JAMEY:But I even think, originally I was going to say some people are afraid of being different and some people like being different. But I decided to… I think it’s even more than that. I think that some people who like being different are actually afraid of being similar. And I feel that in myself, sometimes, I think.

SAM:I feel like there’s a Portlandia sketch about that.

JAMEY:There’s a Portlandia sketch, I feel about everything, every episode we talk about. We could just… in fact, you could just watch Portlandia instead of listening to Greater Than Code.

[Laughter]

SAM:You could, but please don’t.

JESSICA:No, no. Our podcast is good.

JAMEY:I’m just kidding. Don’t do that.

[Laughter]

JESSICA:So, I wanted to bring it back to your superpower. And how can you share your superpower which does not transfer to an app. What is one piece of advice that you would give people who find themselves in a new city with options about where to go that evening?

JAMEY:Okay. I’m going to give away part of the secret.

JESSICA:Ooh, goody.

JAMEY:And it’s great because it’s related to what we were talking about. But the way that the Fharlanghn sense works is being very observant. I’ve had people say to me something like, “You’re cheating. You’re not really using the superpower. You heard about this place from someone else who went to Montreal four years ago and that’s how you know about it.” And I’m like, “Yeah. And the fact that I remember what somebody else said about a place in Montreal four years ago and remembered it enough to look it up and go to it, that is what the superpower is.” [Chuckles]

SAM:Right. To somebody like me with memory problems, that is a freaking superpower.

[Chuckles]

JAMEY:But like I catalog information about places that I’ve heard people say are cool or read about or a stranger told me about. I catalog that information and I’m observant about what sounds like it would be fun. And then I remember it. And I think that what Astrid was saying about, are we observant about things in our lives? Do we have time or whatever? You don’t have the time and energy and mental RAM to be observant and catalog information about everything that you ever hear from anybody. You have to prioritize what’s important to you. And to me, this is what’s important to me. And so, I categorize it. And then it coagulated into the superpower.

JESSICA:So, to turn the question to our readers, what do you want to be a genius about?

JAMEY:And what kind of information do you have to catalog to get there?

JESSICA:We can’t all hold it all so we each get to be special with the piece we…

JAMEY:[Chuckles]

JESSICA: Focus on. What do you love that other people don’t love quite as much?

SAM:And thank you listeners. We’ll end it there. We will be back at you soon with a new episode. Meanwhile, if you like the sort of things that we do, the conversations that we have here, please support us on Patreon. We all as panelists do this show for free because we love it. But the production costs are not insignificant. It takes money to pay Mandy to do the wonderful editing that she does so that you get the interesting bits without all the uhm’s and ah’s. And it takes a bit of money to pay for transcriptionists so that our show is searchable and accessible. So, if you’d like to help us with those costs, go to Patreon.com/GreaterThanCode and help us out. And any donation will get you into our Slack community as well where we have a couple of hundred people being really, really nice to each other. Anyway, thanks very much. We’ll be back at you soon.

Safia: Talking about the Silicon Valley monoculture, being content vs happy, and tokenism.

Transcript:

JASMINE:Hi and welcome to Greater Than Code Episode 61. My name is Jasmine. And with us on the panel today we have Jessica.

JESSICA:Good morning. I’m Jessitron and I am thrilled to be here today with Coraline Ada Ehmke.

CORALINE:Hi, everybody. And I’m happy to introduce our guest, Safia Abdalla. Safia started building HTML websites when she was 11 and writing Python and JavaScript since she was 13. For a little under a decade, she’s been a curious young technologist using computers to make cool things and share them. Now, she can be found speaking at conferences, blogging, contributing to open source, and working on her startup. Safia, so happy to have you here. Welcome.

SAFIA:Thank you so much for having me.

CORALINE:Our standard question that we start every podcast with is, what is your superpower and when and how did you discover it?

SAFIA:I would say my superpower is sight. One of the things that I pride myself in is being the kind of person who can just sit back and observe a room and look at people’s interactions and see how they’re talking with each other and what they’re sharing, and use that to inform my interactions or solve problems or work with them. So, I would say just having this empathy and this ability to feel and observe things and watch people would be my superpower. It’s not as cool as being invisible or being able to fly, but it works.

CORALINE:Cool. And were you always able to read a room like that and understand where people were coming from, or is that something you developed over time?

SAFIA:So, I think it kind of relates really strongly to my background as an immigrant. My family moved to the United States when I was seven years old. And when I moved here I didn’t really know any English. I had a lot of trouble interacting with people and making friends. And so, one of the ways that I would figure out what was going on in a place was just to sit back in the corner and watch what people were doing and see if I can gather some sort of understanding of what was going on around me. I think it started from there, from trying to just understand this new setting I was in and learn what was going on and evolved to me just reading a space and figuring out what I can do to make myself useful to the people in it, or figuring out how to interact with those people.

CORALINE:That’s so cool. That kind of reminds me, about 10 years ago I went with my grandmother to Germany and Poland. She hadn’t been back to Poland, where she grew up, since World War II. So, I took her on this trip to go back to her home. And all of the relatives we were traveling with, only one of them spoke any English at all. And my German is extremely rudimentary. I can talk in first-person present and that’s about it. So, I did a lot of sitting around listening to people speaking German which I could kind of follow what they were saying, but yeah, you’re right. That did give me a lot of time to observe their interactions and step back and see what they were saying without saying anything.

SAFIA:Yeah. I agree. And I think you brought up something really interesting about learning different human languages. So, German, Spanish, French, et cetera. That I think has been useful is, as someone who’s been programming for a long time I’ve kind of gotten to the point where learning a new language is second nature to me. I pretty much understand all of the ropes. It’s just learning the syntax. And I think one way that I’ve learned to empathize with people who are completely new to the industry who are just starting to learn how to code is thinking about my experiences learning new human languages. Because I think that’s the best way to understand what it’s like to come into tech and not know Ruby or Python or JavaScript or anything and have to learn that from scratch. It helps me just relate to people better. So, I can definitely understand you having to use German in a setting that was not normal to you and what that was like.

CORALINE:I think it’s so valuable too, with programming languages to know more than one language, because I think what happens is you start to understand underlying concepts outside of syntax. And I think that makes people better developers long-term, because you’re thinking about solving problems in the abstract and then translating them into syntax, instead of just trying to look for the canonical solution in the language that you happen to be working in.

JASMINE:Yeah, I agree. And I would also say, just different languages that have different characteristics and different sayings and just different ways of looking at how we communicate, I would say that programming languages are the same way. The way we actually write the code, the way that we… I guess just difference in style and how we target solving different problems can differ between languages.

JESSICA:Yeah, it’s one thing to learn the syntax of a language and another thing to learn how to think in it, because they do each make you think differently. So yeah, I thought it was interesting that you compare learning a new human language to learning your first programming language. As in, that’s a whole lot harder than learning your second or third programming language.

SAFIA:Yeah, because I think part of learning your first language is learning things like if statements and while loops and for loops, and the concepts that underpin, this might be a fancy way to say it, but just the algorithmic thinking around writing software. And then once you figure that out, it’s just about learning, what is the special way that this language does for loops? What is the special way that this language addresses an issue that another language solves poorly? Whereas when you transition to learning a new human language, it involves learning a new set of grammar, a new way of thinking about the world almost. I think there’s a close connection between what we speak and how we see the world. And the transition into learning a new human language and the way it affects the way you see the world is very similar to learning your first programming language, learning algorithmic thinking and problem solving and how that changes the way you see the world and approach problems.

CORALINE:Language definitely influences the way that we see the world. There’s been a lot of studies on that. And there’s this thing called Sapir-Whorf hypothesis which explicitly states that the words that we use influence the way we interpret things and events and people around us. There’s a great example of that. There was a bridge built in Europe. I can’t remember. I think it connects Spain, maybe Spain and France. And it’s the tallest bridge in the world. And the word for bridge in French is masculine. And someone did a study of the newspaper reports of the construction and finishing of this bridge. And in French, all of the words that were used to describe the bridge emphasized its mass and its strength and its material. Whereas in German, the word bridge, ‘die Brücke’, is feminine. And the German reporters use words like weightless and it floats above the clouds, and they emphasized its gracefulness. So, I thought that was a really poignant example of how language was… they’re looking at the same bridge and they’re seeing completely different things.

SAFIA:Yeah, so fascinating. And I think just a great way to showcase something that I’ve been experiencing as I’ve started to adopt a more international focus with my writing and speaking in tech. it’s just the ways that developers in Germany or India or France see things differently from developers in the US. And I’ll admit that I kind of mostly lean towards presenting and blogging towards an American audience. But just recognizing and hearing back from people across the globe who read my work and realizing that they pick up on different things or that they interpret my tone in different ways has been really interesting. And that’s one of the things that I’ve made a personal focus recently, is becoming more empathetic in an international perspective. Because I would say that for the first part of my life, moving to America and having to learn English, it was a lot about conforming to American culture and fitting into the standard. And now I’m realizing that I kind of need to go back and connect more with the outside world, now that I’ve figured out how to speak English and how to live in America and how to interact with people in America. It’s just learning how to do that for people in other countries.

JESSICA:Oh, that’s beautiful. Can you give us some examples of ways that developers outside of the US think differently?

SAFIA:So, one of the big things that come to mind when I think about how developers outside the US think a little bit differently than developers who are local is the attention to linguistic diversity that European developers have. And I think that comes as a consequence of the fact that Europe is about, I think smaller than the land mass of the United States but within that small area you have lots of different languages and lots of different cultures interacting with each other. So, one thing that I’ve found that is a little bit more common in developers in Europe is just a stronger focus or a bigger awareness of differences in culture within a particular region, or differences in language within a particular region. And I think that developers in America haven’t totally figured out because we’re used to looking at the world from the perspective of a Silicon Valley startup or from our tech hubs. Whereas if you’re in Europe and other places around the world, you’re more attentive to the nuances in language and thinking that occur even within a small region of the world. [Inaudible]

CORALINE: I would argue that Silicon Valley companies do the same sort of thing except without that awareness. They’re influenced by the culture of a small geographic area because they think of their users as being exactly like them, right? And that doesn’t apply even across all of America. My dad expressed a little frustration. He lives in a very rural part of the country and doesn’t have high-speed internet. He has satellite internet which is throttled and metered. And so, a lot of the applications, the web apps that people develop assume a broadband connection when the significant portion of the country doesn’t have access to that. And as people in a bubble in Silicon Valley just assuming that everyone across America is just like them, then we see the same thing when those companies try and go international. They assume American culture, and specifically Silicon Valley culture, exists everywhere else in the world, too.

SAFIA:Yeah, that’s a great way of putting what I was trying to say. Everyone seems to think that, or I think most developers in Silicon Valley and our country think that everyone’s got the newest iPhone at a high-speed data connection with great internet at home. And the uncomfortable reality is that most of Silicon Valley isn’t like that. Not everyone in San Francisco has those kinds of resources. Certainly not everyone in America. So, building universal and approachable tech is really difficult.

JASMINE:So, you know, this [inaudible] culture that we have in Silicon Valley, what is it like? What’s the experience like for somebody who doesn’t fit in that norm and their norm, or Silicon Valley’s norm? And what does success look for somebody who is trying to work their way up in that industry?

SAFIA:To kind of establish to those who are listening or might not know me, as mentioned earlier I’m an immigrant. I’m a woman of color. So, I exist at the intersection of a couple of minority labels or minority identities. And I’ve been involved in tech for a little under a decade if you include all of my youthful shenanigans that I pulled when I was 11 and 12. But I’ve been directly engaged with different companies and different conferences and at events for probably six years now. And I’ve been this different person who doesn’t look like the “norm” in tech. And one of the things that I’ve seen in other successful minorities in tech and just in myself as I try to establish a career in the industry and develop something for myself in the industry is the fact that so often people who are not the norm in tech end up being tokenized a little bit.

One example that I think of, and I think this is going to be a popular example that everyone can relate to, is Admiral Grace Hopper. That name is probably recognized by pretty much everyone in the industry. There are conferences named after her. Her name gets used a lot as an example of a successful woman in tech. But one of the things I struggle with is of all of the people who know her name and know that she was a female computer scientist and one of the first, how many actually know what she accomplished? Grace Hopper had the courage to bring up the idea of a compiler in her time. This notion that instead of writing everything in low-level machine code and it being painstaking and difficult to debug, you can create compilers that could translate code in a language that a human could understand much more easily to something that a machine can process. And that idea was revolutionary. It’s the reason that we have things like startups. it’s the reason that we can even talk about people learning to code at home or at bootcamps or at universities, is because she reduced that barrier to entry. But I think so often when we talk about her, she’s tokenized for being a woman in computer science, that the intellectual and technical value of her work is overshadowed.

And that’s something that I think a lot of minority individuals struggle with. And something that I’m trying to struggle with is I don’t want to be remembered for being a woman of color who is an engineer. I want to be remembered as an engineer who happens to be a woman of color. And it’s so difficult because when you’re different from the mono-culture or from the norm, people want to focus on your differences, not how you’re the same. So,people want to focus on how I’m a woman of color and how that is something unique about me and not necessarily the fact that I’m a pretty darn good engineer and that I’m really great at maintaining open source projects. And that’s one thing that I’ve tried to think about a lot and dictates a lot of my interactions recently in tech, is I don’t want to be remembered for being a great woman in tech. I just want to be remembered for being a great engineer, a great business person, who happens to be a woman of color.

I’m sure that there’s more examples beyond Grace Hopper of people who have experienced similar tokenizations, I would say, where who they were and their identity quickly overshadowed what they did. And it’s tough to balance, because I definitely… who I am is a big part of my identity but it’s not all I am. So, playing this balancing act where I am comfortable with who I am and I recognize that it’s part of my journey, but it’s not my entire self. And I don’t want people to see me as that.

CORALINE:I think that’s such a difficult balance too, because you want… I don’t want to project onto you. I want to open the way for other women in tech. I want to open the way for other transgender women in tech. I want to be a role model in some kind of way and I want to inspire people who are like me to succeed and show them, you can do these things and who you are isn’t a barrier. But like you, I don’t want to be, “Oh, Coraline’s a great transgender female engineer,” right? That’s not my identity, but it is part of who I am. And I think the struggle is being your whole self without erasing part of your identity or overemphasizing part of your identity. And that’s so difficult to navigate.

JESSICA:Yeah, you just want it to be so that there are enough transgender women in tech that that’s not the first thing people notice.

CORALINE:Yeah, exactly.

SAFIA:I agree with that. And I would say this is a problem that uniquely falls on individuals who are underrepresented minorities. And I think that’s something important for people to recognize when they want to be maybe good allies or just good friends and colleagues of underrepresented individuals, that we do have this kind of emotional burden that we’re carrying about how we move around the industry. Do we want to be seen as a woman of color? Is now the time to showcase the fact that we’re a strong engineer? Do we emphasize this part of our identity now or this other part? And that’s just an emotional and intellectual burden that is constantly on our minds that might not be a primary focus for somebody who is part of the norm or doesn’t have to struggle with being underrepresented in the industry.

CORALINE:I’m really curious about how that intersects with your conference speaking, because I know for me myself, I get a lot of invitations to speak at what I call unicorn talks where it’s like, “Oh hey, come be on this panel about women in tech,” or, “Hey, come be on this panel about X or Y.” And that’s like a hyper-focus on identity issues. I think it was Sandi Metz who said that she’ll know that the industry has changed when women in tech can go on stage talking about something other than being a woman in tech. Have you had that same kind of experience? And do you talk about your identity as part of your conference talks? Or what do you prefer to talk about?

SAFIA:Yeah. So, I haven’t had any direct experiences, and I might just not be recalling them at the moment, where I’ve been invited to speak specifically about being a woman in tech. But I can tell there have been instances where a conference just realized that a majority of their speakers were white men and it’s kind of rushing to invite minority speakers. So, I’ve never been in situations where I’ve had to speak about being a woman of color. But I have been in a lot of situations where I could tell that I was invited because I was a woman of color. And those are always really hard for me to navigate, because it’s like, “Okay, do I accept this invitation because I know it will push forward my career? It’ll help expose me to a new audience. It’ll be another speaking engagement that I could use to lead into a job or some sort of other opportunity.” Or, the fact that you know somebody invited you not necessarily because of what you did or your accomplishments but because of who you are, it kind of leaves a bad taste in your mouth going into the talk.

And I’ve learned to just take the opportunities regardless of the reasons that I’m invited. But I definitely think that when I am invited to speak because I’m a woman of color, even if I get to propose my own topic or speak about what I like, there is an expectation by the conference organizers sometimes that I will perform a certain amount of emotional labor and discuss the issues of diversity and inclusion. And it’s not an over-explicit expectation. But it’s definitely there, that we want you to tie this topic into your talk in some way because you are of a minority identity. And sometimes I will discuss it. I think the fact that I was an immigrant is a big part of my experience in tech. But oftentimes I try to avoid it and just focus on the fact that I have been in this industry for a while. I’m curious. I’m passionate. I like to build things. I have all of these attributes that we correlate with “good engineers”. And it doesn’t really matter who I am at the end of the day. It’s what I am. Such a weird way to phrase it.

And I think the fact that I’m struggling to convey what I mean right now is a big part of the problem. There’s just this emotional burden and this intellectual burden around my identity and who I want to be and how I want to present myself. And I’m constantly thinking about it. And I don’t think this is just an issue in tech in particular. I think anyone who is an underrepresented individual attempting to navigate career or social life or anything is going to struggle with this. I’m not like everybody else. It affects everything I do and I always have to think about it, so how do I manage that? I didn’t answer your question at all, I think. But I think the reason I can’t answer it is because this is still an ongoing journey for me. I’m still trying to figure out what my identity is and who I want to be represented as. And am I a woman of color first? Am I a startup founder or am I an engineer? What label do I want to put on myself? Because although labels suck, our culture at large is very obsessed with them and everyone needs to have a tag on them for you to be understood.

JASMINE:I myself also struggle with that. And for the first time, I listened to somebody who pretty much drew their line on the sand when it came to that. So, I was listening to a podcast and Neil deGrass Tyson was on it. And the interviewer pretty much asked him, “How do you feel about being one of the very few people of color in astrophysics?” And it sounded like he was frustrated. It sound like the question’s been asked a lot. And he sounded frustrated. And from what I understand, I think he said something along the lines that, “At the end of the day, I’m a scientist. And that’s what I want to be remembered and known as. And my knowledge is there for everybody. And I want to influence everybody.” And I had some feelings about that but for me it was just not my place to judge because like you said, everyone’s on their own journey. everyone’s still trying to figure it out.

And personally, I think that there’s so much value in conferences where yes, they might be reaching out because they see that you’re somebody in their… let’s just be honest about it, there’s space, who was different. And the fact that they find having that representation is… I guess in my opinion, is valuable, but also is valuable to you, like you’re saying. It’s a career booster. It opens you up to different audiences. And also, it opens you up to, just your presence in general, that somebody who is interested in maybe your technologies or somebody who maybe also identifies as a person of color, a woman of color, wants to explore something that you’re talking about and they’re excited about it. So, just being present can be just as important as a career booster. It can influence other people.

SAFIA:Yeah. And I think, I talked a little bit about how it’s an emotional and intellectual burden for me personally to navigate the world as an underrepresented minority. I’ve also tried to manage the chaos that comes into my head when I address those topics by just having a mindful approach to living. And this is for my personal life and for my career as well. Starting to be really introspective about my own goals. And am I doing something because I think it’ll align with the status quo or it’ll make me look more normal in this industry where I’m not normal? Am I doing something for me or am I doing it as a representative of a larger identity or group? And just sitting down and having really honest and sometimes hard to have conversations with myself about why I’m doing what I do and what part of it is for me and what part of it is for people who are like me who will follow me in the future. And what part of it is just to conform and to not feel like I’m different all the time. I’ve been trying to work on that a little bit more and I’ve developed techniques for just existing in this industry, this chaotic, always moving, always busy industry, in a more mindful way.

JASMINE:Do you have any tips for us that you’re willing to share?

SAFIA:For those of you who follow me on Twitter, you probably know that I am totally obsessed with notebooks and paper and writing things down. And that’s just because I think, especially for us as technologists, we’re so busy just clackety-clacking away on a keyboard and regurgitating a lot of our thoughts very quickly to a machine, which is great in some cases. But sometimes I think it’s good to grab a pen and paper and just slowly write out your ideas. And I find that it’s been very therapeutic, because that kind of buffer or that lag between you having an idea and you writing it down on paper slows down your mind a little bit and helps organize information. So usually, I say that as a precursor, that a lot of my tips will involve writing thingsdown, just because I find that it helps slow my mind down and clear my thinking as opposed to typing things in an email or notepad or something like that.

And I would say one of the first things that I’ve started to do recently,, and this is when it comes to big career decisions, for me a big career decision is like I’m invited to give a keynote talk at a really interesting conference or I’m invited to a residency program for my startup or I’m given a job offer, the one thing I like to sit and do is sit down and draw a quad diagram. And it’ll have two columns. And the columns will be me and others. For me, ‘others’ is the people that I prioritize in my life. So, it’s my family, It’s my immediate circle of friends. My immediate circle of mentors and associates. And then me is just, what is this, it’s me. And then I’ll have multiple rows and the rows will be 6 months, 1 year, 1 and a half years, and 2 years. So, just time. And I’ll write out, in six months, assuming that I take this offer or I do the best I can at this job or I speak at this conference and it turns out lending itself lots of other opportunities, what will this do to make me happy and what will this do to make others happy?

And I’ve found that this is a great way for me to balance prioritizing my own feelings versus the feelings of others, because one of the big things that I struggle with especially as a young person is I have a lot of mentors and friends and family who want me to do things that I don’t want to do. So, physically writing down how something will make me happy versus how it’ll make others happy helps me manage those distinctions. And then I’ll go through and I’ll fill out that chart and I’ll think about the total value of my own happiness and success versus the happiness and success that others might derive from my actions. And I’ll just have a conversation with myself. Do I care about the fact that if I do this, other people will be happy but I won’t? Do I care about the fact that I’ll be happy but others will be maybe a little bit upset? Andjust sit down and have that conversation about how my choice affects not just me but others long-term. So, that’s one of the techniques that I utilize especially when I’m faced with decisions. Things like referrals where somebody referred me to a position or things like a job offer where my entire family wants me to take it but I don’t want to take it. Or things where my friends really want me to do something that I don’t want to do and vice versa where I can be very stubborn and headstrong and want to do something that other people don’t necessarily support or totally believe in, and just managing those distinct things.

So yeah, that’s one technique I utilize. And that’s more structured and chart-based. Others, I think it’s just really useful to write out your feelings sometimes. And I think that’s advice that’s been given a lot to a lot of people. And I think it’s because it genuinely works. Just grabbing a pen and paper and writing it all out. And if it helps, if it’s something negative that you want to take it out of your mind or your head space, just burn it at the end. But just trying as much as I can to take a lot of the conversations that I have about myself and my career, where I want to go, from my head to a physical medium like paper.

JASMINE:That’s a great perspective. I just recently started my first journal ever. And it’s really been a great exploration into the things that I’m feeling. And for a bit it was a little bit scary to write those things down, because I’m like, “This is me. This is mine. Why do I want to put this in this book?” But it’s really just therapeutic and it just feels really good to just get it out and get it there on paper and just being honest with myself. And that’s a great, great tip.

CORALINE:I did journaling a lot when I was younger. And when I wanted to start again, I found writing on paper very frustrating because I was thinking much faster than I could write. Plus my handwriting is super bad. So, I actually did video journaling for a while. I would just literally open up Photo Booth and start recording and take 5 or 10 minutes to express what I was going through and what had happened. And I found I could discover more things that were actually on my mind that way, because I didn’t feel like I had to have a narrative flow. I had random access as opposed to sequential access to memories. And get it out really quickly and skim over details if I wanted to without feeling the need to explain them. So, I think that’s an alternative, too. But I definitely see the value of putting things down on paper, too.

SAFIA:I can really relate to the taking video journals. I think it’s a really great alternative to people who think writing is too slow. One of the things that I actually did when I was working on building out the product for my startup, Zarf, was do a weekly podcast where it was kind of like an audio journal of what I’d worked on that week and what was on my mind. And I would just sit down in my bedroom, usually, at 10pm on a Friday, and I would just record what was going on, what I’d done, what was on my mind. And I would share it out with everyone on the internet. And there were quite a few people who were listening. There was that intimidating component that I was actually being heard when I spoke, that it wasn’t just this direct contact between myself. But I agree that audio and video are great ways if you want to just dump and not necessarily have to structure.

And I think sometimes, that’s another thing you have to be mindful about is, do I want to structure and take things slow and really think slowly about what’s going on in my head? Or do I want to release? That’s a choice that we have to make. So yeah, I think that video journal idea is really good. And I should probably start it up again. I’ll definitely try that.

JESSICA:You mentioned the very conscious definition of success. And you defined it as you being happy and others being happy in the medium and long-term. How do you define happy? Is it like warm, fuzzy feelings? What does success mean beyond feelings of “woo!”?

SAFIA:So, I might get really dark here, but I don’t think true internal happiness exists, that there will ever be a case where you’re just satisfied with everything in your life. I think what I strive for is general ‘contentness’ in the things that matter to me. And I have some big life priorities that I want to accomplish. Some of them are personal so I can’t share them here, but some of them are career-oriented. Like I want to one day run a small tech company that has a diverse, dedicated, inclusive, and empathetic staff of engineers, designers, managers, et cetera. And that’s just a personal goal for me. And ‘contentness’ in that goal is once I’ve achieved it and just checked off all of the boxes in that goal. And then there are some things that are a bit less defined, like not very specific vision that I just laid out. But maybe I want to grow my technical skills in a particular language or framework.

And for me, ‘contentness’ is just, it’s so hard to explain because it’s, I would say it’s a deep sense of self-satisfaction, of being okay with yourself. And that’s such a hard thing I think for a lot of people to get or to achieve. It’s just being okay with who you are as things are and not striving for more. One of the things that I struggle with when I think about success and my vision of being content with the way things are is I’m a bit of a perfectionist. And I’m the kind of person who will check off one thing and immediately want to do the next. And I have this to-do list mentality that most people I think glamorize and think is the pinnacle of productivity. But for me, I’m just never going to be happy with what I’ve done. I’m always going to want to do more. So, success for me along that dimension is just getting to a point where I don’t feel like I need to do more, where I’ve conquered the intellectual and mental tick that I have that is always wanting to do something else.

JESSICA:But, would you even be you if you didn’t want to do more?

SAFIA:Oh my goodness. That’s a great question, because I struggle with this all the time. Like, “But wait. Is this aspect of my identity where I’m always a do more kind of person, is it me? Is it all I am? Am I going to eventually just hurt myself with my obsession of always doing more?” And it’s so difficult because I think with something like my need to always check things off a list and to always do the next thing, it’s great. Because I can be really productive. I can accomplish a lot. I can be a very dedicated and motivated person. But I can also just be consistently deeply unsatisfied with the way things are. And it’s this double-edged sword that I have to navigate. And like I was saying earlier,this is another thing that I’m working through in my journey of mindfulness. It’s just figuring out, am I this to-do list checker always doing the next thing kind of person? Or is there going to be a point where I can say, “Safia, enough. Be happy. Be content with what you’ve done.” And yes, it’s [Laughs] so difficult to figure out. But I’m working on it.

JESSICA:Gosh, I can’t imagine being content with what I’ve done. But I do find myself content in the doing.

SAFIA:Yeah, I can relate to that. I’m definitely the kind of person who is mostsatisfied when I’m intellectually, physically, and mentally busy or occupied. But I can’t spend the rest of my life like that. Or can I? I have no idea. I’m also only 21 years old. So, I’m sure I’ve got several [Laughs] more years to figure this out. And I think one of the tough things is I do have that part of my personality that is very motivated and checklist-oriented and wants to make lists for everything and do the next thing. And I think the hard thing is I have that personality on my own but I also exist in an industry that ‘fetishizes’ it and treats it as this holy grail of productivity and success, is you’re just the personwho always make lists and wants to do the next thing. I don’t know, Jessica. Do you feel like you are also… it seems like we’re the same kind of person where we’re always looking to do the next thing. Can you relate to that?

JESSICA:Yes, yes. And it’s never done. And yeah, I work at a startup now and I’ve just come to realize that there are many things that are not okay. This piece of documentation, not okay. This particular bug, not okay. This missing feature. It’s just, how can we even? But now, it is okay. We can’t do everything at once. The fact is we’re doing it and we’re looking around for information on which particular piece is affecting people and is most important right now. And so, I can be happy within the process. But I really have to be content with, “we are working on making the important things okay,” because it’s never going to be totally okay. It’s never going to be up to my standards. And if it ever is, I better raise my standards.

SAFIA:Yeah. And I really like the point that you made there, that I think ‘contentness’ is far more elusive than happiness to find. Being content is for me personally far more satisfying than being happy.

JESSICA:Yeah, happiness is like a fleeting feeling of ‘woo!’. It’s supposed to come and go.

SAFIA:Yeah. That’s a great way to put it.

JESSICA:Yeah. And one reason that I can never be content with the software that we have is because we don’t yet know what’s the most useful thing for it to do. And if we knew that, then we would already have written it. And then if I wanted to get it actually right, I would have to go back and write it again.

SAFIA:Yeah, I agree. And this is something that I had a really extensive experience with when I was working on launching my startup product. And I actually ended up building it in four iterations before it officially launched the beta. And as of this recording, I’m working on doing yet another rebuild of the product. And I kind of tweeted a little bit about this before that I think it’s very healthy to rebuild things. And there is a part of me that from a philosophical and emotional perspective is really into destroying things I make and making them again. I don’t know what that says about me. But I’m definitely gone to a point where I’m comfortable building an entire app, deleting everything (don’t worry it’s backed up on GitHub) and then starting to build it again.

This has two effects for me. The first is I don’t become obsessed with the code. I think it’s more important when you’re building a product to become obsessed with what it means for your users and how it’s going to solve a particular problem than the actual characters that you write in a text file and execute or run. And that helps me be the kind of engineer who’s more focused on the problem than the particular solution they’ve crafted. And another thing I think it’s helped me do is the process of rewriting something helps me get a better sense of the problem with each iteration. Like in the destruction of the first iteration of an app or the first build, there is this process of learning that you can bring into the next version.

I know I’m kind of presenting this really huge scary situation where I build an entire app and then I start over again. But I also try and do it in small iterations. And this is something that was inspired by my friend Corey Haines, who’s on Twitter @CoreyHaines. And he talked a little bit to me about one of the development philosophies that his startup uses, which is they have feature branches that only last for a day. So, you have a day to get the code in for the particular feature or fix that you’re looking to implement and then it’s cleared out at the end of the day. And the effect is that A, you get to iteratively learn and be able to start from scratch every day and not have this branch that hangs around for three weeks that you’re working on (which I think we’ve all had experiences with). And the next is you start to think more about building things smaller and smaller. And eventually getting into a big feature or a big fix. And I think that’s the holy grail for me as an engineer is getting to a point where I can look at a problem and break it down to the smallest possible parts it can be and then work on those independently.

CORALINE:That’s so important. And I’ve been in this industry for over 20 years now and when I started we did a lot of prototyping. And the rule with the prototype is that you would write it and throw it away. The prototype was your learning exercise and it allowed you to explore different options for how to solve a given problem. And when you were done with it you literally threw it away. And we did it. And I think that with Agile, that’s something we’ve lost. Because we’re constantly thinking in two-week iterations. And you can’t spend the next sprint rebuilding what you did last sprint because that has to be done. It has to be cumulative, right? And I love the idea of throwing code away. It’s so freeing. And knowing that it’s okay to experiment and knowing that it’s okay to get it wrong because this isn’t what the code’s going to look like in its final form, I think that is so valuable. I wish we were more free in this industry to do things like that. Partly I think we don’t do it because we’re afraid. Partly because we get attached to the things that we create. And partly because our development methodologies don’t support it.

SAFIA:Yeah. I think you just did a great job laying out all of the reasons that I think this happens. And I’m hoping that at some point I’ll have the chance to write a little bit more about my, let’s call it destruction-focused development. [Chuckles] But just the idea of being comfortable deleting things and not being attached to code is really difficult to manage, especially when your label is software engineer and that is what you do. And maybe not the ‘summarity’ of your existence as job but a big part of it.

CORALINE:So Safia, when you destroy a branch, when you destroy the app and build it again, how tempted are you to hold onto precious parts of the code where you’re like, “This was really, really hard. I don’t want to have to write that again. I’ll just copy that one piece over.”

SAFIA:Oh, I actually do that quite a bit, I’ll admit. So, it’s not completely destructive. But I would say it’s largely for things that are boilerplate or just logic that I know I’m going to need elsewhere that I can just copy over, which I’m comfortable with. But there are definitely times when I’ve had to write a lot of logic for something and then copy it over. And there are cases where it worked out well, where I was able to progress successfully with the new iteration of the app. And then there were cases where by bringing along that code, it actually brought all of the baggage that was needed to make it possible.

And I think that’s one thing I try to be mindful of, is every line of code has baggage no matter how insignificant. And when you bring it into a codebase, you’re bringing all of its baggage. Sometimes baggage is okay and sometimes it’s not. And I’ve definitely shot myself in the foot sometimes when I’ve brought a piece of code over and then I had to bring in the database migration and bring in this configuration and bring in all of this other stuff. It was just like, “Oh, come on. I could have just written this in a different way or taken this opportunity to think a little bit more about it.” But I would say in general I try to make sure that whenever I rewrite something, at least 80% of it is new, whether it’s using a different framework or focusing on different feature sets or fixing different bugs and letting other things slide. So yes, you caught me, Coraline. I am definitely guilty.

CORALINE:[Laughs]

SAFIA:Of copying things over. [Laughs]

CORALINE:I am reminded of part of the process that I use when I’m writing music. Sometimes a song will get to a point where I don’t like it anymore. There’s something fundamental that isn’t working about the way it’s been structured or the way the parts are coming together. So, I’ll start over. And there’s a lot of temptation to say, “That guitar part was so hard to play. I’ll just bring over that one guitar part.” And I don’t do it typically. And what I try to tell myself is that the important parts of the song are the ones that I’m going to remember. And if I remember them, I can do them again. And if I don’t remember them, they weren’t important.

SAFIA:That was so profound. I might need a couple of minutes to process it.

[Laughter]

JASMINE:So, in the beginning when we just started to chat, you mentioned that you had some shenanigans back when you started coding. Can you explain or tell us about one of those shenanigans?

SAFIA:Yeah. Coraline mentioned during my intro that I started to code when I was 11 years old. And I think one of the big things for me in my journey as a young technologist, young being tween to teenager, is just I had this moment where I realized I could control the machine. The machine wasn’t controlling me. And it was a huge transition in the way that I approached software because I now saw the computer as this thing that would respond to what I told it to do, not just where I would go to play Neopets and Miniclip games and whatever it is I was doing when I was 11. And you know, I miss those days so much because I was just gleefully hacking and I wasn’t doing it for work or to close issues or anything like that. One of the stories that I tell a lot and I think about it because it’s very funny is I kind of taught myself HTML. And my goal there was to make my Neopets page super awesome and glittery and the best thing ever. So, I picked up HTML and CSS. And I tinkered a lot with the visual elements of software. I did some stuff in Photoshop and InDesign and a lot of digital media type stuff.

But it was the summer before I started high school, I was watching a documentary series about the history of computers and it talked about Charles Babbage’s analytical engine and the ENIAC and early IBM computers, and just the entire history of the field. And the last episode talked about Larry Page and Sergey Brin and how they build Google and what that experience was like for them. And mind you, at this point I could write HTML and CSS. I was familiar with Photoshop. I knew that you could code computers or write software for them but I’ve never actually written a computer program. So, after watching that episode about Google and Larry and Sergey I thought, “I’m going to build a search engine,” because at that point in time I thought this was a trivial thing to do. So, I spent a lot of high school just in my spare time after school, on the weekends, during breaks, learning about search engines and machine learning and AI and how we manage information.

In this age, I built a silly toy search engine. I did a lot of machine learning related projects. I read a lot of books. And those were the best times in my career as a person in tech because I didn’t really have a goal. I wasn’t looking to be hired by a company. I wasn’t looking to get an offer to speak somewhere or to contribute to a project. I was just doing it because I thought it was fun and it made me happy. And I call those kinds of things shenanigans because there was no point to them. They were just fun and joyful. And I feel like I have lost a little bit of that sense of joy and play around what I build and how I build it that I’m kind of trying to bring back into the way I write software. But yeah, it’s been a while since I’ve been able to just have fun and do something pointless on a computer.

CORALINE:It’s amazing what you can accomplish when you don’t know what the impossible is.

SAFIA:Yeah. That’s a great way to phrase it. That was definitely my head space at the time.

JESSICA:And you said there was no point to them, but didn’t we already establish that the whole point was making ourselves and others happy? [Laughs]

SAFIA:Oh, yeah. I would say [inaudible]

JESSICA:So in a way that it was direct. [Laughs]

SAFIA:I would say this was… So, all of this was before I really started to think seriously about my life. I was doing this stuff when I was 14 and 15. And I was just a very self-centered teenager. [Laughs] So, the point for me was just to sit at a computer and do fun things and build cool things and not think a lot about why I was doing it or if I was going to make money off of it or if anyone was going to hire me. And I think as much as it is sometimes good to find things that make you happy or content, sometimes it’s good just to do things for the heck of it and for no reason at all other than it brings you joy at the time, as temporary as that time is.

CORALINE:That’s so wonderful, Safia. We like to end every show with reflections, thinking back on the conversation we’ve had and picking out certain points or topics or ideas that were really meaningful to us. A couple of things that struck me about our conversation today Safia is first of all, the grid you described where you laid out these quadrants of what’s going to make you happy, what’s going to make someone else happy, and being really thoughtful about planning your finite energy and labor around those sorts of goals. I often find that I feel like I’m not doing enough and I haven’t defined what enough is. And I haven’t defined why I do the things that I do. So, I’d like to try that approach and see if that makes me more mindful about what my own success criteria are.

The other thing that struck me is the idea of being content versus being happy. And I don’t have an opinion on whether I think it’s more important to be content or to be happy. I’m actually afraid of being happy. I don’t know how I feel about being content. [Chuckles] So, that’s definitely something I want to think about some more. So, thank you for that.

SAFIA:Awesome.

JASMINE:I want to thank you for diving into your feelings around representation, specifically in public events like conferences and speaking and things like that. It’s something also that I’ve struggled with when an organizer reaches out to me and asks, “Hey, can you do this? Because we need more women,” or they’ll explicitly say that. And I’m like, “I understand but it also feels almost like,” you were mentioning ‘ingenuine’ in a way. And it’s really great to know that that’s not… that’s a common feeling and that I feel like I can really explore those thoughts without feeling… that’s not unique. It’s something that we all struggle with. And so, thank you for that.

JESSICA:For the record, I don’t have any problem when conferences ask me, and I know they’re asking me because I’m a woman. Because I’m like, “I’m glad that y’all noticed that you needed more women speakers. And I’m glad conferences do this.” But I also don’t feel bad at all if I’m like, “No, sorry. Busy.” But my reflection from this episode goes back to something you said pretty early. You said that when you came to the US at 7 you learned to conform to standards and that now you’re returning to a more international focus. You’re able to, your phrase I think was go back and widen. You’re able to broaden your perspective because you remember reaching the perspective that most of us were born into. And that’s wonderful. That’s its own power that you came by through a lot of effort and continued effort. And the rest of us can gain that breadth too of both being able to meet American standards and understand and work with people outside of the US. We have to put in a lot of effort for that and I hope we do.

SAFIA:So, I guess in chronological order, I think it was really great that we had the chance to talk a little bit about the fact that the Silicon Valley mono-culture doesn’t capture everything. And as connected as we think we are with the internet and social media and all that, there are still experiences that we don’t capture, even within our own borders in the states, that we need to think about. I also like Coraline thought our discussion about content versus happy was really great. And Jessica, you did a great job of just making me feel better about what I was going through and showing me that I was not alone and just expressing some of the ideas that I had in different and interesting ways. And finally, I thought our discussion about tokenism was really great and addressed the difficulty of the conversation for underrepresented individuals. And that it’s an ongoing journey for me and I’m sure many others. So yeah, thank you for an awesome conversation, everybody.

CORALINE:Thank you, Safia. It was so wonderful to have you on the show today.

JESSICA:Thank you, Safia.

JASMINE:Thank you.

CORALINE:I want to remind our listeners that we are listener-supported. And if you want to support conversations like the one we’ve had today with Safia, go to Patreon.com/GreaterThanCode, pledge at any level, and get access to our exclusive patron-only Slack community, which is a wonderful, wonderful, wonderful place to continue conversations and have conversations like this. So, please think about supporting this. If your company wants to support us, we have a prospectus for sponsorship on our website at GreaterThanCode.com. And thank you all and we will talk to you again very soon.

JESSICA:Good morning! I am thrilled to be on Greater Than Code today. We have a very exciting guest. Please welcome Kent Beck. Kent Beck is the creator of Extreme Programming and one of the original signatories of the Agile Manifesto, the founding document for agile, lowercase A, software development. He’s a strong proponent of TDD. He pioneered the software design patterns and he was responsible for the commercial development of Smalltalk. Kent lives in San Francisco and currently works for Facebook. Kent, welcome to the show! What is your superpower and how did you acquire it?

KENT:Jessica, thank you very much. My superpower is putting together things that don’t obviously go together.

JESSICA:Like metaphors?

KENT:Like metaphors, yes. That’s a thing that I seem to be able to do that other people don’t do as regularly.

CORALINE: Was that something you were born with or was that something you developed over time?

KENT:Some of each. My mom used to play a game with me where we would take a random two pencils and then we would pass the two pencils back and forth and make out of it the most bizarre possible thing. So, walrus tusks, and then somebody else would use them as chopsticks, and then back and forth. And we used to play this game for hours. And I think there’s a big part of… I’m just a curious person and I learn lots of stuff. But there’s also kind of a habit to it where I hear something and I immediately compare it to other things and things that rhyme with it and things that sound like it and stories that I remember and so on. Does that answer the question?

CORALINE:Sure. It reminds me. I just recently read Douglas Hofstadter’s new book which is all about metaphors and analogies. And his basic premise is that we think in metaphors, we think in analogies, and that’s the basic mechanism of thought. So, being able to make associations between things is the source of innovation. And I kind of contrasted that with Dijkstra who said that it’s not advisable to approach new things with relating it back to things you already know, because new things need a new language, which I pretty strongly disagree with. But I’m curious if you have an opinion on that.

KENT:Yeah. So, I go back to the ‘Embodied Mind’ from, I think that’s [inaudible], where I agree that all abstract thought is metaphorical. And his premise goes further and says that the fundamental metaphors are physical. So, we know about inclusion and exclusion because we have a body. And the way we think about up and down even metaphorically is grounded in our physical experience of standing up and sitting down. Of course, saying that abstract thought is metaphorical is a metaphor, since we’re computer scientists. We can’t avoid that conclusion.

CORALINE:Meta metaphor.

KENT:Yes, because thought is actually this electrochemical goop in our brains and we use metaphors as a metaphor for thinking about it.

CORALINE:Wow.

SAM:Okay, I’m going to go. I’ll be back and I’ll be thinking for about five days.

[Laughter]

KENT:I couldn’t believe that I could shut up the entire panel.

[Laughter]

CORALINE:[Laughs] In terms of metaphors and software development, I think a lot about metaphors. I’m working on an AI project to write a program that understands and can generate metaphors. And I’ve thought a lot about how we borrow metaphors from other disciplines. And for the most part, we borrow metaphors from engineering and construction and science. Do you think that there are metaphors in other fields of study that are applicable to software development?

KENT:Sure. I think there are some metaphors that so built-in that we don’t even recognize them as metaphors anymore, like table or stack or…

CORALINE:Data store.

KENT:Association.

CORALINE:Scaffold.

KENT:Yeah, yeah. And so, I think we already have metaphors from lots of different sources. And every metaphor’s a two-edged sword, to use a metaphor.

JESSICA:[Laughs]

KENT:I’m sorry. I’m a computer scientist. It’s just a reflex. That it both reveals and conceals. And you say, well these two things are alike but they’re different. And if you get trapped into thinking that they’re exactly alike when they’re different, you’re confused. But if you think that two things are completely different when there’s actually similarities that would help you make some predictions, then you’re also losing.

CORALINE:I remember when I was doing some research from category theory. I wish I could remember and/or pronounce the name of the person who presented this YouTube series. But one of the things I took from my study of category theory is that traditionally, in science, we try to break things down into atomic parts and solve small problems and compose small problems into a grander solution. And category theory seems to take the opposite approach of taking a very high-level view of things, looking for ways that they are the same, and taking a macro as opposed to a micro approach.

KENT:I think there’s an analogous split in programming where you have the ‘for all’ people and you have the ‘there exists’ people. The ‘for all’ people want to make universal statements about programs and derive their understanding of some particular situation from the universals. And the ‘for each’ people are, which is my camp, as the TDD works by induction. You say, “This works. And this works. And this works. And therefore by induction, a whole bunch of other things work also,” which we don’t have to exhaustively test all customers. We know that if they have a name and an age then this computation’s going to work correctly.

JESSICA:Whereas that deduction is not mathematically valid. It is not literally a proof. But it’s darn well good enough for business software.

KENT:Yes.

REIN:A thing that I think is really interesting is that even in mathematics, what constitutes a proof is determined by humans being confident…

KENT:[Laughs]

REIN:That a certain thing is valid.

KENT:Sure. Proofs are about convincing other mathematicians. They’re not about universal truth.

JESSICA:I read somewhere the other day that reasoning is a social activity. We choose our beliefs based on whatever we do, usually people. And then we invent reasons for them in order to socialize them with other people.

KENT:Yup, I would agree. And the same is true in programming. You make a change to a program and it’s the beginning of a social process. It’s not the end.

JESSICA:Right. And I make tests and check them into the test suite for social reasons. As in [Laughs] I am going to make you uncomfortable if you change this.

KENT:Yeah.

JESSICA:Where by change I mean change the particular feature that I’m testing, if you change how that works, because I don’t want you to.

SAM:And we write tests because we’re embarrassed not to.

JESSICA:Oh yeah.

KENT:Oh, that’s not why I write tests. But I can have many reasons for a thing and that is one of them.

SAM:[Laughs] Fair enough.

JESSICA:That depends completely who you are, because yes, as Kent Beck, or as we, I don’t have to write tests and I can say, “I didn’t test this one thing because it was too hard.” But I have a friend, Amy, who just started as a developer and she’s got a PhD in History. She knows what she’s doing in life generally but she’s got to build up this credibility as a developer. And she was telling me about this test that was being difficult and, “How do you mock a void method in Mockito to throw an exception?” And I was like, “I would not test that.” And she’s like, “Yeah, I know. But my job isn’t to write good code. My job is to get it past this particular code reviewer.”

KENT:Yeah. And fair enough, if I was the code reviewer, I would want to know that somebody had taken care.

JAMEY:I think tests are interesting because I find myself, when I have [failing] tests, staring at them and going, “Okay, the first thing I need to know is, is this test showing me that my code is failing or is there something broken with the test itself?” And then once you determine that, you can proceed. [Chuckles]

KENT:Right.

JAMEY:I find sometimes I’m like, “I cannot proceed because I have to figure this out.” [Laughs]

KENT:Right. Have you ever kept a diary of unexpected test failures? This is a really fun exercise. Just keep an index card and even as simple as, “Was it the test?” Unexpected Failing Test: Was it the test or was it the code? I found that I had about one-third the test was wrong and two-thirds the code was wrong.

JAMEY:That’s interesting.

REIN:On that one I want to mention that I’ve been keeping a work journal for the past five years. It started when I had a very picky client who wanted me to account for every minute of my day. But what I found is that going back to it, it was the same thing you get from keeping a diary in life. I found it helped me understand the context of where I was when I made a particular change or how I was feeling or it helped me look back at decisions I’ve made in the past and compared them to what I was doing today. And it gave me a lot of context for my work life.

KENT:Mmhmm.

JAMEY:Do you do that on paper or in [inaudible]?

REIN:I have an… Emacs Org Mode has a journaling subsystem where I just say ‘start a journal’ and it puts me in a file with a heading for today’s date.

JAMEY:Cool. I write down everything on paper. And I get made fun of a little bit by other tech people sometimes. Not all the time. Not everyone is a jerk.

KENT:[Laughs]

JAMEY:But I feel like…

[Laughter]

KENT:[Inaudible] Thank you.

JAMEY:Not everyone. No, lots of people aren’t jerks. And lots of people tease me in a way that’s not mean. But I feel like I’m very often the only person in a room writing on paper while everyone else is typing. I’m doing it write now, too. [Chuckles]

SAM:For our listeners, Kent has held up his notepad as well.

JAMEY:Well then, I’m in good company.

KENT:Notepads. I have a small format Clairefontaine, I’m a stationary nerd, for notes. And then I have a large format Rhodia with the spiral on top, of course, for writing longer form stuff. And everything that I write, the last two books, all my blog posts, everything gets drafted on paper first.

JAMEY:Why is that? I think it’s helpful. What do you think is helpful about paper?

KENT:I can type faster than I can credibly think, but I can’t write faster than I can credibly think. I can get words out typing that I haven’t really thought about. And there’s a sync between my thinking speed and my writing speed.

CORALINE:That’s really interesting. I was doing some [research] recently and learned that in the early days of computers, when the lag between typing a command and the execution of a command was on average between three and five seconds, a lot of people didn’t see that as a problem because they actually saw it as an advantage because it would give the programmer time to think about what she was going to type next.

SAM:I hope you’ll use this time to think about what you’ve done.

[Laughter]

JESSICA:I find it’s often useful to have to think about, “What do I expect to happen again?”

KENT:So, I have a trick when I’m doing TDD that I predict the test run results out loud.

SAM:Calling your shots, yeah.

KENT:Yeah. It’s such a simple change, it makes you sound a little bit odd if someone’s just listening in. But I’ve just come off a stint where I programmed for 30 or 40 hours in a couple of weeks and man, it just makes a huge difference.

JESSICA:Yeah, that makes it an experiment where you’re trying to [falsify] what you think is going on.

KENT:Right.

JESSICA:Also, there’s a big difference between the test is red and the test failed the way I expected it to fail.

KENT:Right. And sometimes I’ll call a sequence of errors. Okay, now I’m going to get a null pointer exception. Okay, now I’m going to get array index out of bounds. Okay now, it’s going to pass. And if I’m making progress on the errors that I’m seeing in a predictable way, it feels almost as good as the test being green.

CORALINE:I have a saying that I never trust a passing test if it passes the first time around.

KENT:[Chuckles] That is a worthless test.

CORALINE:I’m not testing something that I should have been testing. Yeah.

JESSICA:[Inaudible]

CORALINE: If the code doesn’t surprise me, then I’m not thinking of edge cases. I’m not doing something right.

KENT:Mmhmm.

REIN:I think it’s also interesting to talk about this in a more general sense. So, there are systems that take in feedback and make adjustments. But then there are steering systems that have a good enough model of the thing under control that they can make predictions and act on those predictions and verify those predictions.

KENT:Right. And knowing which of those regimes you’re in is really important. So for example, blog posts, I have no mechanism for predicting the viewership of a blog post. So, I don’t bother trying to predict it. I just spew out whatever and then react to the reactions that I get. And sometimes, I posted something last week about complexity partitioning. A set of strategies I use to avoid having to bite off big chunks of complexity all at once. And the viewership was 10 times what my usual viewership is. And I thought it was not really my best work. So, if I’m in that regime where I can’t predict what’s going to happen then I shouldn’t waste any time, mental energy, trying to predict. I should just do something and see what the reaction is. But then the flip side, if you could predict and you choose not to or you just ignore that, then you’re also wasting possibilities.

SAM:Well, it’s interesting that you bring that up because that was one of the things that I was hoping that we could cover a little bit. But now I’m feeling all self-conscious that you didn’t think it was your best work. Do you have a hypothesis as to why that took off more than you thought it would?

KENT:My opinion of the work is kind of irrelevant.

SAM:[Laughs] Fair enough.

KENT:It’s not just that I’m inaccurate in predicting how things will be taken. I can’t. And it’s irrelevant. The other previous big readership blog post was one called ‘Mastering Programming’ that had 10 times what the complexity one had. And that to me was just, I was just spewing out some notes. Did you have questions about the content of the complexity partitioning piece?

REIN:Could you maybe give us a very brief overview as to what that is?

KENT:Sure. So, there are broadly speaking in programming, two camps: the lumpers and the splitters. And the lumpers don’t mind dealing with a bunch of complexity all at once because they can see it all in one place. And splitters, and I’m a splitter, like to take the complexity they have to deal with and break it into parts and deal with the parts. The bet being that if you deal with the complexity in parts, you can do a better job of each thing. And you lose the bet when you break something into parts and it turns out the interaction is more complicated instead of less complicated.

So for example, TDD is a complexity partitioning strategy that says, “I’m going to make this test work and then I’ll make all the rest of the tests work.” So, I’ve partitioned the complexity into this little piece that I have to do right now and a bunch of other stuff that I’m going to do later. Extracting a helper method is a complexity partitioning strategy where I say, “Okay, I don’t want to change this little bit in the middle of this big method so I’m going to pull out a helper so I can just change the whole helper method.” But I’m changing the whole thing all at once. That makes it easier for me to analyze what the effects are.

CORALINE:That kind of requires good integration testing, right? The way I see TDD practiced in the wild, at least for the companies that I’ve worked for, they tend to produce a lot of unit tests and then integration tests seem to be an afterthought.

KENT:Yeah. I’ve always had a hard time with, even with that distinction between unit and integration tests, because my tests skip between different scales with wild abandon. And I don’t even care what I call them. Hey, here’s a thought that I need to capture. This is the need to do this. Adding these two numbers together there gives you the sum, or canceling a subscription results in a rebate. To me, those don’t seem like terribly different things so I don’t make a distinction.

SAM:It’s interesting. I use a taxonomy of unit and integration and short-span integration just because I find that it helps me think about the properties of a test. Can I run this one a hundred times in a second or am I going to have to throw this one at a server and let it run overnight [Chuckles] to do it? And the other thing that I find it useful for is thinking about how important it is to preserve this particular bit of behavior, right? If I’m looking at something that most people would call a unit test, then I can look at it and I can say, “Well, okay. So, this test is probably not terribly valuable. I can feel okay about changing it.” But if I’m looking at something that describes a large chunk of the application then I might be a little bit more cautious about it.

JESSICA:Yeah, because tests prevent change. And like I was saying earlier, I put in a test for stuff I don’t want people to change, but I try to avoid committing to the automated test suite anything that’s implementation-dependent that it would be legit for people to refactor as long as the API-level outcome is the same. Does that make sense?

KENT: Yeah, yeah, a hundred percent. And I would say that even that is a complexity partitioning strategy where say, I’m going to separate the stuff that might change from the stuff that might not change. Now I can deal with them with different levels of rigor or concern.

CORALINE:Kind of funny. I write tests for completely different reasons. I see the primary value of tests as a form of documentation. I want to capture what the edge cases are so that the developers who come after me are aware of those edge cases. I want to have tests that thoroughly describe the functionality so that someone who goes back and reads the code can also read the accompanying tests and understand what it was that the code was trying to accomplish.

KENT:I think I primarily write tests so I don’t need Zola. I have a lot of anxiety while I program. Like, “What could go wrong?” and “Am I really smart enough to do this?” and blah, blah, blah. And that’s the reason I do all of the complexity partitioning stuff is if I have a flow that lets me take one recognizably chewable bite at a time, then I don’t get overwhelmed. If I can stream a whole bunch of those together, then I have a really effective programming session.

JAMEY:You answered a question that I was going to ask, which was I was wondering if this idea of lumping versus splitting was necessarily just about actual complexity and efficiency or if it could also be about the emotional state of the person who’s doing the programming. And I think you answered that because I agree. I find splitting things into chunks, I do that a lot in my code and it’s not necessarily because I’m making a conscious decision like, “I think this will be better in terms of complexity in my application,” but just like, “I don’t think I can do this unless I split it up this way because it’s overwhelming to me.”

KENT:Yeah. And at Facebook, I’m surrounded by lumpers.

JAMEY:Interesting.

JESSICA:[Laughs]

KENT:Yeah, yeah. I don’t [inaudible]

JAMEY:Lumpers sounds mean. I understand that it’s not mean.

[Laughter]

JAMEY:But it sounds mean.

REIN:So, I know some of the folks at Facebook like Simon Marlow and folks from the Haskell community and I’m fascinated [by code] to hear about the interaction between the Extreme Programming community and the Haskell ‘If it compiles, it works’ community. Because I’ve been a member of both.

KENT:Yeah. I took Brian O’Sullivan’s Haskell course when he gave it at Facebook. I actually took it twice and I still can’t get my head around monads, so there you go. And that was the first place I identified this ‘for all’ versus ‘there exists’ people because the Haskell community is definitely… my first programming assignment for that course, I did it TDD style and Brian used my result as an example of how I had a bug and I missed it and a ‘for all’ test caught it in two lines of code. And the way that I do complexity partitioning test first, there has to be a way of doing the equivalent thing in Haskell. You don’t write a thousand lines at once. You still write them one at a time. So, there has to be some decision criteria for which line you write first and then which 999 you write after that. But I wouldn’t claim to have gotten my head around that.

REIN:Kent, I’d like to maybe make something explicit which I think has been an implicit part of this discussion, which is the way that systems change over time as being an important part of how we design software. I think a lot of people think of systems as how they exist now and then how they exist at some point in the future and spend less time thinking about, “What is the best path from here to there through time?”

KENT:Right. I call that succession, that conscious decision of how you get from here to there. Sometimes, you can have a system in one state and you can imagine another state but you can’t get there and safe steps. And then either you have to do it in unsafe steps or you just have to heave a heavy sigh and realize you’re never going to get there. We talk about, design patterns are snapshots, but we don’t have a good vocabulary for talking about, “And then we… and then we… and then we… and then we…”

So for example, one of those is the, if you’re changing a data store there’s a sequence that works really well which is, you start writing all the new data to the new data store as well. Then once you have that working a hundred percent, you start migrating all the old data in the old data store to the new data store. And once you have all of that migrated, then you start reading from both data stores. And when the answers get close enough and they’ll never be at a hundred percent, but once the answers get close enough, then you can just start reading from the new data store. So, as opposed to the, “We’re going to shut down the system over the weekend, run the migration script, and then magically this time everything is all going to work,” which that trick never works but that doesn’t stop people from doing it.

JESSICA:Ah.

CORALINE:I see that making a lot of sense if you’re doing a very specific task. What I don’t see a lot of is systems thinking in terms of, “How is the system going to evolve over time?” I see a lot of thinking in two-week increments. I see a lot of thinking about “This feature needs to be added.” And I don’t see a lot of thinking about, “Where is the software going to be in a year?” or “What is it going to look like when we’re all finished?” I feel like we take a lot on faith with sprint methodologies that somehow everything is just going to come together and we have the best, the system will be as good as it needs to be.

REIN:And even when you do have the sort of one-year architectural vision, in a lot of my experience, that’s where people stop. They say, “Okay, we know what we want the system to look like in a year and then we’re done.” In my mind, that’s where you get started because now the really hard problem is, “What is the path that’s incremental that we can make changes in a continuous way from here to there?”

CORALINE:And of course, we can’t predict what it’s going to be in a year but we can at least think about it.

REIN:Yeah. And we also have to keep in mind that where we think we want to be in a year is in fact not where we want to be in a year.

KENT:Alright. So, I’ve had seven years’ worth of lessons in this kind of architectural evolution, watching projects and being involved in projects at Facebook. And yeah, there are things you can predict. You can say, “Every user uses this many kilowatts and we have this many megawatts coming into our data centers,” and you can make some predictions based on that. But every once in a while, the users will suddenly get really excited about live video and then all your calculations go haywire. So, you have to have some model for long-term growth, especially for things like building data centers that have a really long lead time. But you also have to recognize, have the humility to recognize the limitations of those models and recognize when it’s time to abandon that path and move onto something else.

JESSICA:It gets back to what you said about the blog posts. You can’t predict what people are really going to resonate with. And so, you have to react.

KENT:Or waste your time. You choose.

REIN:For me in my experience, the only systems that have ever worked under these circumstances are systems that take in feedback and react to feedback on a time scale where that feedback is still relevant. So, that’s why Waterfall became Agile for instance. That’s why SRE is focused on making changes based on feedback. All of these systems are now becoming cybernetic systems. I think that’s the way forward.

SAM:Can I get a definition there?

REIN:Yeah. A cybernetic system is a system that takes in feedback and responds to feedback and makes changes to the underlying system in an attempt to keep it in a certain state or change its state in a certain direction over time. So, test-driven development is a cybernetic system. You write a test, you look at what the test says, and then you make another change.

CORALINE:But all of that is irrelevant if our teams don’t also react to change in the same way as our systems do.

JESSICA:Our teams are part of the system. They’re not separate.

CORALINE:But teams can resist change in ways that software… it’s easier to change software than it is to change people. It’s easier to change software than it is to change teams or organizational structure.

JESSICA:Yeah. [Inaudible]

REIN:Yeah. You’ve been [impunitively] correct.

KENT:It’s easier…

REIN: Change to software may not be correct in your organization. It may fail for reasons that have nothing to do with the correctness of the software per se. I’ve seen that frequently.

SAM:Right. Right. You can rewrite a system that was messy and ugly in beautiful Haskell and if nobody knowshow to write Haskell, it’s the wrong thing to do.

JESSICA:Yeah.

CORALINE:Kent, you look like you had a thought about what we were saying about changing organizations versus changing code.

KENT:Yeah, so cultures change, period. And they do it without a lot of conscious thought. I’ve made at least part of my career out of trying to make those changes more conscious. So, I would say that the skills are different. The way you measure progress is different. But it’s… there are ways in which changing culture is easier than changing code. The outcome of trying to change, say a team’s culture, it’s harder to measure. You don’t get red and green. But you can look back and say, “Wow, six months ago this would have been a big fight and now we just had this conversation and resolved in 15 minutes. How did that happen?” Well, it probably didn’t happen at random. Somebody actually exerted some effort and now a team has learned conflict resolution skills.

JESSICA:So, I agree with you at a team level. The interesting bit about changing software is that culture change at an organization level is much harder than as a team and slower. But software change at an organizational level is not any slower than at a team level in the strange way software scales. Like, if I push out a new version of something, I could push it out to a lot places and a lot of customers faster than I can, say, train all those customers in a new way. Or employees.

KENT:I think again, try and change an API. Pushing out a new implementation is one thing. You can… push of a button. But if you have an incompatible API change, that’s a human problem. The human part of that problem is far more difficult than the software part of that problem. It requires completely different skills than deploying and implementation change. But…

JESSICA:[Laughs] Yeah, so maybe which one is easier depends on what skills you have.

KENT:Yes. Yeah, that’s what I’m saying. So, I think storytelling is the fundamental skill for change. And once you learn how to, I guess it’s again this complexity partitioning thing, once you learn how to say, “Okay, what’s the next story that I need to tell? How am I going to tell that? Is it going to be literal? Is it going to be metaphorical? How much emotional content? What metaphors do I use?” all of this, once you get good at that, the strategy of storytelling, then culture isn’t scary or complicated or hard. It’s still risky but it’s not fundamentally harder than programming for me.

CORALINE:I think that really depends on the person. We have classes where you can learn Haskell. We have classes where people can go to a bootcamp and learn how to be programmers. What are we doing to promote those storytelling skills?

KENT:I enlisted a storytelling guru. I practice. I read about storytelling. That stuff is out there. it’s just not maybe the classes that I took in computer science school. But people get degrees in Literature, which is all about storytelling. And if that’s not part of what we’re used to, that doesn’t… I realize that I have to play catch-up on storytelling.

REIN:Wait, are you telling me that a Liberal Arts education actually is relevant for a STEM career? Who would have thought?

[Chuckles]

KENT:I was in Computer Science and Music school every other year and I just ended up on the wrong year, so…

[Laughter]

JESSICA:The storytelling, I want to relate that back to what you talked about in terms of succession. Making change in software architectures is also a matter of that path from here to there and then you told a story about a database roll-out with migrations and double reads and dark writes. I injected the dark writes. And it’s the same kind of thing, right? The design pattern books contrast with for instance, refactoring. And the brilliance of Martin’s book there was that it took people step by step and told them the story of how to make the change. So, maybe storytelling is also how we get our software from one point to another safely.

REIN:Can I just add onto that a little bit? I think it’s not just that he told a story but he made us feel safe. He made us feel like…

JESSICA:[Laughs]

REIN:He makes us change… The way he said we can make this change, that we’ll be okay, that things will work out.

KENT:Yup.

SAM:Wait, are you saying that feelings are important?

KENT:[Laughs]

JESSICA:It might [inaudible]

CORALINE:We have to change the nature of this podcast entirely.

[Laughter]

CORALINE:I thought it was all about technology, but I think we’re learning that people matter.

KENT:Oh. Yeah, this is…

JAMEY:Only Jess’s feelings.

[Laughter]

JAMEY:That’s what I learned.

CORALINE:What version of your API are we using, Jessica?

JESSICA:At least 18.6.k.

[Chuckles]

CORALINE:I want to see personal release notes. That’s what I want to see.

JAMEY:Yeah. I want an open source version of Jess’s API so I can feel the same feelings as her.

[Laughter]

KENT:Do you get to submit a pull request?

JESSICA:Dude, if I could [inaudible] what it’s like to be in my head, I would be very rich.

[Laughter]

SAM: Let’s see. Aren’t the feelings an internal implementation detail that only leaks out through the API?

JESSICA:It leaks out pretty loudly in my case.

SAM:[Laughs]

CORALINE:And with great enthusiasm.

JESSICA:[Laughs]

REIN:That actually reminded me of a point I wanted to make about whether the people stuff is harder than the software stuff. And I think there is one objective way in which is harder, which is that software, computers are perfectly rational and humans are extremely not rational. And it’s much harder to predict human behavior on that basis, especially because…

CORALINE:Thank the gods.

REIN:Groups of people are even more irrational than the sum of their parts.

KENT:Well, that good news then is that once you get to sufficient scale, computer systems look like biological systems.

JESSICA:Yeah, because you can’t…

REIN:Wait, is that good news?

[Laughter]

JESSICA:You can’t [inaudible] anymore at scale.

[Chuckles]

JESSICA:Well, it makes our job more interesting.

KENT: Yeah, I remember the first time I pushed code at Facebook and I was watching the IRC channel and it said, “This release has gone out to 6600.” I thought, “Wait a minute.”

[Chuckles]

KENT:And I panicked. I grabbed the person next to me. I’m like, “What’s going on, on the other hundred machines?” They’re like, “Ah, who knows?”

[Laughter]

KENT:It’s not causing any problems. We’re just not going to worry about it.

CORALINE:Those machines are just having a bad day. They need more coffee. [Chuckles]

JAMEY:Coraline, you just got into what I was going to say, which is what… I think it’s really fascinating how people personify their technology.

CORALINE: Don’t personify computers. They hate that.

JAMEY:[Laughs]

JESSICA:All networks are rooted in the physical.

JAMEY:Rein was talking about computers are so logical. Obviously, in my rational mind, in my rational computer scientist mind, I know that that’s true. But when I think about writing code and working with computers, it definitely occurs to me that I often feel like, “No, it’s doing this to spite me. No, it’s fighting with me.” I’m like, “No, it’s doing exactly what I told it. It’s just, I don’t know what I told it because I’m the one that’s stupid.” [Laughs] I’m not stupid. But it’s doing what I told it to do but it feels like it’s plotting against me. I think about that a lot. Because wee all do this. We all give emotions to these things that we work with that don’t have emotions.

CORALINE:We’re very happy that this episode, which is a very special episode for us all, is sponsored by Cohere. Cohere helps teams to be more effective by applying deep technical expertise with the human side of software. Cohere partners with companies to help them achieve their team’s goals through feature delivery, pairing, individual coaching, and group training. They would love to hear about your team and help you get your teams to the next level. For information, visit WeCohere.com/GreaterThanCode.

SAM:I would also like to add a personal testimonial that I met several of the principals of Cohere at RubyConf a couple of weeks ago and they are lovely, lovely people.

JESSICA:Also, thank you to all our supporters on Patreon because if you donate even a dollar, you get to be part of our Greater Than Code Slack team, which I really like that Slack team because everyone is nice to each other and we talk about interesting things.

JAMEY:So unfortunately, we’re coming near the end of our show today. And we like to finish off our shows with everyone giving a reflection about something that stood out to them that they’ve been thinking about that we talked about on the show today. So, I guess I’m going to start. And the theme that I really got from today’s episode was thinking about the reasons why we do things. And I started thinking about this right at the beginning of the episode because there was a quote that Kent said about mathematical proofs, that proofs are about convincing other mathematicians, not about universal truth, which I thought was really interesting.

But then as we kept talking I think we talked a lot about why we do things. Like why do we write code the way we do? Why do we write tests the way we do? Why? Is it about our efficiency? Is it about our emotional state? Is it about the future of our codebase? Is it about how other people interact with it? And I think there’s a lot of different motivations that we may have behind doing something that all may be just as valid as another one. But I think it’s really interesting and maybe necessary to be thoughtful about why we’re doing stuff because I think that gives you a lot of insight into your routines. That’s very important. So, that’s on my mind, I guess.

REIN:So, my reflection of all of the really interesting things that were said today is that when Kent Beck talked about how computer systems are beginning to take on the complexity of biological systems, I think this is in my mind one of the most important technical stories of software engineering for the next 20 years plus, which is that the system models that we currently use to understand software complexity that we largely brought from the mainframe era that got us here aren’t going to get us there. They’re going to fall apart when we have to start dealing with computer systems made up of 2000 machines that talk to each other in ad hoc or in emergent ways. These models are going to fall apart and they’re not going to get us where we need to be. And we need to start working on new models that are able to handle this level of complexity.

CORALINE:I think one of the things that stood out to me that I want to think more about is this concept of lumpers versus splitters. As soon as he said that, I wanted to figure out, am I a lumper or am I a splitter? And I think the answer is both and it depends on where in the software development life cycle I am. I think in the beginning of a project, I’m a lumper. I’m thinking of the system as a system, not as component parts. And over time, as I’m building it out, I’m splitting things into smaller and smaller pieces. But at the end I have to come back to thinking of it as a system to determine if the software is successful or not. So, I think that was something that I particularly was interested in hearing about and thinking more about.

SAM:Well, now I have a totally new takeaway, because that is fascinating. I am the exact opposite way. [Laughs] I start out thinking about splitting the system into little bits and pieces that I can actually understand. And it’s only over time that I’m able to put those pieces together and chunk them into something that I can lump together and think about as a whole. But interestingly actually, that does tie into the thing that I was going to use originally as a takeaway, which Jamey is something that you said about how strategies for dealing with complexity, they don’t just have to be about the problem itself. They can totally be about the emotional response of the programmer who has to get some work done. And yeah, that’s absolutely valid and a perfectly reasonable response to the complexities that we have to deal with.

JESSICA:Oh, I have at least three different things I could reflect on, but I’ll go with the one about the for-all-ers versus the for-each-ers, universalists versus existentialists. And the for-all-ers wanted to go so abstract that things become the same. I’ve been thinking lately about the expression ‘It’s turtles all the way down’. We want the same mental model to work at multiple scales. We want to be able to zoom in and out and still think of things the same way. We want Agile to scale.

But the thing is, I started out as more of a for-all-er I think when I was younger and now I’m more of a for-each-er because to actually change anything at every level of scale, you need to get into the details. And most of programming winds up being about the details and the errors cases. And I think the for-each-ing becomes important. It’s different to change an organization versus a team. It’s different to change a distributed system versus a single service, a single compiled unit you can say different things about. So, I find that really interesting. They both have values but it’s important to create those metaphors. And then probably take them too far so you remember they’re just a metaphor. That’s my theory.

[Chuckles]

KENT:So, my reflection from the conversation is that I’m comfortable with influencing human systems to change now in a way that I didn’t realize how comfortable I’d gotten at that. I’m comfortable changing technical systems and have been for a long time. But culture change doesn’t scare me in the way that it seems to other people. So, I need to think about first, whether that’s really true. Am I as good at this as I think I am? And second, if I am, what I can do to help other people learn it.

JESSICA:Awesome.

CORALINE:Kent, thanks a lot. It’s been really great talking to you. I didn’t cover everything I wanted to cover but we only had an hour. So, thanks again. And I think this is going to be a really great episode that our listeners will really enjoy.

Jessica: The layers of people in software and people in software and how we’re all learning. It gets hard to separate the people from the technology.

Also, having goals you DON’T want to achieve.

Coraline: Seeing crowdsourcing being successful.

Jamey: Curiosity isn’t necessarily about finding out the answer. It’s the pursuit of the magic.

The tenuous path we all take in life, and what decisions cause us to be on the right path to the right here, right now.

Pamela: If we collaborate with the technology, maybe we won’t get silenced.

Transcript:

JESSICA:Good morning and welcome to Episode 59 of Greater Than Code. I am happy to be here today with my fellow panelist, Coraline Ada Ehmke.

CORALINE:Hello everybody, and I’m happy to be here with Jamey Hampton.

JAMEY:Thanks, Coraline. And I’m honored to introduce our guest for the show, Pamela Gay. Thank you for coming on the show. Pamela Gay is an astronomer, writer, and podcaster focused on using new media to engage people in science and technology. Through CosmoQuest.org, she works to engage people in both learning and doing science. She’s the Director of Technology and Citizen Science at the Astronomical Society of the Pacific. And we’re really happy to have her on the show today. So, welcome.

PAMELA:Well, I’m super happy to be here. It is awesome to be surrounded by other humans that are dedicated in code, but for more than just code’s sake. And other women who code, yay!

JESSICA:Yeah. Pamela, how long have you been podcasting?

PAMELA:Forever.

[Laughter]

PAMELA:So, the first time I started podcasting was actually…

JESSICA:Since before podcast was a word?

PAMELA:Yeah, yeah. I started back in February of 2005, back when no one knew what this RSS thing was and it was back in the days of Adam Curry being out there as our advocate and shining star, helping light the way for podcasting.

JESSICA:Who’s Adam Curry?

PAMELA:Oh, man! So, Adam Curry was an MTV VJ turned podcaster who turned podcaster to start podcasting as this way that people could talk about their lives. And he’d record himself walking around his house doing his dishes and sharing out all the things he’d learned on the internet and just building a community. It was kind of awesome. So, it was back in the day. I think he kind of faded into oblivion now that there’s more than 12 podcasts out there.

[Laughter]

CORALINE:So Pamela, we like to start every episode by uncovering what our guest’s superpower is. So, if you could explain what your superpower is and when you developed or discovered that superpower.

PAMELA:[Laughs] I’m told that my superpower is public speaking and getting other people totally engaged in science, which is kind of what podcasting is all about. But beyond that, my beloved superpower, the one I like to invoke, is solving random problems with software instead of spending hours and hours and hours trying to do things the hard, manual way, which…

JESSICA:Ooh.

PAMELA:Yeah. I think it’s kind of near and dear to this show.

JESSICA:Automation.

PAMELA:Well, not just automation but crowdsourcing and getting other people involved. So, I think the best example was back in, oh man, it was probably 2009 or so, I was at a meeting with the Astronomical Society of the Pacific before I worked for them, many, many years before I worked for them. And I met this scientists, Stuart Robbins. And this poor guy while working on his dissertation had drawn over three million circles on the surface of Mars. Not like literally on the surface. That would have been cool. But rather, on images taken of Mars. He sat there with his tablet, getting callouses from his Wacom stylus, and traced craters three million times. And I’m like, “Dear god. There must be a better way.”

And the answer is write software that allows anyone who has five minutes to go in and help. Because Mars is cool. People like to draw things on Mars. People like to help us figure out, where is it safe to land a spacecraft? Where is the cool science? And they will help. And so, it wasn’t just automation. It was writing software to allow anyone how had spare time to help and to make his life easier with software, to get other people engaged in doing science through software, and to lighten the load and increase the good for all of us.

CORALINE:Maybe this is a good time for me to confess that I’m the person who put the face on Mars.

PAMELA:[Laughs] Well, you did a mighty good job of it.

CORALINE:Yeah. I just wanted to throw people off a little bit, stir up some controversy. I didn’t use software though. I did it the old fashioned way.

PAMELA:So, you were out there with a shovel and…

JESSICA:[Laughs]

PAMELA:Getting buried in perchlorates as you did it?

CORALINE:Shovel and pail. Thank you very much.

JAMEY:I’m learning so much about you, Coraline.

CORALINE:Yeah.

PAMELA:[Laughs] That was a lot of digging. You certainly gave the Egyptians and the Mississippian people a run for their money.

CORALINE:I try.

JESSICA:[Laughs]

CORALINE: I set my goals pretty high.

PAMELA:[Laughs] We all need to have high goals. You can’t get anywhere without goals.

CORALINE:So, when you recognize this problem that the researcher was having, did you already know how to code and did you already have the inkling of how to help solve that problem? Or is that when you said, “There must be a better way,” and you taught yourself? I’m interested in how you got started.

PAMELA:I am what is perhaps best defined as a reluctant coder. My dad’s a professional programmer. And so, I grew up hearing the pounding of his mechanical keyboard and having to get out of bed and close his home office door so I could sleep at night, because mechanical keyboard. And now I love my mechanical keyboard. The tables have totally turned. And I was like, “I shall not be a coder,” but then I wanted to make a Battlestar Galactica fan fiction video in middle school and needed to do my own early version of CGI which was actually Logo. And so, I wrote code to make a viper and then figured out how to turn the turtle into the viper so the viper could fly around by doing turtle with ‘pen up’ command. I was a weird middle-schooler.

And then in high school I learned Pascal. And when I started university, for a while I thought about getting a dual-degree Computer Science and Astrophysics. But the prof who taught all my algorithms courses, every homework assignment was hockey. And when I found out he’d be teaching Assembly, I was like, “I can’t do it. I don’t want to know how Assembly and hockey will be related.” And so, I didn’t get…

CORALINE:[Laughs]

PAMELA: The CS degree. But at that point I was like, I know how to teach myself code. I know how to read resources. I hate hockey, except if I’m playing it. That was what I learned in my CS classes. I hate hockey unless I’m playing it. And so, I set out to learn how to learn and have been fixing problems ever since. I was a variable star astronomer as an undergrad, so I had to write software to find, how long does it take for this star to go from its brightest point to its faintest and back up to its brightest point? And I had to write code to sort out how different stars change over time.

And then in grad school I was dealing with thousands of galaxies as one does. And I had to figure out how to write software to go through catalogs of data of the entire sky looking for these points where there were overdensities. And so, it’s one of these things where I keep facing problems of, “Well, I could do this by hand. I could do this in Excel. I’m not going to do it in Excel. I’m going to figure out how to linked list the bajeezus out of this,” in the early days.

[Laughter]

PAMELA:And now I figure out how to MySQL the bajeezus out of stuff. And life is better with code.

CORALINE:I’ve often said that every Excel spreadsheet is an application waiting to be born.

PAMELA:Yes.

JAMEY:I like the idea of code out of necessity or at least code out of doing a better way of what you’re trying to do. I actually even like this all the way back to the Battlestar Galactica example.

PAMELA:[Laughs]

JAMEY:Because it’s like, it’s a different kind of necessity but I’m sure when you were in middle school that seemed like something that just had to be.

PAMELA:It was the most important thing ever. I needed to have my vipers.

JAMEY:I have to be honest. I learned my first piece of code that I ever wrote, was for, I had an X-Files fan page on Geocities, which obviously you don’t need to write code for Geocities but I was like, “I have to have a personality test.”

PAMELA:[Laughs]

JAMEY:Where you click the radio button and it tells you which character you are. And I built it in JavaScript when I was in middle school.

PAMELA:Oh my gosh, and JavaScript is black magic. So, you were a high sorcerer.

JAMEY:[Laughs] I’d like to still think of myself as a high sorcerer now. [Inaudible]

PAMELA:If you still do JavaScript, it’s really ‘The Wizarding World of JavaScript’ as far as I’m concerned.

PAMELA:Well, and there’s always those days when you’re staring at your code and either saying, “I don’t know why this works,” or saying, “Why doesn’t this work?” And I swear, there have been times I’ve deleted a line of code and typed the exact same thing back in and suddenly things are bouncing across my screen the way they’re supposed to.

JESSICA:[Laughs]

JAMEY:I find “Why does this work?” much more frustrating than “Why doesn’t this work?”

PAMELA:Yes, yes. We were actually having this discussion yesterday in the office where we’re currently working on a project that will allow anyone with anyone with a camera that they can point at the sky to figure out, first of all, what it is they pointed their camera at, and second of all, if they take more than one image, to look for things that move and vary in brightness and do all the cool things that lead to science. And writing software to handle all this variety of data is an interesting challenge. And we’re trying to do all of this completely open source, building on existing libraries from the NIH. And the NIH wrote their libraries to deal with medical x-rays and MRIs and all sorts of image data than we have off of our telescopes. And so, there’s a whole lot of, “And now I shall hack this to do something it was never designed to do,” which is the fun of open source. And there has been a great deal of, “Why didn’t that work? Why didn’t that work,” random erasing of code, “Oh crap, why did that work?” And this was the discussion of yesterday.

CORALINE:There’s no code like no code.

PAMELA:Exactly.

CORALINE:Pamela, you expressed your early interest in Battlestar Galactica. Obviously, you have a deep love of space. Are those two things related?

PAMELA:Yes. I hate to admit this, but I actually got into space probably in part due to Battlestar Galactica. It all goes back to Battlestar Galactica. So, I am of the age that, I was like four or five when the show originally came out. And so, I grew up watching it in infinite re-runs and I remember arguing with my mother over whether she could use the television to watch Fame or I could use the television to watch yet again an episode of Battlestar Galactica I had memorized. And I noticed when I was little that all the characters had names that were out of Greek mythology, because I had a book on Greek mythology from the used bookstore. And then I discovered that all the constellations were named after the Greek mythology. And then I went down the rabbit hole of outer space. So it went from Battlestar Galactica to Greek gods to all of outer space in this crazy pre-Wikipedia rabbit hole of, well at the time it would have been the library.

CORALINE:So, it probably wasn’t a hard decision for you to go into astrophysics when you got to college?

PAMELA:Well, it was because growing up, when you’re a girl in science, there’s always that person who’s like, “Well, you can’t do that. You’re not good about this.” There’s all that bias that comes down on you. So, my high school physics teacher at one point said he was giving me a C to keep me out of getting into a good college for physics because it…

CORALINE:Oh my god.

PAMELA: Would only lead to disappointment. And you hear all these things over and over again and you get patted on the head as the cute little girl doing science over and over again. And I actually started college thinking I was going to go into Science Policy. So, I started out dual-degree because I had way too many AP credits and it was like, “I shall get two degrees, because AP credits.” It started out dual-degree International Relations and Astrophysics. And by the end of my first year, I was like, “Oh dear, all of these international relations people are capable of dressing up business casual for 9am classes.” And I then learned macroeconomics and discovered I hate capitalism as something I have to understand. It hurts my brain to understand economic theory. And I didn’t want to study that for three more years.

So I was like, okay, I’ll do dual-degree in Computer Science and work on software for astrophysics. And I kept plugging at the astronomy in the background and loving it and loving every part of it. And a lot of my lowest grades in college were in my high-level physics courses because it was a struggle and I enjoyed the struggle. And in the end, I dropped the International Relations degree when I learned that it is economically better to kill someone than maim someone. I dropped my Computer Science secondary degree because I hated hockey, which is a very strange reason to do something.

But I kept going with the astrophysics and then I got into graduate school and I kept going with the astrophysics. And it turns out that I am totally capable of doing this. And I’ve used all those other classes I took because astrophysics is an international topic. And it is something that requires programming. And I love living in this interdisciplinary world where I get to travel our planet while exploring others with my software and the images taken by various spacecraft.

JAMEY:That’s beautiful. I love that.

CORALINE:Beautiful is exactly the word that I was thinking of too, Jamey. I think it’s really wonderful when you have the privilege of working on something that is fascinating to you and that you have skills capable of exploring in depth. A lot of people don’t have that. A lot of people, like I think of my father who just, he was good at electronics and he worked as an electrical engineer and that killed his love of electronics.

PAMELA:Yes.

CORALINE:And I think a lot of people face that and a lot of people get into coding for economic reasons and they get into the job and they find that they hate it. So, I feel very fortunate I love programming, because it is creative and I’m happiest when I’m creating and I don’t care what it is that I’m creating, whether it’s words on a page or pixels on a screen or music in someone’s headphones. But just having that creative outlet is really good for me. So, I definitely feel blessed to find that same satisfaction from creating code.

PAMELA:And one of the things that I find is there are those days that you do something because you have to. For me, those are usually the days I work on budgets which I hate doing. But we all have parts of our job that we have to do in order to do the things we love. And when I get to solve random problems, and sometimes it’s truly random… one of the researchers I work with yesterday was getting extraordinarily frustrated because she wanted to do a pie chart that could then be exploded out to show finer granularity, like DaisyDisk does when you do an audit of your hard drive and it shows you, this is how many files you have that are in your personal documents folder, and then it explodes it out into your photos and your podcasts and everything. She wanted to do that with some research we’re doing into our Twitter audience and couldn’t.

And I’m like, this is a problem I can solve with processing, because it’s just a quick, simple bit of code. And everyone in my team is like, “Yes, but you’re the PI. Why would you sit down and do that crazy stupid little bit of code?” And I’m like, “Because it’s fun and I want to.” And I hate doing budgets, so I’m going to write this software. And finding that ability to solve someone’s problem, because she was getting angry at Excel, and solve it with something that’s colorful and fun and quick and dirty, because that’s what processing is sometimes, yeah I live for those moments.

JAMEY:You told a couple of stories of very specific moments when you were like, “This isn’t for me,” in school…

PAMELA:Yes.

JAMEY:With the hockey and with the people in business casual. And I can tell that you really love what you do with astrophysics and stuff. Was there an opposite moment? Like, maybe you when you were in school or when you were first starting out where you were like, “Yes! This is it. This is the best.”

PAMELA:I think the way it worked was I discovered one day it was possible to get paid to do things that make me giggle. And that’s not the kind of thing that any guidance counselor tells you is possible. And it all came about from becoming an accidental podcaster. It wasn’t like, I have to admit, I didn’t originate the idea to become a podcaster. I had a colleague come up to me at a conference and he’s like, “Hey, I read this article in Parade magazine about this new thing called podcasting. You have a great voice. We should do this together.” And I was like, “Yes. I like doing things with my voice. It is fun. We shall do this thing.” And I wrote the website and I actually did that while watching the new version of Battlestar Galactica, because it always comes back to Battlestar Galactica. And so, Friday nights would be getting the new posts up, updating the RSS, updating the website.

And then I started applying for grants and putting out PayPal links and saying, “Hey, will people support us doing this?” And the answer was yes. And then we started looking to see, “Can we use this for astronomy to help promote education and get paid to do that?” And then we find ourselves going to science fiction conventions. And it just kept snowballing where I kept finding people are willing to pay me to do things I love to do. Why would I do anything else?

And back in 2011 I basically did a cleaning and kind of shook off all the parts of what I was doing that I hated and made a promise to myself that other than having to do things like budgets, I would never apply for funding to do something that would make me miserable the entire time I was doing it ever again. And I would never apply for a job doing something just for the money. And I’ve been lucky. Not everyone can do that. There’s been times where I’m really grateful that I have a significant other who can keep a house over our head when I’ve had gaps in my funding because congress doesn’t always support science. But I made a conscientious choice that life is short and right now I’m in a position where I have that ability to do things that benefit science, that make other people happy, and except when I’m doing budgets, make me giggle while I’m doing them.

JESSICA: It helps to have a weird sense of humor.

PAMELA:It does. It does. If you can’t be sarcastic at your code, it will win.

CORALINE:So, with your podcasting, what was the goal that you set out to do? Do you feel like you’re close to accomplishing that goal?

PAMELA:Well, if we were close to accomplishing the goal, we’d be close to ending the show. So, I hope we never get there. So, with our first podcast, Slacker Astronomy, our goal was to basically be the daily show of astronomy where we took on astronomy news items and produced them from a really weird and out there sense of humor, not always rated PG. It turns out there is a star that it’s abbreviated name is actually Tau Boo B. And if you say that quickly, it is worth giggling at.

CORALINE:[Laughs]

PAMELA:And it has a planet. And talking about that planet was way too much fun. And so, we embraced the silly and that’s how we got the start. But sometimes you grow up and get jobs that don’t appreciate you doing off-color science. And we all kind of grew up. And as we moved away from doing that, I started doing Astronomy Cast with Fraser Cane who’s the publisher of Universe Today. And the two of us settled into this format where each week we take on a different topic and try and explain not just what we know, like the cover on all the news articles out there, but how did we figure this stuff out? How do we know general relativity is true? How do we know what color that asteroid from another star system that just whipped through our solar system is? How do we know it actually came from another star system? And because we do science to keep learning new things, if our show runs out of content, it means that we understand the entirety of the universe and that will be a very sad day. And I don’t think we’re actually going to get there.

CORALINE:That could take at least a couple of years, couldn’t it?

PAMELA:Well, we’re now in year 11. So yeah, science is making progress. We’ve had to update some of our episodes. But we’re not quite there yet on running out of content.

CORALINE:And who’s your target audience? Is it other scientists or is it amateurs who are enthusiastic about astronomy?

PAMELA:We try and target our episodes at anyone who has an interest in science and is capable of thinking things through. So, some of the episodes are at a pretty introductory level where we take people through all the baby steps necessary to understand something. And then we’ll do a follow-up episode later. We’ve done this on relativity in particular where we do a deep dive into a particular concept. So, if you go back and listen to past episodes, someone coming in who is utterly non-interested in science and is getting dragged in by their child who’s like, “We’ve got to listen to this,” they’ll be able to follow along and catch up and learn. But someone who’s coming in with a deep passion for the subject already will also find new and interesting things to challenge their brain. We’re here for nerds and people who don’t know that they’re a nerd and are about to become a nerd.

[Laughter]

JAMEY:Awesome . I love that. I also love something you said a little bit ago that I wanted to go back to. Because you mentioned that the day that we understand everything about the universe is a very sad day. And that’s interesting to me, because I totally understand it once you say it, but when I think about science and curiosity, we want to understand. We want to understand everything. And how that intersects with the idea of, “But if we actually understood everything, maybe it would be kind of disappointing.” I don’t know. Do you have more thoughts on that? Because I’m just so interested in that.

PAMELA:It’s sort of like as a young nerdling, I often had people like, “You think you’re such a know-it-all.” And I remember in middle school I thought it was the best retort ever. I was like, “I don’t know everything. But I want to know everything.” And it’s just like, what sort of retort is that? But it was true. It was a bad response but it was true. As a scientist, we don’t know everything and that’s why we science it so that we can discover the things we don’t know. It’s so that we can fill in the gaps and we can figure out the things we don’t understand. And it’s that curiosity that drives us.

So, sometimes you’ll be working on trying to figure out something and solve a problem and you tear apart electronics. You start knitting a new object. Whatever it is, you get halfway through it and realize you’ve figured it out. And it’s no longer interesting because you’ve figured it out. And so, it sits there undone because all the magic went away once it was fully understood. And with a lot of different things, it’s that pursuit of the magic. It’s that pursuit of this thing you don’t understand that drives the action. How do I do this? How does this work? What is the underlying stuff and things that make this go? And once it’s figured out, it just gets pushed aside and never completed because, boring.

CORALINE:I’m curious. I have an ongoing artificial intelligence project called Sophia that I’ve been working on for a long time. And for a long time, I was focusing on natural language processing. And I think I reached a point where it was similar to what you were saying where I recognized, “Oh, there are mechanical ways of doing this and I’m not interested in this anymore.” So, I ended up outsourcing the NLP portion of the project to Google’s NLP API because I was like, “This isn’t the problem that I’m interested in.” Do you run into that? You mentioned that you use libraries developed by the NIH. Did you find that you were in a similar position where you were excited about inventing and then realized that someone had already come up with a solution that was maybe better or more sophisticated than what you would have done on your own and said, “Oh okay, I’ll just use this library,” and was there a sense of loss that went along with that?

PAMELA:So, it didn’t happen with this particular project because it turns out, I had never had the desire to write my own libraries to read in images, because cameras like to do things in so many different ways that it’s just like, “I don’t want to be responsible for keeping up with Canon.” And if NIH is going to do that, more power to the NIH. Not an interesting problem. The place where I ran into that level of sadness was back in the early days of podcasting and website development and starting to develop frameworks. In the days before WordPress, because those days actually existed, I worked really hard to build my own content management system and I was so proud of it. It had a frontend. It had a backend. It had an admin account. It was glorious and it was mine and I used it for my website.

And then WordPress came out with way more functionality. And the things that I was working on, on my own for my own purposes, I realized I don’t need to do all of this on my own. I can hack WordPress. And so, I took to hacking WordPress. And then I was happy and I was customizing WordPress and life was good. And then they launched the ability to have plugins and all of the things that I had hacked into WordPress, I updated and they broke. And there were plugins. And it’s like, “Okay, we have reached a stage in life where I need to search for other people’s code before I try and do anything in WordPress.” Because there is someone out there who has more free time than I do and will have thus done a better job than be. And that makes me sad, because it brought me joy to sit on my sofa and hack WordPress. And now the joy is gone.

CORALINE: I think every developer goes through that phase of…

PAMELA:[Laughs]

CORALINE:Rewriting WordPress and coming up with a CMS. And it’s like, “How difficult could it be?” And of course the devil’s in the details.

PAMELA:Yes. I at least wrote my first CMS before WordPress was a thing. I just decided to recreate the WordPress plugin independently multiple times. Don’t do that. Don’t do that.

CORALINE:[Chuckles]

JESSICA:I feel fortunate to be old enough to have been into programming early enough to have the opportunity to solve some of these classic problems.

PAMELA:It’s true. I remember when a table was a big and exciting new thing to be able to do in HTML. And to have been along for the journey, to evolve past Flash to having HTML Canvas and figuring out the new things that you can do with Canvas. And there was one day we actually found a bug in HTML5’s implementation. And that was an exciting day because it’s like, we found a bug in how to do something that causes a memory overload because we’re doing something they didn’t think of. I love taking these new tools and pushing them to see just how far we can go and how much we can push them and break them in the process. And it’s been a great time to evolve as a web developer who is also working on big data problems behind the scenes, because it’s also been the advent of crowdsourcing and crowd engagement. And I’ve loved getting to weave all these things together from essentially day zero.

JESSICA: I think it’s also made it easier for me to learn than it is for people just coming into the industry now.

PAMELA:That’s true. We didn’t have libraries when we started. We had to write our own libraries and it was uphill in both directions.

JESSICA:Ah, ah. [Chuckles] Okay, this is a personal soapbox.

[Laughter]

JESSICA:It is actually downhill invention, uphill analysis. Creating them is easier than understanding the ones that are out there.

PAMELA:Oh, that’s true so often. Yes, yes.

JESSICA:Which is good news. If you don’t want to ever understand everything, don’t worry. We’ll just create more software and then we can say, “I have no idea how this works.”

PAMELA:[Laughs] And that leads to the whole problem of some developer out there got bored with the library they created and then left it for dead as a zombie project on GitHub and your language of choice updates and your library of choice no longer functions. And then what do you do? I think the true skill set nowadays is figuring out how to pull that repo down and make it work when the developer abandoned it and you need it. And that ability to participate and contribute and be the person who’s capable of understanding somebody else’s code is a truly needed superpower today.

JESSICA:Agree.

JAMEY:I like this image of this graveyard on the web of abandoned projects. I think about this sometimes too when I’m trying to fix a bug and I find a Stack Overflow post or something of someone who had the same bug as me. And either there’s no answers or the absolute worst is when someone’s like, “Oh, I figured it out,” and then they don’t post what they did. And I’m like, “No!”

PAMELA:[Laughs]

JAMEY:Someone I’ve never met abandoned this and they could have helped me in the future. [Chuckles]

PAMELA:It’s true. It sometimes feels like there almost needs to be a plugin for GitHub or an extension or I don’t know what you would call it, but this ability to turn on a red alert banner of, “This code has not been updated in N days, months, years. Use at your own risk. This developer has not even logged on for this period of time,” just so you don’t go down the rabbit hole of, “I tried the plugin that was recommended on the Stack Overflow post that I didn’t notice was written three years ago and the universe has moved on.”

JAMEY:I totally agree. Because if I see something and I’m like, “I’m not going to use this because it’s old,” then it doesn’t feel like a personal attack.

PAMELA:[Laughs]

JAMEY:But if I’ve already gone down that rabbit hole like, “Oh, someone abandoned this project,” like I don’t know them and they bailed on this project, whatever happened, but I’ve already gone down the rabbit hole and I need it, I feel like they’ve abandoned me.

[Laughter]

PAMELA: Yes, it’s true.

CORALINE:GitHub did just introduce a feature where an open source maintainer can archive a project. And that makes it so that you can’t open any issues on it. But the problem is, if the developer has abandoned the project, what motivation do they have to go in and archive the project? Because they’ve probably forgotten about it.

PAMELA:Yeah. This is where you just need some sort of an auto feature that you can turn on and off to, as I said, that “Warning. Warning, Will Robinson. Use at your own peril.”

JESSICA:Or what if you had a browser plugin that recognized you were on a GitHub page and it noticed the commit history and how long it had been and the engagement level and the number of committers and changed the background of the page to get increasingly spooky as it was older?

PAMELA:[Laughs]

JESSICA:And maybe played some scary music?

PAMELA:That is amazing and I want that to be a thing. And I don’t think I quite have the skill set to do that, because music. I’ve never figured out how to play music. But I could. I could.

CORALINE:Jessica, making it spooky would only make it all the more attractive to me.

[Laughter]

CORALINE:So, I think that would have the opposite effect.

PAMELA: It goes to pastel. Would that turn you away? It would turn me away.

CORALINE:Yes. That would definitely turn me away. So, I’m curious. Have you ever taken code that you’ve written and looked at it and said, “This solves a general purpose problem that I think other people would have,” and turned around and open sourced it yourself?

PAMELA:I’ve released a few fairly stupid feeling, like this is not a serious problem but it is a JavaScript problem that has me super annoyed and I figured it out. And I’m posting this on GitHub because if I’m annoyed, somebody else is annoyed. Please steal my code. Right now, I’m in this weird situation where CosmoQuest’s code, we’re working on coming up with various ways to solve different, how do you annotate image issues. And we’ve developed our Citizen Science Builder software. And we don’t have our code public because I work with a lot of students. And our ability to inadvertently commit keys and passwords to the internet is great. So we keep everything locked down in case student has bad day and our AWS keys inadvertently get committed to GitHub. So, I have this love/hate relationship with internet security and open source community. Because I want to put everything open source, and I don’t trust myself to not commit a database password.

So, all of my code is available if you ask. Some of my code is available just hanging out on GitHub. I have code for if you’re interested in not paying someone to tell you who follows you on Twitter. I have written code to solve this problem. I do a lot of data mining of Twitter to figure out if we’re all actually talking to the same 12 people. And that’s all just hanging out because I’m working on that alone and not worried about the keys getting published. I hate internet security. I’m bad at it. I admit this freely.

JESSICA:Pamela, one of the things you talked about really early was writing software to engage people. So, it’s like people writing software that can bring in a lot more people as opposed to a lot more computers doing the work. Talk more about that?

PAMELA:So, it turns out that as good as computer vision is getting, it’s not perfect. One of my favorite ever computer vision flaws was Google Image Search mistaking me for Natalie Portman.

JESSICA:[Laughs]

PAMELA:And you know, I’m good with that. She might not be. And computer vision is hard. And it’s getting far better. We’re getting better with biomechanics. And one of my favorite things I ever saw come up was c

[Catherine Havasi] when she was working on computer vision problems back in the early 2000s, late 90s maybe even. No, it was early 2000s. Her algorithm decided that any triangles that appeared in an image with a lizard must be sailboats. So occasionally, computer vision software just loses its little brain. Because it’s still learning. And with spacecraft we can’t afford mistakes.

And one of the things that is really important is to figure out how to map out other worlds so that we can direct spacecraft to go do interesting things, go pick a rock up off of the asteroid Bennu is one of the problems we’re looking at right now. The OSIRIS-REx spacecraft is on its way to the asteroid Bennu. When it gets there it’s going to do a touch and go where it essentially zooms in, grabs a rock, and bounces back off taking the rock with it. And we can’t trust computer vision to go, “This is a field of boulders. Let’s go pick one up.” So right now, we have to instead say, “Humans. Humans. We need all of you humans. We have 2 weeks to map out this asteroid and find the place that has the rock we’re going to pick up,” because if the algorithm screwed up that would be a waste of a spacecraft, which is bad. We’re not going to do that.

But at the same time, there are so many rocks. There are so many craters. There are so many fault lines. That we don’t want to spend the rest of human experience asking people to do what Stuart Robbins did and draw millions of circles on these different worlds tracing out craters. And so, what we’re trying to do with CosmoQuest is find that sweet point where we know the algorithms aren’t perfect, but let’s try and train them to do better. Let’s try an get our crowdsourced group of people to mark out the craters in the light-colored soil. Let’s get our humans to mark out the craters in the dark colored soils. Let’s do it with the sun at all different angles in the sky. Let’s do all these different kinds of surfaces and see just how many things do we have to measure in order to get the software to be 99% accurate so that we can trust it whereas currently it’s more like 75% accurate and we absolutely cannot trust it.

So, with what we’re doing, we have this weird suite of interplaying algorithms where we start out by trying to build that user experience that trains the random bored person on their sofa who is looking for something to do that maybe has a little bit of meaning, how do we train them to do the job of a PhD geophysicist and mark out and map out accurately another planet? So we figured out more or less how to do that. And our volunteers are getting the same accuracy as our professional scientists. So, that’s problem one.

Problem two is how do we then take all of these things that they’re marking out on the surface and use that to train our neural net to each year as we get more, hundreds of thousands more, millions of markings, how do we use that data to train our software to do better? And at what point do we get to the stage where we can just go in and correct what the algorithm did and that’s faster than going in and doing it ourselves? When we first started this, we pitched the algorithm versus the humans and it actually took longer to fix what the algorithm did than to just do it from scratch. And my goal is to change that. My goal is to get to the point that we are correcting our robot overlords as they mark other worlds for us and not having to mark three million craters. But at least right now, we’re spreading work out over hundreds of thousands of people. So, it’s a little bit easier.

JESSICA:This is cool. So, we have people who write software that trains people to do the job of a geophysicist in order to teach software algorithms how to identify the rocks in order to teach the spacecraft to grab a rock so that it can bring it back to us so that we can learn about asteroids.

PAMELA:Yes. What’s cool is we’re learning from the robots that are learning from us. And it’s software and humans layered all the way down.

JAMEY:That’s so interesting. It’s so integrated. I like how integrated this technology is becoming with us, because in a way it’s hard… you hit a point where it’s hard to separate the technology from us as the people who put it together, I think.

PAMELA:And what is amazing to me is we’re reaching the point with our technology where it’s starting to free us from the difficult tasks but it hasn’t got there yet. And so, there’s this rich interplay where we still have to use our brains. We still have to keep trying and poking and it requires creativity. It’s not that Star Trek future where we are all mindless slaves to our food replicator, as on one of the alien worlds they once visited they found, where people lost their intellectual drive because their technology took care of them. We’re to the point where it’s us and the computer working cooperatively to figure things out. And what I’m loving is it’s getting to the point where we can have conversations with our computer. No Siri, no. that’s not what I meant. Stop. And she ignores most of those words except for stop. And over time, the AIs are learning. Over time, we’re learning. And it’s a relationship. And it’s a relationship we’re learning as we map worlds and we’re learning as we figure out how to successfully turn the lights on in our house.

CORALINE:It strikes me Pamela that crowdsourcing requires a great deal of trust. And that trust goes in both directions. You have to trust the hundreds of thousands of people who are doing the work. You have to trust that they’re doing a good job of it. And they have to trust that the work that they’re contributing to is ethical, which in the case of astrophysics I imagine is not a very difficult question to answer. But a lot of other crowdsourcing does have that or can have that ethical dilemma as part of it. So, how do you feel about the relationship between the science you’re doing and the trust that you’re placing in the crowdsource?

PAMELA:It’s definitely a two-way relationship. And I have to admit, that’s part of why I love doing this, is our community of citizen scientists, it’s truly a collaboration and a community where we hang out on Slack together some. And just like a student can pop in my office for a question, they can pop in my DMs with a question. And everyone makes mistakes. So, what we found with our first really in-depth statistical analysis was that if you take 8 professionals and you ask them, “Map out all the craters in this part of the moon,” they’re going to hit a point where they’re tired. They’re going to hit a point of, “I am done marking all the little tiny craters. I am done. I am not marking all of them.” And it’s at a subconscious level that they make these mistakes. But when you look at all the results together, you get an aggregate result where maybe only five of the eight marked this one particular crater, but those five when you combine them tells you what’s there and what isn’t.

We then looked at, let’s get a groups of volunteers. Here we got 15, just increased the group size a little bit. And with those 15 you find actually a different set of mistakes. It turns out the volunteers were less likely to make the big craters and more likely to watch where the small ones were, which was an interesting difference between the pros and the volunteers. But when you looked at the aggregate results of getting 15 people who were randomly selected from all over the world to mark an image, versus those 8 pros, it was a one-to-one correlation. There was a greater error between any two pros than there was between the aggregate of the pros and the aggregate of the volunteers.

Now, we don’t have funding to ever get other than for this one statistical case, eight different people who are professionals to spend their professional day mapping the surface of a world. We can get one. We can’t get eight. So, this means we actually get better science by having 15 different volunteers each look at this piece of the moon, this piece of the asteroid Vesta and mapping out these different surfaces than we could ever get with the funding we have by relying on that one professional we could afford. So, we know we get better results. And it’s my job to make sure that those efforts are never wasted. It’s my job to make sure there’s someone out there who’s going to help transform all of these efforts into published new understandings. And all I can do is hope that I don’t disappoint our population who is doing so much to help us out in advancing the science.

CORALINE:What do you think the motivation is of the citizen scientist?

PAMELA:We’ve actually asked that, because to me at a certain level having taught undergrads, it’s like I can’t make undergrads do this for their homework. Why do people do this in their spare time? And I love that people are often honest when you ask this question. And we’ve gotten responses from, “I’m retired. This gives my days meaning.” “I’m on permanent disability and this is something that fills my days with purpose.” And those are those deep, sincere answers that force you to get out of bed in the morning and keep doing what you’re doing. But we also have all of the people who are like, “I always just wanted to be a scientist but I didn’t want to take all that course work. And this lets me say that I’m a scientist. This lets me say I helped with this cool awesome thing with NASA stamped all over it.” And people just want to help and volunteer at the end of the day. While, there’s a lot of people out there that you might want to sweep off the edge of our planet if it was flat but it’s not, it’s a sphere so we can’t sweep them off the edge… while there’s a lot of…

CORALINE:Lies!

PAMELA:[Laughs] While there’s a lot of people you might want to sweep off at least your Twitter list, people in general are good. People in general will help. And this is the one thing I have learned from podcasting, from citizen science, from the open source community, is if you have a need and you ask… it’s the art of asking like Amanda Palmer the musician wrote about. If you ask, people will say, “I will try and help. Let me try and help.” And we can all lighten the load for everyone just by saying, “Yes, I’m here. I have a few extra cycles. What can I do?”

JESSICA:Wow. So, we have to ask. If our listeners want to help with citizen science, what can they do?

PAMELA:Go to CosmoQuest.org. And we have a variety of citizen science sites that you can explore the earth, moon, Mars, Mercury. Click on the planet of your choice and you will be off and able to help us map that world. We have a Twitch account that we go on and I solve random software problems coding live on Twitch, which means you sometimes get to see me make fascinating bugs which I did last night. But you also get to see just how we go through and code what we code, if you want to do that. Once of our postdocs, Matt Richardson, goes on and will math various science problems. So, join us on Twitch. And we talk about everything we do on Twitter. CosmoQuestX is our username on everything because it turns out CosmoQuest was already taken by the time we launched our site. So, look for CosmoQuestX on all the various social medias, new medias, medias of all kinds, and visit CosmoQuest.org.

JAMEY:I’m sold.

PAMELA:Yay!

JAMEY:I want to be a citizen scientist now.

PAMELA:Yay. I love hearing that. And I hope to see all of you out there listening in our community helping us science, science all the things. All the things.

CORALINE:I think the quote is, “We’re going to science the fuck out of that.”

[Laughter]

PAMELA:Yes. I didn’t know if you guys were PG or not, so I didn’t go there. Yes, we’re going to science the fuck out of that.

CORALINE:Nice.

[Laughter]

CORALINE:We like to end each show with reflections on the conversation and highlight things that stood out to us. Jessica, I’m going to put you on the spot. Do you want to go first?

JESSICA:Yes. I’m definitely fascinated by the layers of people and software and people and software and how we’re all learning. And like Jamey pointed out, it gets hard to separate the people from the technology. That’s so true, both in what we work on and in the people who use what we build. I also am really interested in the part about we have goals that we don’t want to achieve because if we achieved them, then our organization or whatever it is we’re building would cease to exist, or cease to be useful. And I think that kind of goal is highly underrated. I don’t even like to use the word ‘goal’ because that implies you’re supposed to achieve it. So, I usually call them a quest. The unreachable star that we aim for because aiming for it gets us somewhere useful. So, I think that’s beautiful.

CORALINE:I’m really interested in crowdsourcing and seeing crowdsourcing be successful. My initial impression of crowdsourcing was pretty negative with what Google did for the gamification of image identification where they had people put in tags. They would show people an image and put in tags and aggregate that data. And it seemed to me like that was a race toward the lowest common denominator because you were rewarded for coming up with a tag that someone else had already come up with. So, it seemed to me that from a game theory perspective, it made the mode sense to produce the simplest possible tag as opposed to anything nuanced. So, I’ve always had kind of a negative opinion of crowdsourcing. But I think you’ve changed my mind about that. And I am definitely thinking about how I could crowdsource certain aspects of my AI project involving classification of concepts. So, that’s something I’m going to be thinking about and might send [inaudible] to follow up on.

JAMEY:The first thing that I’m thinking about is kind of related to what Jess said about the quest that you aren’t actually trying to achieve. And I think that my thought on it is the way that curiosity makes you think differently about things. Because I guess I’ve always kind of thought of curiosity as, “Yes, we want to find out. We want to know the answer.” And so, this idea that curiosity isn’t necessarily about finding out the answer, the fact that it is more about, I believe the phrase you used Pamela was ‘the pursuit of the magic’ of not knowing something is a very different way of looking at that, that I really like. And I also noticed, when you were talking about creating a bug in HTML you were like, “Oh, so exciting!” And my first instinct was like, “Creating a bug isn’t exciting. It’s the worst.” But actually no, I get it. It is exciting. It’s exciting because you’re doing something new and you’re pushing the boundaries and that means breaking something. But I think that’s related again to curiosity making you feel differently about things.

And then there’s one other thing I wanted to mention, which was I’ve been thinking a lot in general lately in my life about the tenuous path that we all take. Like, how did I end up here right where I am now? And what decisions in my life caused me to be on the correct path to be where I am right now? Because I feel like a lot of those decisions are at the time, they’re flippant or whatever. And it means that this path that I’ve taken to my current life was kind of tenuous in some ways. And I’ve been thinking about that a lot and I was thinking about it very strongly while you were talking about your background.

Because you mentioned that you didn’t get your CS degree because you didn’t want to do homework about hockey. And I feel like that’s one of those moments that I’ve been thinking about that’s like, “Well, if this had been a little bit different, everything could have gone in a different direction and it would be totally different.” And we talked too about loving Battlestar Galactica and getting interested in space. And it’s these little things that seem flippant or seem maybe inconsequential at the time are big things on the path of your life and how you end up at the destination that you end up. And so, I guess I don’t even necessarily have a thought about that. But it was playing into something that I’ve been thinking about a lot lately, so thanks.

PAMELA:Well, in having this conversation, one of the things that keeps being brought home to me is the importance of not being in isolation. The importance of talking to other people, bouncing ideas around, of coding within an environment, of recognizing GitHub and staying engaged and staying active and not having zombie code. The importance of recognizing I can’t do everything with my software. I need to reach out whether it be to get help with my software or to crowdsource the thing the algorithm can’t do. It’s all about collaboration with people. It’s about collaboration with the technology. And to go back to Battlestar Galactica because everything goes back to Battlestar Galactica, if we collaborate with the technology maybe we won’t get Cylons.

CORALINE:Our podcast is all about what you just said. It’s all about the combination of people and technology and technology as an extension of who we are as people. So, I think that’s a very fitting end to our conversation. I want to thank you so much, Pamela. This has been absolutely wonderful and very eye-opening. So, thank you so much for coming on the show.

PAMELA:It’s really been a pleasure. Thank you so much.

CORALINE:I just want to remind our listeners that if you believe in the kinds of conversations that we have on this podcast and want to support us, you can support us at any level on our Patreon at Patreon.com/GreaterThanCode. And if you support us at any level you get access to our Slack community where you can have conversations with our guests and other members of the community about the topics that we’ve talked about or about whatever is on your mind. So please, visit Patreon.com and support us. And if your company is interested in being a good citizen, we’re also looking for corporate sponsorships and we have information on that at our website at GreaterThanCode.com. Thank you everyone and we will talk to you again soon.

Astrid: Software development is always something you can continue to improve at.

Tara: People don’t have to be exactly like us to be a person that we want to work with. Being different can be an asset.

Sam: Interviewing somebody should be able finding out how they think and not about what they necessary know at the moment.

Transcript:

CORALINE: Hello and welcome to Episode 111010 of the Greater Than Code Podcast. I am Coraline Ada Ehmke and I am joined by the lovely and talented Astrid Countee.

ASTRID:Thank you, Coraline. And I am also here with my great friend Sam Livingston-Grey.

SAM:Hello, thank you. And I’m here to introduce our guest today. Our guest, Tara Scherner de la Fuente is a Ruby and Rails developer at Allovue. She’s had other careers in academia, human resources, and private investigation. And she has an expensive t-shirt collection and masquerades as a goat for the Twitter account @GoatUserStories, which if you’re not following it, you really should be. Tara pair-programs with her cat Lulu via a remote/distributed/caffeinated living room office in sunny Portland, Oregon. Welcome to the show, Tara.

TARA:Thank you. It’s really nice to be here, especially since it’s not sunny. I’m really not a fan of the sun.

[Laughter]

CORALINE:I’m not either.

TARA:Is that okay to admit here? [Laughs]

CORALINE:I was in South Africa in February and, very sunny. We were on African savanna. I had to wear a cardigan everywhere I went to keep the sun off of me. One day in a cab I forgot my cardigan and I was sitting on the side of the car and the sun was shining through the window onto my arm. And I ended up breaking out in hives. And when I got back from South Africa, I had an appointment to get a tattoo on my right arm. And luckily because of my sleeve length or the way the car was designed, the hives stopped just below where my tattoo was going to go, which was very fortuitous.

SAM:[Laughs]

CORALINE:And my tattoo artist was like, “Coraline, what’s up with the skin on your arm?” And I was like, “Oh, I’m allergic to the sun.” And he just looks at me and says, “You are so fucking goth.”

[Laughter]

SAM:Took the words right out of my mouth.

[Laughter]

TARA:You really don’t like the sun. [Laughs]

CORALINE:[Inaudible]

SAM:It burns.

[Laughter]

CORALINE:So Tara, we like to start off every episode asking our guest what their superpower is and how they discovered it. So, what do you think?

TARA:Honestly, I think my superpower is probably patience. It sounds awful actually, in some ways, to talk about having a superpower. But I think that superpower is mine. I can appreciate standing in a long line because it gives me an opportunity to think. I need a ton of patience with myself and with code when I’m working on it. And so yeah, I think patience is my superpower.

CORALINE: Were you always a patient person? Or is that something you developed as you grew up?

TARA:Except with the sun, I think I am [Laughs] very patient. Sun, traffic, and bad internet connections are the only things that really throw me off. But I think even as a child I was a patient person, other than that first trip to Disneyland, which then I actually don’t really like Disneyland anymore. Man, I’m talking about a lot of things I don’t like today. But [Laughs]

SAM:Well, just go with it. Just go with it.

TARA:[Laughs] I’m just going with it.

CORALINE:It’s my negative influence. I’m sorry.

TARA:[Laughs] I’m getting more goth as I sit here.

[Laughter]

ASTRID:I actually think that is a really great superpower. I was listening to a podcast the other day and it was talking about crime as a disease. And it was describing a program that they were trying to do some sort of intervention with kids who were growing up in areas where there’s a lot of violence. And one of the things that they described was how important it is to take a moment. So, something happens, take a moment before you respond. Because the people who do are way less likely to do something that’s going to cause violence, that’s going to cause them to do something that’s going to change their life in a negative way. So, I think patience is kind of not really talked about that much but it’s actually a huge superpower that I don’t think most of us have, honestly. Because we’re not really socialized to care.

TARA:I remember thinking that when smartphones were really popular, it took a long time for me to even get a cellphone, and then a long time for me to get a smartphone. And I remember thinking that I didn’t want a smartphone because I thought it would take away from my ability to be patient while standing in lines [Laughs] because I would no longer have to rely on my own thinking and my own ideas about what was going on in the world. And I knew that that would probably disappear. And it’s true that sometimes even when I’m waiting in a line and I pull out the cellphone, I think, “You really didn’t want to be doing this [Laughs] back in the day. And now here you are. Oh well.”

CORALINE:Tara, I tend to conflate patience with a sense of kindness toward the world and kindness toward yourself. Do you feel like there’s something to that in your own life?

TARA:I think that patience does provide a sense of quietness and thoughtfulness about the world at times. And I think that those two ideas can be conflated and they can work in tandem with one another. I’m not sure that I’m as kind as I’d like to be. [Laughs] So, maybe I hope that patience will help build that into me. But kindness, I wish that was my superpower. It’s certainly one I strive for.

CORALINE:And it’s really difficult I think as a software developer. We’re often placed in situations where patience is not expected and in fact is not rewarded. And really, neither is kindness.

TARA:That’s a good point. I’ve certainly experienced that in my coding life, both simply internal [Chuckles] when I’m sitting there with just me and the code. But also, in some of the environments that I’m in. You know, kindness and patience can do wonders for a working environment and also even just a personal environment.

SAM:Yeah, that’s kind of sad though, because patience is a trait that we often have to have if we’re going to become programmers because we have to be willing to sit there and struggle with the computer for hours at a stretch and try to figure out what the heck is going on. And kindness is one of those things that if you can summon a reserve of kindness when you’re reviewing some code that you can’t figure out what the heck it’s doing, that really helps you figure it out and have some patience to be able to deal with it and to be able to essentially forgive the person who wrote it, especially if that person is yourself.

TARA:That’s a good point. I do actually, I live alone and I only work remotely. Well, I live with Lulu the cat. But I live alone and work remotely so I do find myself talking to the code. And I would say that I’m rather kind with the code…

[Chuckles]

TARA:When I speak with it. And I do ask it questions about what it’s doing and what it thinks it’s doing or where it’s hiding its secrets. But that patience is truly important as you mentioned, Sam. You’ve always got to try that one more thing, right? And you have to have the patience to think of the next 43 one -more-thing’s and keep trying those as well. So, it’s important to be kind with yourself too, when you realize it takes into the 40 tries to get the thing working.

[Laughter]

CORALINE:I recently was reading about the Doherty Threshold which I learned about by watching this amazing show called Halt and Catch Fire which I highly recommend.

ASTRID:I love that show.

CORALINE:Yeah. So, the Doherty Threshold came out of this paper by a couple of IBM engineers. And the prevalent thinking before their research was that the time it took for a computer to respond to a typed command which back in the 80s was between two and three seconds, the prevailing wisdom was that that gave you time to think about the next thing that you would tell the computer to do. And this paper dispelled that myth and said that the faster the computer responds, the more productive you would actually become as a programmer. And there was like a 130% increase in developer productivity when they got the response time down to 0.3 seconds. But I really wonder if we lost something by having this immediacy to the way we write code. Is that making us less thoughtful?

SAM:Well, my own personal experience in dealing with unit testing is that when the tests take a couple of seconds, I’ll sit there and deal with it. But if they give me immediate, instant feedback as soon as I hit enter, I can keep my state of flow much more easily

CORALINE: That’s true.

TARA:Yeah. I think there are trade-offs. I really like narrowing down my test to that one test I can run locally that’ll pop right up. But on the other hand, Sam introduced me, as a Ruby on Rails developer, I am now a Ruby, Rails and Ember developer theoretically. I think I have now written two things in Ember and it has been with assistance. But I don’t know if you’re aware of this, but restarting the Rails Server happens pretty quickly. Restarting the Ember server, I can make some coffee and I can go and I can pick out a snack. And I have time to think about things.

So, I think there are a couple of things happening. I can stay in that flow when I am working in Rails, especially since I know it well. And maybe it’s because I don’t know Ember well that I appreciate how long it takes for the Ember server to come back up [Laughs] because I have that time to think to myself, “Okay. There are about 50 things I don’t know how to do. How am I going to do those [Laughs] when this server pops back up? And do I even know what I’m checking next? I’m not sure.” So, I can appreciate the different levels that technology has changed.

You did make me think that I’ve heard a similar story about typewriters and about how that’s why they made the keyboards like they did for typewriters because back in the olden days I guess when the keys would hit the paper they’d get all tangled up if they were say, laid out alphabetically, if people were going in the right order. I’m not sure if that’s true or not, but I love that we keep retelling stories and they change with time.

SAM:I have heard this particular apocryphal story as well. So, it must be true.

[Laughter]

TARA:There you go. That’s it. Abe Lincoln said it was true on the internet and there we have it.

[Laughter]

CORALINE:So, the thing I was alluding to before is that patience isn’t always rewarded in the workplace. I think a lot of people work in so-called Agile shops where you’re expected to deliver a certain number of points every sprint and the pressure is kind of on and you might have a Scrum master who’s tracking your velocity and saying, “Tara, we expect you to deliver 12 points this sprint. And so far, the burn-down looks like you’re only on track to deliver 8.” How do you communicate that sometimes these things take time and that estimation is a lie and that you need other people to be patient with you too?

TARA:The wild guess form of estimation. Yeah, you know it’s interesting that you ask that question because I did recently leave my former employer. And we didn’t have a problem so much with the “guesstimation” of the work that needed to be done or the drive, but there was a serious drive often driven by one particular client. And it drove some folks so hard. We had two different employees be hospitalized as a result of the stress. And some people might argue that it wasn’t just as a result of the stress, but I think it was pretty clear that that was a large contributing factor. And to be in an environment like that is incredibly stressful.

It does require… honestly if you’re going to do your best work for an employer, and I honestly believe that if I have accepted a job and said that I’ll do it, that I want to give that my best effort, my best work. And if I’m in, then I’m in. And if I’m not in emotionally or mentally, then I’ll get out. And I think that that requires patience with the employer and the environment that you’re in when you come across situations like that where there is an immense amount of stress. And to be patient with the environment and just to be able to accept your limitations and just do your best work and filter out what is happening there is a very difficult skill. And it’s not even just a skill. Sometimes, we simply don’t have the resources to be able to manage that kind of stress. But I think patience and kindness come into play quite a bit.

And I will say, I am so pleased with the coworkers that I had at that last position. Because everyone was so supportive of the people who needed to step away and take care of themselves physically and mentally and emotionally. And everyone was really rallied around those folks. And that was wonderful to experience.

CORALINE:Anyone who knows my story knows that I had the opposite experience with a big company recently where I too was hospitalized and I did not get that kind of support. So, it’s amazing and wonderful that you did feel supported like that. But at what point are you punished for that patience? At what point do you need to decide, “This is not a good environment for me,” and what do you do?

TARA:You know, that’s absolutely an important question and I think it definitely varies with the individual. I’ve now left that particular company and one person who was in that situation chose to leave and one person has chosen to stay. And so, it’s definitely a very personal experience and a personal decision to make. And I don’t think there’s one right or wrong answer. As you spoke, I began to think that what I felt was support from the individuals that I worked with. But of course, individuals make up that collective company experience, right? And where is that boundary between, “Here are the people that I work with who I feel supported by,” and at what point is that the company where I’m not feeling the support? And I think some of that probably comes into play as well.

SAM:I really like that you’re trying to find that distinction between the people and the company because it is absolutely okay to have loyalty to people. But a company, a corporation, cannot have loyalty towards you. And so, it shouldn’t be reciprocated because it can’t be. And yeah, I struggle sometimes to figure out where to draw that line as well. Although sometimes, I draw it along hierarchical boundaries. Like, the people who are my peers, they can be my friends, but the people who are one or two levels of management up, I need to treat with a little bit more care.

TARA:I think that’s an important distinction. And it’s difficult, at least I’ve found it difficult, to figure out where to draw that line and where that loyalty lies, especially in a smaller company where you know the “sea-level employees” as it were. You’ve maybe sat next to them at dinner or traded, I don’t know, goat noises with them.

[Chuckles]

TARA:Hypothetically, that could have happened, and compared your best bleats with somebody at that level. It’s hard at that point to really say, “You know what? I like this individual person and this is a person that I feel some affection towards,” and then these people make up this company that is maybe doing some things I’m uncomfortable with. And that is difficult to navigate.

SAM:So, one thing that I was thinking about when we were talking about possible topics for this show is, are there warning signs that people should look for that may indicate that the company’s culture is crossing a threshold from healthy into something that you need an extraordinary amount of patience to deal with?

TARA:There are certainly warning signs. I would say in the last experience that I had, it was a struggle to see those warning signs until things were changing. But it wasn’t completely clear. And then as I described it to someone at the time, suddenly I was Bambi in the forest and all the animals seem to be running past me, fleeing from the forest fire. At which point I thought, “You know, I should probably look around a little closer.” And so, that was beyond a warning sign.

But really, most of the people and the women had left, especially the women leaders in the company. We had had a really strong woman leadership and we had had really strong people of color leadership and they were fleeing the company. And if that isn’t a warning sign, I don’t know what is. I think if your strong leaders who are not in say, the majority vision of the company, if you’re non-white male colleagues, that’s probably a sign. And of course, it’s not just them. But that is probably a clear warning sign that the folks who maybe feel marginalized in different ways in the world begin to leave the company and they are leaving in droves, there’s no better warning sign that you can get, that the people who get the shaft on a regular basis in life are suddenly leaving the environment that you’ve been working in and striving towards, that is probably a clear warning sign.

ASTRID:So, I have struggled with this in some of my own experiences of trying to understand, “Is it the company? Is it certain individuals?” Because it could be really hard to tell. And I was wondering Tara, what you thought about when there are certain people who may raise a flag and say, “I have a problem,” or, “Something is going on that I think is wrong,” that are not necessarily the most reputable, then how much should you really take that into account? Because I wonder sometimes. Like, I’ve had that experience where everything was good until it was really, really bad. And then I was trying to understand, did I just miss all the signs or did it really change that quickly? And one of the things that I realized was that part of the problem was some of the people who were saying that there’s a problem are people who were not very reputable employees themselves. So, it’s hard to tell. Are you complaining because you complain or are you complaining because there’s something real going on? So, if you have any ways to try to suss out the difference?

TARA:It’s interesting that you bring that up because I was just having a conversation this morning with a former colleague of mine. Well, there are a couple of things going on there. First of all, I think there’s one thing when say, someone brings up some issues and it’s someone I haven’t necessarily bonded with or I don’t necessarily view them as a reputable source. And then there’s also the person who’s bringing up issues who isn’t seen necessarily as valuable or important, it would seem, to the employer and doesn’t have the reputation or just the perceived value from the employer. And I think there can be a couple of different things going on there.

So certainly, if it’s someone who is raising concerns where I’m not really sure what to believe, I would say right now we’re seeing a whole lot of assaults on women being reported in the media right now from really well-known people. And I think it’s incredibly important to believe what we’re hearing when we first hear it. And I think it’s certainly important that just like a lot of these things aren’t look into when they happen, that we do look into them. But I think believing when somebody says, “I’ve been hurt,” or, “I’m experiencing something that isn’t right,” I think it’s important that we step into that with the belief that there’s somebody who needs protection or there’s somebody who needs an ally or there’s somebody who needs support. And I do think if we can do that, that that’s best.

Now, in terms of when action really takes place, it probably takes at least two people in either of those scenarios to say, “You know what? There’s something that isn’t right that’s happening.” And it can be somebody who you’re not sure you believe but you want to be open to that at the beginning. But I do think it’s human nature maybe to want some backup or you want somebody else to say, “Well heck, the #MeToo hashtag.” Maybe if one woman says it then it’s one woman and you want to support that person and you want to believe that person. But it does help just because we’re human beings to hear it from more than one source. And so, that is a big thing.

But I do think it’s really important especially as I think about my colleague who didn’t have the reputation as a solid, say, a tech leader. She reported some things and it wasn’t taken seriously by her supervisor, by human resources, by anyone. And I think it’s so important that as colleagues we at least try to support one another. We don’t need to require all of the forest animals to run past us.

[Chuckles]

TARA:That we should be able to reach out a hand and say, “I don’t know what you’re experiencing. I haven’t experienced it. But let’s figure this out.” And at least to be able to listen at the very beginning [Chuckles], to be able to listen. And certainly as more and more people left my company for example, each one was at least a yellow flag, if not a red flag. So, I think in some ways you start that way. There’s one person or there are two people, or there’s more talk about a thing and your eyes get wider and wider. And hopefully, you know something is going on before the forest fire whips you in the ass.

CORALINE:So Tara, we talked about work environments and warning signs and when it’s time to get out. I’m curious about the natural consequence of finding yourself in a toxic environment and that is looking for a new, hopefully less toxic environment. So, when I’m interviewing, one of the things I’m definitely trying to figure out is, “Does this company value the things that I value?” and “Are we aligned in our values?” And that’s a very difficult thing to suss out during the interview process.

TARA:I think you’re absolutely right that it is difficult. I’m not sure I had the best approach to looking for a new job while working in a toxic environment, which is to say I never reached the point where I began looking for new work. And I know plenty of people did and they got out. And plenty of people have done so since I left, and they have gotten out. But I sort of go from, “I am here and I am giving you my best work,” to “If a position comes across my plate, I am going to look at it. And I’m going to see what it is that you’re offering.” And it could be a technical recruiter reaching out or in my most recent case, it was former colleagues that I had worked with at a previous position.

And what happened is apparently I really like animals rushing past me, because I had a former colleague reach out to me about a potential position and wanted to meet up with me and I made that arrangement. And within the same week, three different former colleagues in addition to that person reached out to me about positions, all from the same company. So, let me tell you, networking is important. [Chuckles] It is important, too.

SAM:[Chuckles] Yes.

TARA:To bond with your colleagues in at least natural ways, in being yourself, because four different colleagues, four different companies reached out to me, all in the same week. Which is again, I was not looking for a position. So for me, this happened very naturally. And I talk with inanimate objects and I also believe that the universe was talking to me. there’s no clear sign that the universe is saying, “You don’t seem to be actively looking for a job so here are four people who would like to work with you again. Why don’t you speak with them?” And so, that is exactly what I did.

And I do think for me, the experience of interviewing again was thank goodness not as stressful as the first time I was looking for jobs and not as stressful as the second time I was looking for jobs. And it certainly helped that I had been referred by somebody at each of these positions. That was a big thing. But I was still looking for the same thing I think all of us look for when we are going through the daunting technical interviewing process, which is just often torment. And I think it’s easier when you’re less stressed and you can’t regulate that necessarily.

But it’s easier to spot some of the things, some of the warning signs in the interview process about, “Here I’m with, this is the type of person that I’ll be working with.” And this person maybe asks questions that aren’t necessarily relevant to what I’ve been doing or even what I’ll do at the next company.” And that’s a big warning sign to me. Someone who cares about those technical questions more than they care about what I’m like to work with is a warning sign for me.

I actually was invited to reinterview with a company that I had interviewed with before about a year and a half earlier. And I actually remembered one of the interviewers’ questions before I went into that interview. And I thought it would be really interesting if that person interviewed me again and asked the same sort of gotcha question. And I’m going to look up the answer. And I looked up the answer so that I was ready for it. And sure enough, there he was, and there was his gotcha question. And I came off looking awesome. And I thought, “I don’t want to work with this person.”

[Laughter]

TARA:Is what happened.

SAM:Was it a gotcha that was relevant in any way to the work? Or was it one of those invert a linked list in linear time kind of a thing?

TARA:It was minorly relevant to the work…

SAM:[Laughs]

TARA:In that it asked basically about the difference between include and extend in Ruby.

SAM:Mm.

TARA:Which, I mean, it’s in Ruby. So, that is the programming language that I use. But do I ever necessarily need to think about that or can I ever not just look that up if I need to know that know? [Chuckles] And…

SAM:Mmhmm.

TARA:Is the difference really important to discuss? Not really. And somebody else had me, somebody else in that same interview session because of course I met with, I don’t know, 50… no, I didn’t meet with 50 people. I think I met with four or five. And I was asked a lot of questions about things I don’t necessarily do or haven’t done, things like in the Inspector in Chrome and where to find different things. And you know, I mean I can figure that shit out if I [Laughs] Find something out in the Inspector, in the Developer Tools. I mean, I can figure that out if I need to find out where the Console is or need to find out how fast something is loading on the page. That just isn’t the key things that I’ve been doing. If I’m a Ruby on Rails programmer, that isn’t the key thing. It is something that I might check later. I might say, “Oh, is this faster than this?” But that isn’t a key element of my work. And so, even some of those clues like the things that are being asked of you, do they know what you do day-to-day? Do they have questions that are going to be relevant with what working with you is like? Those are the things I care about.

And I was very fortunate the company that I did end up accepting a position with, I think part of it was their warm, relevant, technical interview style. I did also meet with four different people with that experience. But some of it was, “Bring us some code that you have worked on and talk to us about why you made the decisions that you made. And walk us through the code.” So, some of it, they got to see some of the technical things that I’d done. But it was also very relevant to what I’d done, including my decision-making process, which is really important. They had me pair with a junior developer to see what my patience is like with a junior developer. And as we know, that’s my superpower. So, it went really well. But [Laughs] But also, what pairing with me is like. And so, that was a great experience. And I think one or two of the other conversations were conversations, not necessarily, “Do you know the difference between include and extend?” And so honestly, that interviewing style, they were selling themselves on me, because they cared about what was relevant to me and to my life. And one of them said the word “guys” and corrected himself.

CORALINE:Nice.

TARA:Without me prompting him. And I have found that after joining the company, that I see similar senses of awareness of things that have happened among more than just the one awesome person. But there are many awesome people within the company. And that interviewing style really reflected what I’ve found now that I’ve joined the company.

So, I do think that even if you don’t get somebody who’s like a total A-hole during an interview, you can pick up on how they’ve thought about their interviewing process. Maybe it’s that private investigator background that I’ve got, but those are the clues I’m looking for. there’s nobody who’s going to say straight-up, “I hate cats,” or something. But they’re going to give you clues as to who they are and what that environment is going to be like. So, I’m sorry. I kind of went on there for a while. But that interviewing experience, it is daunting. And you have to look for those clues and not rely on just the animals fleeing the forest. [Laughs]

CORALINE:Yeah. My most recent interview experience, I work at [Stitch Fix] now. And [Stitch Fix] has what they call their OS. And it’s based on kindness, being bright, and being a leader. And I found that that was really reflected in the interview process. And I always felt really well-treated. And those were the criteria they were evaluating me on. So of course, there was a technical exercise and did have to walk through code because that’s a core skill set. But that wasn’t the majority of the interview experience.

And I got an interesting reminder of that as I started taking part in the interview process for new candidates. There was a pairing exercise that we did. And I was shadowing the main person doing the interview to be able to huddle after the interview. And this person was like, “Well Coraline, what did you think?” and I said that I was alarmed at some of the mistakes that the person had made and I had questions about the depth of their technical knowledge. And the other interviewer was like, “Yeah, but did they seem bright? Programming can be improved really easily and they’ll learn from their peers and there will be code reviews and they will learn and grow on the job. But did they meet our criteria for kindness and brightness and having leadership qualities?” And that was a great reminder to me that that’s what we value, that’s what we interview for.

TARA:That’s a great response.

SAM:Yeah.

TARA:For an interviewer to have. So, I’m thankful Sam was one of my first interviewers for my very first engineering position. And I’m [Laughs] I’m really grateful that he leaned on appreciating my person and potential more than myability to code.

SAM:Aw, shucks. Yeah, it’s interesting. Yeah Tara, you were talking about people who ask just little detailed questions about the Chrome Inspector or include versus extend. And I feel like that belies an understanding of what it is to be a developer. Is a developer somebody who has a vast collection of tricks and individual bits of trivia or is a developer somebody who has a mindset that they can use whatever tools are at their disposal to build something useful for another human being? And it sounds like Coraline, at [Stitch Fix] you’re aiming towards the latter as well. So, that’s really cool to hear.

ASTRID:I would agree with what you said Tara, about it being about the conversation. Because when I think back on some of the best job experiences I’ve had, the interview was getting to know me in some sort of way and not just a ticking off of, “Do you have this, this, this, this, and this?” And then having had other experiences and also helped with hiring, what I think about now is if you’re calling me in for an interview, how are you spending our time? From the interviewee perspective, I think about that, because I feel like there are some things that you can determine prior to asking me to come in for an interview.

So, if we’re going to spend an hour together and you’re going to spend 45 minutes of that going over things that are something that’s not really relevant or something that’s just about trying to assess me, then it makes me question as a manager, “Are you going to do that too?” Because I don’t really want to have a manager who can’t see the forest for the trees. I’ve been in those experiences where you’re really a good team player, you’re working hard, you’re helping other people, and then when it comes time for evaluation it’s like, “Well, you needed to do this many. You didn’t do this many.” And it seems like that’s not the big picture. And although I do understand having to meet certain things, you should think about, you should weigh that against the impact somebody has on the team.

And I think one of the things that I’ve started to do which has also been helpful is in the interview process I try to ask them a question about something that would be related to their management style that would help me understand how they think about assessing people. So, it’s usually something like, “What would success look like?” because their version of that answer varies a lot depending upon how they think. Usually, I think people don’t get to ask these questions because they usually sit back and like, “Whoa.” But it helps me try to figure out how you think about me, like how you spend the time. And then how you answer questions that are qualitative, not just a yes or no or a specific answer.

It matters to me because then it tells me something about what you’ll probably do when I’m working there. Like, if I have a question, are you going to spend time to actually give me a thoughtful answer or are you going to push me off and tell me to just not worry about it? Because I think those types of things contribute over time to that toxic culture that you try to get out of and you can’t always see when you first get there.

TARA:I love how you framed that. And that’s such a specific piece of advice that’s work taking, asking that open-ended question like “What does success mean to you?” You can get so much information just from that question, not only the content but how they communicate with you. And that’s a great tip right there.

CORALINE:One of the things that I struggle with in working with early-career developers and mentoring them is I became very aware that I have quite a bit of privilege when it comes to interviewing because as someone who is highly experienced, who’s been in this industry for over 20 years, I am easily valued, that I’m in demand and I can pick the company I work for. But early-career developers, they’re looking for companies that are willing to take a chance on someone who doesn’t have that experience and they’re much more limited in the companies that are willing to do that, willing to hire someone who’s early-career and develop them and provide a fostering environment. So I’m really torn about telling them questions they should ask to evaluate the environment when I know that their choices are going to be so limited.

TARA:That’s a really important awareness to have, because it’s true. I would consider myself still in those early years and person who has to look up the difference between include and extend before getting that anticipated question. So, I definitely don’t have my pick of places. But it is important to have an awareness of things that should be red flags and things you can work with, and things that you can actually maybe improve and/or it can be a really great experience, even if there might be… it’s not the ideal interviewing scenario, for example. Not everyone can work for a warm company where people are aware of all the things. But can you thrive there? Can you learn? These are important things to consider, depending on what it is you’re looking for.

Certainly, you still don’t want to work with A-holes. And I have… I don’t know why I’ll say ‘fuck’ but I won’t say ‘asshole’. That makes no sense. [Laughs] But I did have an interview way back in the beginning, looking for my first job, and I had an interview with somebody who just went on for about 20 or 30 minutes before he passed me off to the coders who would actually evaluate my skill. But he just went on this monologue for about 20 to 30 minutes. And so at the end, he literally sat back in his chair and went, “So, why should I hire you?” And I just thought, “Oh please, don’t.”

CORALINE:Wow.

TARA:Do not hire me.

[Laughter]

TARA:Do not.

SAM:Can I go now?

TARA:[Laughs] Yeah. And then I did have to go do some Fibonacci in the next room. But I just thought, “Please, do not like me. I want to leave. Now.” Sometimes even when you’re looking for your very first job, there are places you [Laughs] should not go.

SAM:[Chuckles] Yeah.

TARA:And that would be one. I went back to my coding bootcamp and reported that no one should go for an interview there. [Laughs]

ASTRID:Coraline, what kind of advice do you give right now?

CORALINE:I think it’s really critical, especially for your first or second job, that you’re in a nurturing environment. And I don’t believe we have a pipeline problem so much as we have a retention problem. And people who have taken a chance, people who have invested in learning and getting themselves in the position where they’re ready to be a developer, I hate it when I see those people saying, “This is not for me,” and it’s the result of a toxic workplace. So, I do share tips for trying to figure out if it’s going to be a nurturing environment for you. I tell them, you don’t want to be the first early-career developer at a company if you can help it. You want to talk to other people who are in a similar situation and find out what they’re experience has been like.

And use the whisper network. Early-career developers don’t have access to that whisper network necessarily because they haven’t had the networking experience and they haven’t built up that collection of trusted people in their professional lives. So, one of the things that I try to do is get them connected as quickly as possible so that they do have people they can ask those questions of. Like, “Has anyone here worked at X company and what was it like and would you recommend that I work there?” Those personal experiences that their peers have had I think are the most critical questions that they should be asking even before they get themselves into an interview situation.

TARA:I think that’s really great advice. you’re absolutely right. It’s so hard to establish that network of people who can give you that key advice. And it’s also sometimes hard to discern whether they’ve had experience with a newer developer. And it’s important to be able to ask those questions. That’s probably a good question to ask in an interview for a newer developer, is whether or not the company has had experience developing developers. [Laughs]

SAM:Or have they even thought about what it’s going to take for them to be able to support a new developer?

TARA:Yeah. I’ve heard some rough stories out there. I was very fortunate to come into that first position. Thank you Sam, again, for hiring me. [Laughs]

SAM:Happy to do it.

TARA:Or speaking up for me. And you know, I think that was a really unique situation also to join a company that had developed its own internal bootcamp and so had had some experience with bringing on junior developers, some of whom they raised from infancy development, as it were. And so, that was a very unique experience. And I really hope that more experiences, not necessarily an internal bootcamp, but more companies do think hard about what it will be like to bring on a junior developer and what do we need to do to build that infrastructure to make that a successful experience for a developer.

CORALINE:On the other side of that, I find that injecting early-career developers into a development culture, those are the people who are going to make the biggest changes. Those are the people who can see their culture for what it really is even before day one, even during that interview process. And it’s really important to listen to them and ask them questions about, “How is it here?” and “How are you being supported here?” and “What do you like about it here?” and “What should change?” Because those are the people who have the perspective that as a more seasoned employee or someone who’s been there for a couple of years, you don’t see these things. You need that fresh perspective. And early-career developers bring that perspective to you. They’re such a valuable resource on so many different levels.

TARA:Yeah, I would agree with that. Even though as I was thinking about it, in some ways your junior developers are going to be the canary in your company, right? And hopefully, they…

CORALINE:Yeah.

TARA:Hopefully they thrive. We don’t want to go around… oh dear, I’ve stumbled into a metaphor about killing junior developers.

[Laughter]

TARA:But hopefully the canary thrives. Let’s just focus on that. We want the canary to thrive at the company. And if your canary is not thriving, there are changes that need to be made, absolutely.

CORALINE:Tara, are there things that we did not cover yet that you’d like to have us talk about?

TARA:There are so many different things. You know, I will say that we touched a little bit on the fact that I work remotely. And that is another thing that can be revealed in a technical interview about what technology is set up for that interview experience. How thoughtful are the people interviewing you about timezones, if timezones are going to play a part in the role. And how well does the company work asynchronously? Those are some good questions to ask in a tech interview if you are in a position like I am where you’re going to be working remotely, and how does the company thrive like that? I think we’ve come up with some good questions both to ask and be asked and some not-so-great questions about that.

But some of those good questions to ask, if being a remote employee is important to you, is going to be, how do you work asynchronously with your colleagues? How is that supported? For example, in my current place of business there’s a strong focus on working asynchronously and stand-ups are done via a Slack bot sort of an experience. And they fly all of the remote employees or whatever means of travel, horse I suppose if you wanted to travel by horse, that could happen. But everybody comes to the headquarters in Baltimore quarterly. And I think having some awareness of the importance of bringing people together is also an important thing to ask. So, I suppose I’d just throw that in, since we did talk about tech interviews. For me, how the company is going to work with remote employees is a really important factor.

CORALINE:That’s such an amazing point, because the interview experience itself can tell you. Like, do they expect you to interview at 8am Eastern Time?

SAM:[Laughs]

CORALINE:Is it ironic when you’re interviewing for a remote position and they want all the interviews to happen at headquarters?

TARA:Yeah. And you know what? You bring up a very specific example. When I did accept the position that I am currently in, I had made it through the on-camera and phone interview experience and they wanted me to fly out to New York. And part of me really wanted to not fly to headquarters. And in fact, I’ve actually never gotten a job after an in-person headquarters experience. I’ve certainly gotten in-person interviews, but not flying to a headquarters that isn’t in my city. And part of me just thought, “You know, if we can’t make this decision without me flying across the country, then maybe that isn’t a good fit for a remote employee.”

SAM:Yeah. Another really, like this is really basic one, but one conversation that I have had in the past is if I’m interviewing for a company that happens to be located in my hometown and I ask them how they feel about working from home, that’s going to give you some information, too. It’s like, “Oh yeah, we work from home whenever it suits us and however it works and we’ve set ourselves up in such a way that it doesn’t really matter that much where you are because we have a remote-first approach,” versus, “Well, you know some people work from home one day a week. And we could see about maybe getting that to two.” Even that will tell you something about how they approach remote work and to some degree what their level of trust is in you as a potential employee.

ASTRID:Yeah, I never understand why it’s such a big deal. I always feel like if I come to work and I put my headphones on and I sit here all day and work, then why do I have to be here to do that? Especially if I have to commute to do it and now I’m taking time to get there, and then because the commute is bad I have to take time to get into the mode of working. And then I have to gear up for the commute later. I mean, why would you… I guess it’s just hard for me to understand why there is this resistance to having employees work remotely. Like, what is it that you think is happening that you can’t see? Because the way I feel about it is, if you have employees who aren’t working, they can not work in your office. That happens all the time.

SAM:[Laughs]

ASTRID:But you should deal with those employees, as opposed to make some sort of big company-wide rule as though it’s kindergarten and we want to make sure everyone plays inside the fence. I really hate that kind of mentality.

CORALINE:But Astrid, how can they look over your shoulder and see what website you’re browsing if you’re at home?

ASTRID:[Laughs]

CORALINE:I know, spyware.

SAM:Corporate spyware.

ASTRID:[Laughs]

CORALINE:Yeah.

ASTRID:I need to browse those websites. They’re important for my process.

TARA:You know, I need to check in on social media before I dig into the next big project. That’s just how it works. But I will say, actually that experience is how I got into tech. My last position where I worked for somebody else before I got into tech, I was an Assistant Dean for a university PhD program. And we were not allowed to wear jeans to work. And there was one day that just stands out into my mind where I got dressed in the… there was a skirt involved and there was I think, I don’t know if it was a blouse, but it was a shirt of some sort. And I got…

SAM:Battle gear.

TARA:[Laughs] Battle gear is what I got into. And I parked my car. I walked up the back stairs into my office, which it happened that nobody else in my particular large room was working that day. They were off-site or something like that. So I went into my cubicle and I sat there and I did my job all day long. And then I departed in my skirt. And nobody saw me even once. No one saw me at all. And I thought, “Why did I show up here? Why couldn’t I wear jeans here?” And I made it like a career goal. I wanted to wear jeans and t-shirt every day for the rest of my life. And I thought, where can I do that? And I thought, tech. Those tech folks know what’s going on. They are wearing…

SAM:[Chuckles]

TARA:Jeans and t-shirts. And then it sort of built up on that that I became a remote employee as well. But I still wear jeans and t-shirts every day. And I have made that a career goal and a career achievement. So, I’m pretty excited about that. But honestly, that remote, I don’t know why people want to drive into a place, especially if there’s no one there to see you and what websites you’re surfing. I don’t know why people want to do that.

SAM:And for all you listeners who can’t actually see this, Tara is in fact wearing her Greater Than Code t-shirt today. Thank you, Tara.

CORALINE:Sam, for those listeners who want a Greater Than Code t-shirt, what are their options?

SAM:Well, one of their options would be to go back in time to last week and catch up with me at RubyConf. Mandy shipped me literally 22 pounds of t-shirts to give away and I’ve spent two days of RubyConf dragging my carry-on around full of t-shirts and giving them away to anybody I could find. But perhaps a more reliable and non-causality-violating way to do that would be to join us and sponsor us on Patreon. If you go to Patreon.com/GreaterThanCode you can sign up at any level and we’ll get you into your Slack community. But I believe $25 a month is the level at which we will send you your very own t-shirt. Somewhere in there, there’s a level that will get you stickers as well.

CORALINE:Awesome. Tara, it’s been a great conversation. We always end our conversations with our guests with taking time to reflect on the conversation that we’ve had and think about what stood out for us and things that maybe we want to turn over in our brains a little while after the conversation is over. And I think one of the topics we opened up with really touched me, and that’s talking about patience and kindness. And I worry that I’m not as patient as I should be. I’m definitely not very patient with myself. I get frustrated with myself very, very easily. I’m definitely kinder to other people than I am to myself. And you immediately focused on being kind to yourself when we were talking about that, and being patient with yourself, and being comfortable being still with yourself. That’s something I really want to work on and that’s something I really want to reflect on. So, thank you for bringing that to the conversation.

TARA:I have been thinking about that quite a bit. And because I think I also mentioned at the beginning of the conversation that I do sometimes have trouble with kindness or I struggle with things that I don’t necessarily like. And I’ve come to realize that especially with people, that the things that I don’t necessarily like in another people is something that I don’t like in myself. And so, I’ve found that if I’m kinder to myself, I can be kinder to other people who reflect those qualities that I struggle with in my own world. So, what you’ve just said and our conversation that we had earlier has made me really think about that a little more. And I too am going to work on my own kindness.

ASTRID:So, mine is actually something that you said, Coraline, when you were relaying the experience that you had for the person who you were interviewing. And what I like about that conversation you had with the other interviewer regarding that junior developer is that it’s a great reminder that software development is something you can always continue to improve at. But being a certain type of person who is easy to work with, someone who is open to learning, that’s something that you really need to put as a priority number one. Especially as someone like me who’s newer to this whole environment, there’s a lot of emphasis on specific skills and wanting to master those skills and less emphasis on being, I guess having a certain mindset about what it means to be a software developer. And I think it’s good to have a reminder that being a certain type of person can be in a lot of ways more valuable than just a specific skill. Because being a certain type of person will allow you to gain those skills in a meaningful way that can be used and then also be useful on a team.

CORALINE:One point of clarification. This was not an early-career developer that we were interviewing.

ASTRID:Oh, okay.

CORALINE:Which is why… I would definitely be more patient with someone who is earlier on, but I was like…

ASTRID:No shade, Coraline. No shade.

CORALINE:“This person is going for a mid-level role. Shouldn’t they know this already?”

ASTRID:[Laughs]

CORALINE:And I was happy to be corrected on that point. But, thank you.

TARA:I do want to hear Sam’s reflections, but before we do, I want to say that you did make me think about how important it is. We do need to build up our skills that make us the kind of person that we want to work with. We want to be the right person for the right company. But at the same time, I do think having that awareness that especially when we’re interviewing people, that they don’t need to necessarily be like us to be a person that we want to work with, and that even being different from us can be an asset to the company as a whole, just having those many different perspectives and those many different assets and strengths. I want somebody obviously who I can get along with and work well with, but I am trying to be more cognizant of the fact that someone who isn’t like me is still bringing strong, important strengths to the company, or could if we hire them.CORALINE:Yeah, definitely.

SAM:Well, after all that mine may be a little disappointing. But let’s go ahead anyway. So, one of the things that I took away from this is that apparently I really need to watch the show Halt and Catch Fire.

ASTRID:It’s an awesome show.

SAM:So, I have added it to my Netflix list and will sit down and try to watch it sometime soon. I also really liked, really to echo what we were just talking about, this idea that interviewing somebody should be about finding out how they think and not necessarily which set of facts they happen to know at the moment, or even which set of facts they can retrieve at the moment. And I have a lot of experience on one side of the interviewing table. But as I spend more time interviewing other people, that’s something that I really could stand to remember. So, thank you for highlighting that again.

CORALINE:This has been a really great conversation. Tara, I want to thank you for coming on the show and for being so open and being so honest and sharing your experiences and your thoughts. And just, thank you.

TARA:Thank you so much for having me. It’s not often that I get to talk with people who aren’t Lulu the cat [Laughs] during the day. So, this has been a delight.

CORALINE:And thank you to all our listeners and we will talk to you again very soon.

Rein: Being self-aware of how much is on your plate, how you’re feeling about it, and then being able to say no, which is really saying yes to what YOU want to do, what YOU want to spend time on, and how YOU want to live YOUR life.

JESSICA:Good morning and I’m really excited to introduce our guest today. She is Christina Morillo. Christina is an information security and tech nerd with a background in enterprise identity and access management, network administration and information security. By day, she works as a senior program manager at the Azure Information Protection Cloud & Engineering Team at Microsoft. You might know her as the co-founder of a community for women of color in tech, which produced some wonderful stock photos of women of color on computers, which was remarkably lacking in the world and it’s a great resource. Thank you for that, Christina.

CHRISTINA:You’re welcome.

JESSICA:But today, we’re here to talk about many things, starting with what is your superpower and how did you acquire it?

CHRISTINA:My superpower is multitasking.

JESSICA:Really?

CHRISTINA:Yeah and how did I require it? Just being in the struggle, not by choice.

JESSICA:You are a mother.

CHRISTINA:Yeah, among many other things. It came about before I was a mother. Back in my college days, I was actually working on two degrees simultaneously while I work in the full time. That’s where my ability to multitask came about.

JESSICA:How do you define multitasking?

CHRISTINA:I think for me, it’s the ability to shift your focus or slice up your focus and priorities into different chunks like a pizza. You have a full pie of things to do and being able to accomplish pretty much all of those things. A real world example would be like working full time, studying for professional development, so to speak, having more than one child, a husband, a household and having to do everything in between that comes along with that and only having one you. Unfortunately, I don’t have a [inaudible] yet to help me out so I just have to figure that out on my own.

JESSICA:You are into automation, though.

CHRISTINA:Yeah. I love to automate things or processes that don’t need to be manual. For example, if I can automate emails or even use Alexa to remind me of things. I love those things just because there’s so much to do. One of my positions, my job was to deploy an identity and access management application globally across an enterprise. Part of that was automating their on-boarding, off-boarding and access request processes like taking them from phonecall to helpdesk, helpdesk to data entry, taking that from that to click, approve, done, which saves time, more productive and saves money in the end.

JESSICA:Yeah, totally. I like it at enterprise scale when a task is repeated so many times that obviously should automate it. But I also like your examples of things that only you do and yet, automating helps you be able to do more things.

CHRISTINA:Exactly. I think it’s important when you think about establishing a new process or revising a process to start from the beginning of your thought process and think, “Can this become a repeatable a process?” or, “Is this a repeatable process?” and that’s how you know you can automate it or not. It doesn’t apply everywhere and to all the things but where it applies, I think it’s extremely helpful.

JESSICA:That ties in to the last show. Kronda is talking about making systems for herself and the first step is writing down what she does and making it repeatable, even if she’s the one who’s repeating it and then she can ask someone else to repeat it for her.

CHRISTINA:Right and I would say that’s a form of automation. I think we like to tie these words to systematic processes or applications but that’s a form of automation. As long as I am not doing it and someone else is doing it for me, I’m automating my processes.

REIN:Delegation is a form of automation. That’s interesting.

CHRISTINA:Exactly. Why not?

REIN:In my mind, when it comes automation, I’m curious of what are your processes. In my mind, you start it with writing a script for a human to do and then the human does the things in the script and then you make a computer do some of those things and the human now tells a computer to do the things and then eventually, the computer does all of the things and then you can just have a computer do the thing automatically somehow. What process do you go through, from start to finish when you have some manual task that no one really knows how to do and when you want to turn it into a thing that a computer does for you?

CHRISTINA:From experience at that company where I had to automate the processes, I first try to understand what the process is today, like what is the current state? How do you do this today, whoever the human is that’s actually doing it? I look at all the stops. Step 1, the stops. Step 2, the stops, then three, the stops and what is required from a manual perspective. I try to understand what systems we have in place today that can help me clean this manual process up.

It’s pretty much like doing discovery. I learned this new word last week — reconnaissance — so I’m going to start using that in my vocabulary because I think it’s awesome. In doing that, you have to do that recon. You have to first understand how is this thing done to then, being able to give the computer instructions. I always like to say, “You don’t understand what you’re doing.” The tech is not going to help you. It’s pretty much the people that like to throw a technical solution on top of a broken process. To try to fix something, you just end up getting garbage-in/garbage-out. The tech doesn’t fix it. I think it’s a combination of both. That’s actually is my process. I do a lot of the discovery first to understand the problem, understand how I can fix the problem. First, manually and then, how I can fix it via automating.

REIN:It’s interesting that you were talking about if you don’t know what the process is and try to tell a computer to do it, the computer will just do the wrong thing. The greatest blessing and curse of computers is they do exactly what you tell them to do.

CHRISTINA:Exactly.

JESSICA:Yeah and the hard part of programming is figuring out what you want the computer to do. Telling it is easy after that, possibly.

CHRISTINA:Exactly. I think that’s the hardest part — understanding and then translating that. Not to say that coding it is not difficult because it can be in certain situations but depending on how intense a solution is, it shouldn’t be but it can be. But I feel like using our human brain to think these things out or through, that’s hard.

JANELLE:I think that’s beautiful. Just me talking about the first step is to understand the problem, figure out what problem are you trying to solve and then come up with a way to first solve it manually and then automate it. If you jump too fast in implementing the solution, it’s really easy to miss the problem altogether.

CHRISTINA:Yep and we see this often, even today.

JESSICA:Yeah and if nothing else, if you threaten down the repeatable process, even if you still do it, every one of those things you wrote down as a decision, you don’t have to make again.

CHRISTINA:Exactly.

REIN:Yeah. It’s also interesting to me how valuable human judgment still is despite computers being able to do things a million times faster than us.

JESSICA:They can do the wrong thing over and over and over.

CHRISTINA:Yeah, exactly. I think we’re not there yet with artificial intelligence, where computers can make some judgment. I think we will be and I know they’re working on this but we’re just not there yet.

REIN:One of the hardest things for me is trying to automate processes that require human judgment. Usually, when that’s the case it’s because there is something that you can’t tell a computer to do, which there’s a lot of factors that go into making that judgment. It might be hard to just say, “Here’s a checkpoint. Talk to a human.”

JESSICA:Yeah but one thing that we forget sometimes about automation is it is totally fine to use humans to do what they’re good at like, “I’m ready to do this deployment. Somebody watch these graphs for me,” and let the human make the decision that people need to.

REIN:Yeah.

CHRISTINA:It’s not to say that you may not automate an entire lifecycle. It could be that there may need to be human input at some point or maybe like first stop human, then Steps 2 to 10, computer and then Step 11 maybe, output human like go pick up that paper at the printer. I don’t know. Just an example.

JESSICA:Yeah and then the automation becomes about supplying the human with the reminder like Alexa will do. Also, if it’s a decision that we need to make all these supporting information.

CHRISTINA:Exactly. Sometimes, that’s what it takes. You can take that type of shape where it’s like half-human, half-machine, like in stages. Stage 1, it can be human and machine and then Stage 2, maybe all machine, no human. It can take different shapes, I guess.

JESSICA:Yeah because we can work best when we do it together. I want to get back to the multitasking as humans thing. I had a question, when you talk about multitasking, you’re talking about doing a lot of different things in a one life. What time scale are you multitasking in? Are you doing a lot of things in a week? In a day? In a minute?

CHRISTINA:I would say, all of the above. If we’re going to break it down granularly, it’s in a day and by hour. I rely heavily on my calendars. I try to merge, instead of keeping a personal and a business. A lot of people like to separate it but I like to see my full day at a glance so what I do is I just input both of my personal to-dos tasks and reminders in my work calendar so that I can see my entire day and plan it out by hours.

I’m not extremely like one of these people that has planned every second of their day but I try to do it in half-hour to 60 minutes slots so I know that I have allotted two hours for, let say this conversation to me. But I know that at three, I have a meeting and I know that at 3:30, I have to pay a bill. Then I know that at five, I have to remember to book that appointment. That’s my process and flow and that’s what allows me to multitask so I can do a little bit of personal and some business throughout the day so that I can focus and be productive and then sprinkle some more personal around my afternoon, evening and stuff like that.

REIN:Do you have any suggestions for becoming better at context switching?

JANELLE:I was going to ask that same thing. Essentially, I was just sitting here listening to this thinking, “Wow, this is a major superpower,” because I imagine if I try to apply what you just described to my life, I would explode because I’m so not used to operating that way with larger task that require a lot more focus. I’m just curious what type of impacts you’ve seen from shifting focus specifically on restarting a task and refreshing your brain with that context? Are there things that you do to make that brain-refresh easier?

CHRISTINA:I wouldn’t say that it’s all easy. I think it is difficult. I had grown used to it. I think at times, I make sure that I do take a break. I think that’s super important to me. I actually taking my time for lunch because what I notice is that when I try to multitask too much and let’s say I’m eating while I’m working, I just get burned out. My goal every day is to try to avoid getting burned out because I feel it. It really takes a toll. I try to take a break. I work at my own pace.

I think it’s important to understand that you have this schedule but you may not accomplish everything that you plan today and that’s okay, unless you have a deadline, where you may have to pay your credit card bill today because they’re going to charge you with late fee, then get that them today. But if it’s something that can wait until Friday or maybe you’re free to do it on Sunday because you have more time on Sunday, then be flexible. I just think it’s important to be flexible and not be so hard on yourself. That’s what works for me. It doesn’t make me feel like a failure if I can’t accomplish everything on my to-do.

A friend of mine is actually doing it and she went analog. She’s doing it on notebook and she carves out her day in squares, like by priority level. That’s a lot for me. I’m not there yet. She’s very, very strict and disciplined. I just try to play it by ear and see how am I flow with the day, so to speak by just keeping my top priority items, top of mind.

REIN:It’s interesting for me because when I was younger, I used to think that making a reminder for myself was a sign of weakness like my brain should just remember all the things at all times. As I’ve grown older, I realize that I need that help. I need the assistance to be able to keep everything all the plates spinning at the same time. I’ve been in a situation where I’ve come from a meeting directly into another meeting and I’m the one owning the agenda for the meeting but I don’t remember what the meeting supposed to be about because I didn’t take good notes or there wasn’t a clear agenda set and I just floundered for the first five minutes and it was a really bad meeting.

CHRISTINA:Yeah. That’s difficult. First of all, I never try to put back to back meetings. Sometimes it happens but what I do try is I try to take, even if it’s just bullet points. I tend to overprepare. I’m a little bit typing when it comes to stuff like that. I don’t like to get caught. I try to prepare as best as I can. For some reason, I don’t like to wing it. Do you know what I mean? I like a little bit more structure. I can wing it but it just takes too much energy so I like to be a little bit more set up but I totally understand what you’re saying. It’s difficult, especially when it’s a meeting that this could have been accomplished in four bullet points.

REIN:One tip that I’ve learned is always try to keep a five-minute buffer in between meetings so when meetings end at 55 till and not on the hour.

CHRISTINA:Exactly. I agree. I’ll be [inaudible] to 10 minutes. I try at least 30 minutes but I need to do decompress a little bit more.

REIN:Whenever there’s a meeting that really runs on and I show up a minute late, I’m just completely frazzled so I’m learning that I just have to not do that.

CHRISTINA:Yeah, that’s a good point.

JESSICA:Sometime you have to pee.

CHRISTINA:There you go. You know, if I’m feeling like that, I actually walk out and excuse myself from meeting, go to the restroom and pee, wash my hands, stand there and then just to decompressed and then go back.

JESSICA:Totally. I do that.

REIN:One thing I have learned that may be helpful to other people and if you’re in that situation, where you forgot what you’re doing and you’re trying to pick up the pieces. Stop and take the time to actually remember and don’t just try to muddle through it. It will only end up worse.

JESSICA:Oh, yeah. It’s like in public speaking. It’s fine to pause and be silent for a little while. It’s much better than saying, “Umm,” or using filler words. Somebody told me once.

REIN:— Where I come in a minute later because I just got out of a meeting and it was late and everyone was stressed out. I just have to say, “Look, I need to take three minutes to review my notes and then we can get started,” and apologize but if I don’t do that, if I just said, “Try to build the bridge as I’m crossing the river,” that kind of thing is a disaster.

CHRISTINA:Yep, I agree. That’s a good point.

REIN:One thing that I was thinking about is a lot of the times when we are building out automation systems, we think of ourselves as the part of the system that’s in control and what I’m sort of realizing with those systems where the computer does a bunch of things and then it needs a human to help, like a human has to go look at this dashboard or a human needs to make a decision. It’s better to think of it as the automation system is the thing in command and the human is just a decision point because then, I think for a variety of reasons, it helps prevent the human from having to feel like they have to own the entire process and lets the person just take an action and then go back to their day.

CHRISTINA:Exactly. A perfect example of that is in identity access management, it encompasses like when you start a new job and you have to get your log-in and your email set up and all of that stuff, it’s that process. Back in the day, people would have like a helpdesk or system administrator to manually set up your credentials and maybe get a ticket from the helpdesk ticketing system and then close it and get an email approve and all that stuff.

When I say automated on-boarding, it’s leveraging systems API and when I enter these details and I click this submit, what’s going to happen is that the service economy system will automatically go to the system to create the credential using the information that it has and then it’s going to pass an email or a notification to the approver listed based on some tables and complexity and say, “Jane Smith, is it okay for Bob to have access?” and Jane does says, “Sure.” She just clicks on a button that says, “Yes,” or, “No,” and that either let the workflow continue or stops the workflow in its track. Jane doesn’t really have to type anything in. There’s a stopping point where her interaction is necessary. The process is still automated but still with human interaction.

REIN:This is really cool because I think it ties in a little bit to multitasking context switching and how do you present the context you need to make a decision or to switch on to a new task as efficiently as possible.

CHRISTINA:Yeah and I think that one of the techniques that I use is asking in the form of a question. If I say, what do I need Jane Smith to do? What is her involvement? “Jane, I need you to approve this person having access to this resource.”

REIN:We’re literally talking about user experiences on here. We’re talking about, “What does Jane need as a user to do Jane’s job? What should their experience be of doing this in performing this task?”

CHRISTINA:Exactly. I never knew that it was that. See, that’s [inaudible]. That’s in my bio and now I just —

REIN:This falls into my, ‘everything is UI philosophy,’ so I’m happy about that.

CHRISTINA:[inaudible].

JANELLE:I’ve been thinking about this like a chain of decision making functions. For each decision I need to make, I’ve got inputs for that decision and I may need to do some tasks in order to create these inputs that go into that decision I have to make. When I decide something, then I end up with these outputs and I need to make sense of those outputs. I think of this workflow of decision making functions and you’re basically designing this workflow system based on breaking down all these human component parts and stuff. It’s just a brilliant insight. I’m really loving this.

CHRISTINA:Right. It can get complicate quickly or it can look super simple. Let’s say you ordered a pair of sneakers at Nike.com, I’m sure thought that’s easy for them. It look so easy for us, the process is super simple: you pick your size, you add to cart, you check out, input your credit card or your PayPal or whatever and then your order is done. Voila. It’s magic. But imagine the processes that are happening in the background that we never see, where the warehouse gets notification or whatever it takes away from the inventory. It’s just amazing. It’s so fascinating.

JESSICA:Have you ever bought customs sneakers from Nike.com? They are so awesome. I kind of pair it with stars on one side and stripes on the inside. It’s a really impressive UI.

CHRISTINA:No, I haven’t but I think I’m going to have to. I actually ordered a custom sneakers for my husband and he really like them.

REIN:Talking about quality workflows and decision points and all of that, reminds me a lot of state machines and one thing that I’ve noticed is that whenever you’re building out a workflow like this, where there are decision points and you have to choose a path. Then based on where you are, choose another path and things like that. Often, we just do it in an implicit way, where we don’t model the state machine. We just think about the decisions we have to make in detail. One of the things that I found extremely helpful is to just draw out a flowchart, draw out a state machine, look at it, share that, make sure everyone agrees that this is indeed the process we’re modeling and the mental model we want to have of it.

CHRISTINA:I like that. I love flowcharts by the way, especially when you’re building these processes. I love the flowcharts. I feel like I’m a visual person so I like to see, so that I can better understand how things flow from top to bottom or end to end. I think that’s a really brilliant recommendation.

REIN:And you can make this really useful. We have an on-boarding process for a new customer and for that, the flowchart has points where we color it based on like, “This is a thing a customer needs to do so it’s blue. This is a thing engineering needs to do so it’s green.”

CHRISTINA:Yes.

JESSICA:Then there’s this implicit arrow from every shape in that flowchart that says, “In case of failure, contact the human.”

REIN:Yes.

CHRISTINA:I need to take a flowcharting class.

REIN:It’s so interesting to me one of the overall topics so far has been, “How can we present information so that humans can gain context well?” The color coding there just means that you can look at the flowchart and see more in five seconds than you could have otherwise.

JESSICA:I have a question about your experience. One thing you mentioned that’s something that helps you with your multitasking of doing too many things is letting yourself not accomplish everything that you hope to that day. Specifically you said, not feel you’re a bad person for that. What was your phrase?

CHRISTINA:Yes and [inaudible] that you’re a failure.

JESSICA:Yeah.

CHRISTINA:I think we’re extremely hard on ourselves. I know I am personally and I feel like I’m supposed to be doing a lot without taking into consideration the things that happen that are out of my control like one of my children are sick or something or whatever, like the monkey wrench days. Then I feel that I catch myself or I found myself feeling such a failure like, “Oh, my God. I didn’t do everything that’s on my own list,” and I’m just like I have more work to do.

I’ve been really intentional about giving myself that break or that flexibility to say like, “Listen, I didn’t do it today. It’s fine. I didn’t die. The world didn’t end. I could get it done tomorrow. Let it go,” and it worked. It’s actually working because I’m giving myself that room to maybe say, “You know what? I am not going to do A, B and C because I need to focus on this task at work,” or I want to get ahead of my schedule or ahead with this work or this project that I have. I’m going to focus on it for two days and pick other things up in three days and that’s okay.

JESSICA:That’s another thing so you’re deliberately choosing things not to do.

CHRISTINA:Yes, I have. A couple of years ago, a friend of mine and I, we started women of color in tech chat. We started it as a Twitter chat. We initially did it because we felt that we didn’t see representation in tech. We didn’t see this visual representation of people that who look like us. We’re both from New York City. Our family were for both first generation. Our families are from Dominican Republic and we’re both educated and we both have careers in technology.

We started on this journey and out of that came the idea for the woman of color in tech stock photoshoot project and all of that. With that, that took a life of its own. We started getting calls from journalist and to appear in newspapers and magazines and all that other stuff. At that point, I felt like, “Oh, I needed to do this.” I needed to jump into the game full force and attend as many events as possible and say yes to as many panels as possible and do all the interviews and response at every email. What happened was at the time, my job sucked so I got burned out. Extremely burned out and I just cannot function, like I was done.

Last year was a really difficult year for me. At the beginning of the year, not really a New Year’s resolution but I said, “Okay, Christina. This year, you’re going to get a new job and you need to focus on you.” You need to shift your mindset from the ‘say yes’ mindset to when you say no, you’re actually saying yes to yourself because I thought a lot of guilt. I felt like I needed to help people and mentor people that reached out to me for mentorship, like that was my duty. I started to say no. I got the job — my current company — and I said I really need to focus. I really need to get this. It’s a great opportunity. It’s my dream job. My dream come true and it just worked out. It’s a remote position. It’s beautiful. It’s perfect. It’s everything I wanted so don’t mess it up.

I just had to say no and I didn’t want my fate to be full with external things and it’s worked out great. I’ve been able to focus on my job, focus on my family and that’s it. I just said, “This year is about you,” and also, considering all the things that are happening outside like our current political climate, the world is falling apart, I don’t want to add that heavy burden but it’s been great so far. It’s working and I think it’s super important. I know everyone is like say yes to opportunity but I’m like, “No, not if it’s going to cost me my sanity and my peace of mind.” I rather be the snail — slow and steady.

REIN:Man, there are so many good things in there.

JESSICA:Yeah. It sounds like you had a time when the thing to do is default to yes and let more things into your world and then you reach the time when the thing to do is start saying no so that you could grow the things that were already in your world and most important.

CHRISTINA:And most important. Right, exactly and just inching back slowly, like being very… I want to use the word strategic but I feel like that world sound a little bit cold —

JESSICA:But it did and somebody tweeted the other day that, “I’ll know that that’s your strategy when you tell me what you are not doing.”

CHRISTINA:You know, I think it’s really easy to get caught up, especially you’re on social media and you’re in tech and everything and you think so many people are doing so much and you feel like you have to be part of this community and all that. It’s really easy to get caught up into that whirlwind of stuff. It’s easy to forget what it is that you really want to do? What is it that you love doing? What do you feel like doing? Do you feel like working on a side project? Do you feel like contributing to open source? It’s okay to say no. It’s fine.

But if you’re on social media and you’re part of the tech ecosystem, it’s not fine. It’s just like society pushes you towards like this is what you need to do, to build your skills sets. This is what you need to do. Guess what? I don’t feel like it. I actually view that attitude, being from New York City, we don’t like to be pushed around or bossed around so we kind of push back a little bit. I think it’s serving me greatly right now because I needed that.

JANELLE:I feel like there are so many people that need that. I’m sitting here thinking of how many times the story has probably echoed through time of getting to the point where you’re just completely overwhelmed and completely breaking and then you see somebody that needs your help and you’re like, “I have to help them. I have to get involved. I have to contribute my opinion. I’m needed in so many ways and if I go away, then I’ll feel bad. If I say no, I feel bad,” so you push yourself all the way to the breaking point and then it’s like, “All right. I have to hit the reset button here,” and that it’s actually the [inaudible] thing to do to say no and getting to the point of pushing back and saying no. Anyway, I’m sitting here glowing as I’m listening to you, things you’re saying that just makes me so happy to hear.

CHRISTINA:I was listening to this audiobook, not tech-related. It’s from an actress. Her name is Gabrielle Union. Sometimes, I listen and do other things like take Japanese lessons and do other things to take me out of the box, to free my mind. Listening to her audiobook, she said something that really resonated and she said, “People don’t know what to do with you if you are not trying to assimilate.” I thought that was such a great quote because I have find myself this year, having the year pushing back and saying, I’m not going to somebody. I’m not going to do what people expect. I’m not going to be that hacker with a black hoodie just because you think that’s what a hacker with the black hoodie looks like. It’s okay if I get that pushed back. It’s okay if nobody wants to be my friend. It’s okay if I’m out here in the world because I feel like it’s so much about quality over quantity.

If I have this one friend that appreciates who I am and what I bring to the table, I’m good. That’s all I need. I’m okay. If I have none or if Twitter doesn’t love me or if I don’t have followers, I don’t care about that. That’s not important to me but the five followers that engage with me are super important to me. It’s kind of like in that context.

REIN:This is a journey that I’ve definitely been on as well and there’s so much of what you’re talking about resonates with me but there are a couple of things that I have found to be really helpful. One of them is making sure that all the work you do is visible, especially to yourself because you may not always get all the stuff done that you want to but you should be able to look back and see what you did accomplish and not have it hidden. That’s why on our teams, we have a rule that if you’re working on something, there has to be a story for it because we want to make sure that all of the work that people are doing is acknowledged.

CHRISTINA:You know, that’s an interesting point and it’s great that you brought that up because I find that for some of us, it’s really difficult to pat ourselves on the back. I know that is something that I struggle with. I think there’s a thin line between the patting yourself on the back and boasting and it’s really, really hard for me to acknowledge out loud what I’ve done or what I’ve contribute or how far I’ve come. Then there are moments where I remember like just something that jumps in my head that I thought and I’m like, “Wow, I’ve really done a lot. I should be proud of myself. I’m the woman, you know?” I think I should do that more often. I guess, how do you pat yourself on the back without feeling like you’re not humble. I don’t know if that makes sense but —

REIN:It does and that brings me to my next point, which is get someone else to do it for you. We try really, really hard to have a culture of acknowledgment, where we don’t just say, “You did a thing. Thank you.” We try to say, “You did the thing and it helped me.” For instance, I had too much work on my plate last week and I was able to delegate some of it to someone else on my team and they did it better than I would have in the first place and I think that when I said specifically, “You know, I want to thank you because you really made my week better and I was able to focus on other things that I had to do and I don’t think I would have been able to do it without you.” Intentionally, trying to create a culture where you would thank people for the work they do, eventually comes back to you, is what I —

CHRISTINA:I agree and I find it easier to acknowledge and thank other people. I definitely agree with that. I like that reminder.

JANELLE:It’s like the gratitude culture, basically.

REIN:Yeah.

JESSICA:And I love that, Rein because it explicitly acknowledges the generativity in what the other person did.

CHRISTINA:Right and you’re kind of [inaudible] both of your cups, right?

JESSICA:Yeah, it raises that level of output of the whole team. It’s not just about what you did. It’s about how what you did helped everybody else do stuff too.

REIN:Yeah and that’s why I try not to just say thank you. I try to be specific about what it meant to be.

CHRISTINA:Yeah. On the flipside, working as part of a team that I always try to think not what would help me out but what would help the team. Not like, “Oh, I need to do this because this will going to help me get promoted.” No. Put the team first like what would make our lives easier? What are the low-hanging fruits or what is our biggest pain point? It could be creating a document or maybe automating something or creating a landing page for us to whatever, creating a new SharePoint site. It’s something that would make our lives collectively easier. I try to think from that perspective mostly. I think we tend to do that. Especially women, I mean men too, but I feel like women always put others before us. That can be good and bad but I try to take the good from there.

JESSICA:Yeah, we have words for that. It’s congressive and ingressive. Ingressive as advancing yourself and congressive as doing things together to advance in the group.

CHRISTINA:I love that.

JANELLE:I’ve just been listening to this and so much beautiful stuff has come out of this conversation. One thing that you said that really struck me of just a story of my life is that people don’t know what to do with you if you’re not trying to assimilate. I don’t never fit in. My whole life, I’m struggled with loneliness and trying to do things for people so that they would like me, so they would love me and give me that feedback, give me that gratitude. I was trying to earn their affection so that I could be seen.

I feel like that’s where a lot of that pull comes from of not wanting to say no because we need that love, we need to be seen, we need to feel like we matter and being invisible, this stuff is hard. But at the same time, eventually I got to the point of just having this rebellious energy of, “I don’t care anymore. I’m going to say no. I’m going to do what I want. I’m going to be who I want to be and screw you all!”

There’s a balance between things because I basically shifted to that mode 15 years ago and I recently got to the point in that kind of mode where I ran all the way off the cliff with essentially being kind of an antibody respond to most of my former self because I turned into this table flipper, rebellious energy, ‘I’m going to go do things my own way.’ There’s a balance in that though and I feel like if you can create this gratitude culture as a precedent of filling the love tanks of the people, it takes love energy to do our jobs. Even though it’s not something that’s necessarily easy to measure or to put metrics around, how does it ever matter?

CHRISTINA:Yeah, it absolutely does and I think that that’s just a part of being human. I think we all crave, even if we say we don’t crave attention and validation and like you mentioned, feeling like we do matter but I think it’s important to understand that when you’re feeling that you don’t matter and you’re feeling a little bit sad about that, it’s important to catch yourself and feeling this way and acknowledging and saying, “Yes, I feel this way,” but then countering it and saying like, “You know, I do matter. I am important and my voice does matter.”

That’s what I noticed and I noticed that similar to you, I also catch myself like, “Why do I care if that person doesn’t see me.” I try to drill down like, “Why is this important to me? Why isn’t what I feel from myself enough? Why do I need external validation? How does that change who I am?” I started to ask myself these questions because all my youth, I was driven by the same thing. It was important to me. What other people saw in me was important and I think with age, as I got older, I started to say, “I don’t have time for this.”

When I started to value the relationships that I do have with people and know that, “These people love me. I have only two people love me? My husband and my kids?” I’m fine with that. But I think it starts with a lot of introspection and feeling you have to feel that. You know what? My voice does matter. I don’t care what you say. I matter. I’m important to myself and that’s really all there is to it. I think even though with social media and the internet, it now really exploits our psychological weaknesses and they knew that when they did it — all the validation that is part of just social media in general: likes, loves, favorites, retweets.

REIN:Yeah. They’re a giant awful Skinner box.

CHRISTINA:Yeah, exactly.

JESSICA:What? Wait, they’re what?

REIN:Skinner boxes. You teach a monkey to press a button and get food, that kind of thing.

JESSICA:I know you are going to bring psychology into this somewhere.

CHRISTINA:Oops.

JESSICA:That’s a Rein theme. An important one. I called these as puffs. They were like little puffs that push you up just a tiny bit but they come from strangers so they’re not really that deep but you can get dependent on them.

CHRISTINA:Yeah, it’s an addiction. You become addicted. Even though like swipe down to refresh or pull down to refresh. There was a really good Wired article that I read a couple weeks ago about the engineers who actually create all of these features wanting no parts of any of it. Pretty much going off the grid, hacking their phones so that they couldn’t download any social media application onto their phones, just like crazy stuff and these are the engineers that created these features. Again, these are the engineers that created these features and they see the damaging effects.

REIN:There’s one study about endorphin levels while people tweets are being liked.

CHRISTINA:You know, they should. That’s a good point. I’m sure they probably won’t talk about it and if there isn’t, there should be. It’s addictive. It’s like an addiction.

JESSICA:Hold on. I’m Googling that.

CHRISTINA:It’s actually pretty fascinating, though. What did you call it, the web box?

REIN:Skinner box.

CHRISTINA:It’s actually pretty fascinating, I guess from a psychological perspective. I don’t know anything about psychology. I would be interested in reading more about the techniques they use to convince us to do these stuff or convince us to stay on our phones for two hours straight just refreshing.

REIN:The technical term is operant conditioning chamber.

JESSICA:I learned that word the other day — operant conditioning. It’s when you get trained that you do one thing and another thing follows.

REIN:Yeah, it’s basically training or learning through word and punishment.

JESSICA:That’s very boring compared to learning through creativity.

REIN:Skinner is operant, push a button and get food. Classical is like the Pavlovian response, where you learn to associate the ringing of a bell with food, even though you’re not being rewarded for ringing a bell.

JESSICA:Oh, it’s just like correlation — this happens then this happens?

REIN:Yeah, so basically the bell is a neutral stimulus that is been associated with something positive through correlation.

JESSICA:That would be like, “Whoop!” Notification sounds?

REIN:Yes.

JESSICA:And then you start to consolidate because it is going to be so tasty?

REIN:Yeah, for sure.

JESSICA:Or wake up, I hear, “Twoot! Twoot!” in the middle of the night at 3 AM and I go, “A message is going to be great. No Jess, go back to sleep.”

CHRISTINA:That’s why you need to turn all of notification off all the time.

JESSICA:Yeah, I totally do. I just forgot last night but I succeeded that I did not look at it and it was a good thing because in the morning, when I did look at it, it said, “Oh, sorry. That wasn’t for you.”

REIN:It was dopamine. I was almost right.

CHRISTINA:Yes.

JESSICA:This might be a good segue to tell you that this episode is brought to you by Upside. One of DCs fastest growing tech startups. Upside is looking for innovative engineers who want to disrupt the norm and they’re always hiring. Check out Upside.com/Team to learn more.

REIN:That was amazing.

CHRISTINA:What was?

JESSICA:I love doing commercials.

REIN:This brings us to reflections, the part of the show where we reflect on things, which is why it’s called reflections. See? I think mine is really everything you’re saying about being self-aware of how much is on your plate, how you’re feeling about it and then being able to say no and how that’s really saying yes to what you want to do and what you want to spend time on and how you want to live your life. That’s huge and that’s something that I really need to spend more time working on my own life.

JANELLE:So many amazing, beautiful things in the show. I’ve just been sitting here blown away. I know I keep saying that but so many insights and things that just resonate with a lot of the struggles in my life and I’m really excited to share this with everyone because I’m just sitting here and going, “Man, everybody needs to hear this.” That’s pretty amazing.

One of the things that struck me that I haven’t gone and got all excited about already, was your comment about taking the time to remember and that remembering takes time. We talked about setting up buffers between meetings and how long of a buffer do I actually need. If I’ve got inputs that I may be prepared for, how long does it take me to prep those inputs and if I need to spend time thinking about that, don’t just rush ahead and start doing it, even if you’re running behind.

Take the time to stop and think because it’s only going to get worse and remembering that thinking takes time and the way that you manage your workflow with these human processes, it’s like there’s this implicit undercurrent realization of thought-work itself. What is the thinking that needs to happen in order to get through this process? Then once you have your process flow down your workflow of your thought-work, then you can figure out how to automate various pieces of it but first just see it. First, just understand the problem you’re trying to solve. That was just beautiful.

JESSICA:I love how this episode started talking about multitasking and Christina described how she’s good at doing a lot of things, then it got to talking about how she’s good at doing fewer things. There’s a time for inviting everything in and there’s a time for when you choose the group that you’re going to focus on. It feels selfish to say no but really, Christina isn’t saying, “I’m not going to help anyone. This is about me.” She’s saying, “I am going to help my group at work and my family and a few other specific people who are actually meaningful to me, instead of trying to help everybody a little bit in the way that they think I’m good for.” It’s about choosing the group that you’re being generative with.

JANELLE:And taking responsibility for your life and how you want to run it.

JESSICA:Yeah and it’s still congressive. It’s not about advancing her. It’s about advancing people but we can more effectively advance people when we’re not trying to advance everybody in the world who asks for mentorship or anything else.

CHRISTINA:Just a reminder that you can’t pour from an empty cup.

JESSICA:Yeah, so you matter. As a mother, that’s totally part of my philosophy of I have to be happy in order to keep you happy so yes, I’m going to travel one week a month. I know it’s not your preference but trust me, all of our worlds are better this way.

CHRISTINA:Exactly. One thing that stood out was that Rein mentioned UX and I feel that I often forget that UX is everything and everywhere. It becomes transparent to those of us that are not looking but when you really think about it, the user experience is everything, no matter what you have or no matter what fancy tech is working behind the scenes. If the user experience isn’t there, nothing is going to work pretty much. That was a good reminder to keep that top of mind all the time.

REIN:There’s a quote that I like to drop every time this comes up and I wish I could remember who it’s by but the quote is that a computer, to the people using it is not the hard drive or power system or anything like that. It’s the monitor and the keyboard and the mouse. That’s what it means to use a computer.

JESSICA:Those are representation that we interact with.

REIN:All that other stuff is not the interface. The interface, what it means to be a computer in terms of how you interact with one is it has a monitor and a keyboard and a mouse. Everything else is just an implementation detail.

JESSICA:Yep.

JANELLE:This was so much fun. Christina you are a beautiful human. I rather [inaudible]. It brought me so much happiness being you talk about these core of things that matter about life and love and taking responsibility for being a happy whole human. It’s what I get out of the show.

CHRISTINA:Thanks. I feel that I’m working progress. I’m not all energy-producing every day but again, that’s okay. It’s part of growing and learning, I guess, just kind of discovering. I think it’s important to stay open at all times. From a mental perspective, stay open to different ideas on what makes you happy, basically or what makes you feel good because sometimes you have to do things that don’t necessarily make you happy, like wake up very early in the morning. Just follow what makes you feel good and if something doesn’t make you feel good, then you have to remove it from the equation.

REIN:I want to do another reflection just so I can name drop Chomsky and make Jessica happy.

JESSICA:Yay! Philosophers. I totally make fun of you but I actually really like that you bring philosophy and all these non-tech references into the discussion.

REIN:We were talking about Skinner. Skinner’s idea on human agency was that much more is determined by the environment, than by human agency. In terms of our ability to create the environment around us. Skinner thought that was mostly just the environment acting on us, rather than the other way around. Noam Chomsky, who I may have mentioned a couple times, reviewed Skinner’s book about verbal behavior. His argument was that if you look at how children learn language, the pace at which children learn language far outstrips their actual experience of language. He called it the lexical explosion. I think that this is a phenomena that doesn’t happen just in language acquisition. If you look at human capacity, I think in general, it far outstrips the mere behavioral concerns of what in the environment has impinge on us and we as humans, our capacity far outstrips our learning histories and that’s really interesting to me.

JESSICA:Lexical explosion.

REIN:That’s [inaudible] for the podcast. I’m now realizing.

JESSICA:Can we use that as our fake name next episode?

REIN:Yes.

JESSICA:Yes. “Welcome to lexical explosion.” That’s going to be great. Christina, thank you so much for being our guest today.

CHRISTINA:Thank you. Thanks for having me. This was a lot of fun.

JESSICA:If you just can’t get enough of Greater Than Code, then donate any amount to our Patreon because we’re mostly listeners-supported and then you can join us on Slack. It’s my favorite Slack. It’s the only one besides my work Slack that I totally check all day long because people there are so nice and the discussions are really great. It’s a wonderful place to ask hard questions that you’re not sure where to ask.”

Jessica: As developers, and as we’re writing automation for other people, we can also think at a meta level, and automate the parts of our jobs so then we can spend more thinking time thinking about the interesting part of code, like how to achieve the results that we want.

JESSICA:Good morning. I am thrilled to be here today because our guest is Kronda Adair. Kronda is the CEO of Karvel Digital, a digital marketing agency that helps established businesses double their revenue in 12 months using online marketing. She loves empowering small business owners to not be intimidated by all this tech stuff and she’s often covered in cats. Kronda, how many cats?

KRONDA:Two. Not quite a cat pile but enough.

SAM:But they’re entitled enough so they can cover you, right?

KRONDA:Yeah, they can totally cover me. There’s a recent post of just shenanigans under a blanket happening while I’m trying to nap. It’s epic.

JESSICA:Cats make better blankets than pillows.

KRONDA:This is true. They get cranky when you try to lay on them. That’s the most enthusiastic introduction I’ve ever had. Thank you.

JESSICA:Oh, you’re welcome. I am really enthusiastic today because you said you want to talk about systems.

KRONDA:That’s pretty much all I want to talk about these days.

JESSICA:Sweet.

KRONDA:Why are you excited about systems? I’m always curious.

JESSICA:I could go on about this for a while but —

SAM:What do we mean by systems?

KRONDA:Good question. I recently read a book called Work the System by Sam Carpenter and he points out repeatedly that everything that ever happens on planet Earth is the result of a step-by-step process: one, two, three, four equals result. The whole premise of the book is that if you manage your systems so that you control the output, rather than fire-killing and dealing with the bad results of unmanaged systems, you will have a better business, a happier life, etcetera, etcetera.

JESSICA:That’s interesting because I think of systems quite the opposite as one, two, three, four of result. In my reading, the interesting bits about complex systems is that there is no clear causality in most cases. We only construct the causality retrospectively but there are many conditions that make it possible for something to happen and then one trigger, which is often small.

KRONDA:Wow, so this should be an interesting conversation.

SAM:All right, reconcile those in 30 seconds. Go!

JESSICA:Like your website went down because one database [inaudible] had a network partition but there were six other conditions that led that to cause your whole website to go down. In a lot of what we do in devops and in infrastructure these days is mitigate those possible failures and make the conditions not exist.

KRONDA:But the mitigation is the system management. If your website gets down and you say, “It went down because of this,” then you further say, “It went down because of this. How can we prevent that from happening again?” That part is system management, where you go back and say, “This partition went down so we need more redundancy,” or we need whatever it is to keep that from happening again. That’s system management and you can do it proactively but you’ll never going to get everything perfect. When there are either mistakes or accidents or whatever, those are gifts basically telling you, “Your system could be better,” and inviting you to go and fix it.

JESSICA:Yes, so it’s kind of one, two, three in parallel conditions and then four and then something happens.

KRONDA:Yeah, I don’t think we actually disagree.

JESSICA:Yes. It sounds like we don’t.

SAM:On the face of it, it seems like a lot of creative people wouldn’t object to that mechanistic sounding description of one, two, three, four because if I sit down to write a piece of code or I refactor somebody else’s bit of code, if I sit down and analyze it very deeply there are one or 17 steps in my head but they’re all the result of my own life experience that nobody else can duplicate. But it sounds like you’re talking about a little bit more repeatable process.

KRONDA:Well, yeah because the context of this book is business and I’m running a business. That’s the context in which I think about it. It works for pretty much every part of life but particularly in a business, especially a business that you want to grow beyond just being one person, if you don’t have repeatable processes and you start hiring people, then you can’t really be effective because they’re all just waiting on you to check their work or tell them what to do or etcetera, etcetera.

One way that I put this in place is I have been sending out a newsletter every Sunday and that means I think of the ideas, I write the newsletter, I spell-check the newsletter, I put it in an ActiveCampaign, I schedule and all the stuff. When I got a virtual assistant, I filmed myself doing all of the steps for spell-checking and putting into ActiveCampaign and scheduling and I sent that to the VA and I said, “Write a process for this based on this video.” Then I took what he wrote and said, “You left out this part,” and we worked on it until I felt like, “If you follow these steps, you’re going to get the same result every time, which is the newsletter that goes out at 6AM on Sunday.” Then my job became just write the newsletter and send it over and then he would schedule it and do all the other things, then I get that hour back every week.

SAM:Nice.

JESSICA:Like Mandy does for this podcast. We just show up and talk to people.

KRONDA:Exactly. They all seemed to have a pretty good system.

JESSICA:Mandy has a system. Yeah, it’s sweet.

KRONDA:I’m basically trying to do that for everything in my business, figuring out what are the things that happen over and over again and writing processes for them. This is the part of business that most people don’t want to do and find boring so they don’t do it so then they wonder why everything is chaos. It’s really interesting once your mindset changes to then, look at the world and look at how other people managed things and go, “Oh, yeah. That could be really a lot better and a lot less stressful,” if you would do these things but you won’t.

SAM:That sounds like just applying a developer mindset or a programmer mindset to business systems.

JESSICA:Yeah, exactly. That’s what we do when we code things, right?

SAM:Exactly.

JESSICA:That we have to set down all the steps in order and exactly what to do in each contingency. It’s automation.

KRONDA:Pretty much and people think that automation means that you can’t be creative but I don’t think that’s true either. I think once you understand what your role is and what the outcome is supposed to be and the steps to get there, then within that, you can be really creative.

SAM:Yeah, and especially, I was going to say that one of the steps in programming can be throw up your hands and wait for a human to solve it. That’s raising an exception, which you can totally do. If you can automate 90% or even 80% of the boring stuff, then that leaves you so much more time to deal with the special cases and the interesting parts.

KRONDA:Exactly. I’m basically trying to write myself into the position where my job with the company is mostly to work on strategy with clients and write content marketing. That’s what I would like to do all the time.

JESSICA:Yes, so you’re automating yourself but in the sense that you write a process for people, instead of the computer like we do.

KRONDA:Exactly. I’m programming people now.

SAM:That sounds messy.

KRONDA:Yeah, it’s super messy. Someone recently said to me about their mentor who doesn’t really code much anymore. He said, “Yeah, I’m programming grad student now.” For a long time, when I first started my business, I really didn’t have aspirations to hire people or grow or do any of that stuff. I was like, “People are messy and it’s hard and I’m just going to code my way until sunset,” and then I realized if I want to have a life, then I have to build something that runs without me and that means other people.

It’s hard finding people. I recently had to let go my first virtual assistant because there wasn’t enough attention to detail, like I was writing all these things down and they weren’t being followed and I’m like, “Come on.” If I’m going to spend all this work, then you got to follow it. It’s super messy and this is something actually now that I think about it, one of my early mentors at the one tech company that I worked at, it kind of went through the same process where he was really, really amazing developer and then moved into management and running the company. He was like, “The challenges are really kind of the same,” like you’re just programming and people and spreadsheets. It’s just different challenges but at the same kind of mindset, in terms of getting the output that you want.

SAM:And completely different strategies for doing it.

KRONDA:Right.

SAM:What I heard that you wanted to talk about systems. My first thought was about something like for example, getting things done or Personal Kanban or some of those other systems that people use to manage their own volume of work. I’m wondering if you use one of those, if you have managed to make one of those stick.

KRONDA:I haven’t really gone deeply into any of that. I know about getting things done and I know the premise of it and I think, maybe a few years ago, I sort of made a half-hearted effort but nothing has stuck. I think the strategy that I’m using right now is to try to focus on one thing and fix it basically, forever. Right now, my email is a disaster because I’m focused on fixing something else. I’m focused on the process and documentation for the business because that’s going to allow me to bring in people and say, “I need these things done,” and I can just say, “And here’s how to do it,” and it’s all documented. That will give me my time back, then go and fix my email.

By fix it, I don’t just mean like wade through the whatever 33,000 that there are now but like unsubscribe from a ton of things, figure out what is the system that I’m going to use to keep email under control, implement that system and then fix that forever, then I’ll move on to another thing. Maybe it’ll be scheduling or I don’t know but it’s a really hard way to work because when things are in chaos, which a lot of things around me are chaos right now, you just kind of want to dive into all of it and that’s a good way to not get much done at all. It’s been really hard but for the last, probably four months, I’ve just been focused on, “I’m going to implement enough systems in my business that I can pass things off to people and get the results that I want.”

JESSICA:Yeah, because when you’re trying to accomplish something, we gain our power from all the things that we don’t do.

KRONDA:Right, and just trying to get the time to do this one thing. I’ve been trying to launch a product for two years. It’s just been one struggle after another so I finally scale it down and said, “Let me release the first 20% of this.” I did that and now I’m trying to finish out. The actual essence of the product is the Working Websites course, which has become my side hustle that I would like to become my main hustle at some point. I was like, “I’m just going to launch this thing and that’s going to force me to create it,” so now, I’m creating it and then I will have something that exist, something that I can sell that doesn’t then take up more of my time, which is the thing that I’ve been trying to do for two years.

JESSICA:You do have a focus on reclaiming your time.

KRONDA:Yeah. I don’t see my family as much as I want. I don’t see my friends as much as I want. I don’t spend enough time on home stuff. There’s so many more things that need my time that I don’t have so the way to get that back is to fix the things in the business that can be automated and repeated and sort of buy back my time that way

JESSICA:Right, you can’t just do the things. You can’t just answer the emails. You have to go meta and build a better way to answer emails or pair them down.

KRONDA:Yeah. I don’t know if it’s in the Work the System book but Sam has a lot of blog posts and things, or maybe it was on a podcast and he talks about how he handles email. In his whole company, their goal is to never have more than 20 or 30 emails in their inbox and they largely succeed at that. I was reading a blog post on the website and I was, “Man, this text is way too small,” so I was like, “Well, I’m going to read about it,” because apparently they all read their email in a timely fashion.

Sure enough the next day, I got a reply from Sam and he was like, “You’re totally right.” Because basically the email is like, “Come on, dude. I know you’ve got to be in your 60s and your core audience is probably over 40s so what is with this tiny text?” He said, “Oh, you’re absolutely right. I am in my 60s and my tech team are all in the 30s and I’m sending them up an email right now to work on this.” Then he was like, “What’s your address? I want to send you my books,” and so I gave it to him and two days later, books showed up. Sure enough, he wrote some business documentation software and if you go in there, there’s a bunch of sample processes and one of them is how to send a gift to a client.

As soon as I send him my address, he fired that up to someone else and said, “Send her some books,” and then it happened and he works two hours a week. He went from working 100 hours a week to two hours a week so I’m like, “Clearly, this guy know something that other people don’t.”

SAM:That sounds like macroing the hell out of your business.

KRONDA:Pretty much. There’s another good book that I like called ‘Traction.’ The subtitle is ‘Get a Grip on Your Business’ and it’s through the Entrepreneurial Operating System — EOSWorldwide.com. There’s actually a guy outside fixing our fence gate right now and they came in and put up the first half of our fence, in the front of our house. They were amazing. They said, “We’re going to be out on this day to look at the property.” They showed up and they said, “We’re going to get you a quote,” and they got us a quote. The day before they came to build the first section of fence, I said, “What time are you going to be here?” They said, “Well, it depends. We have our Wednesday a meeting and it depends how many issues are on the issues list,” and that’s it.

It’s a really particular way to say something like that and I said, “Oh, has your boss read Traction?” He said, “Oh, yeah. We’re an EOS company,” and I said, “Everything makes sense now, like why all your stuff is dialed, why you’re so expensive, why your work is so good.” You know, it all made sense. It kind of made me want to, the next time we need something done, just go to EOS and be like, “Do you have anybody who does this?” because if someone’s running their business that way, it’s a pretty good bet that their stuff is dialed and they have systems in place and they’re doing quality stuff. In fact, there was an issue with the gate but because the way they run their company, they’re like, “We’ll send somebody out to fix it,” and it’s a very, very different experience from other contractors we worked with.

I actually read a blog post or I think it was an email that’s like, “Why are freelancers so flakey?” and it’s largely because they don’t have systems and they’re not charging enough so then they’re like chasing the next job to pay for the work that they’re doing, that they undercharged you for. When it’s like, if you just charge enough to really pay attention and do things the way they need to be done, then you can get a better result. That’s just like a theme that keeps showing up.

SAM:That sounds like a whole other topic right there.

KRONDA:Yeah, the Venn diagram of good, fast, cheap. We’ve run afoul of that in our search for a landscape contractor to do our yard so it’s become a project.

JESSICA:Yeah, and I guess it’s like software. The thing is cheap but turned out to be really expensive.

KRONDA:It does. I’ve been on both sides of that equation. I’ve been the one that screwed up and I’ve been the one to be like, “What is going on?” Now, when people come to me and they’re like, “Can you give me a quote? I want to compare with this other quote.” I’m like, “Yeah, mine will be more expensive.” Tell me what the result that you want is, like what’s in your budget is a real thing but if what’s in your budget can’t get you the result that you need, then you have to figure something else out because pretending that you can get what you need with a budget that’s too small is going to get you some half done thing or something that doesn’t work and then you’re going to be out of money and still not have the result.

The first time I really understood that was about a year ago when someone came to me and he wanted like e-commerce and bookings and all this stuff. He said, “My budget is $3500.” I’m like, “We can’t even keep talking for that,” and I said, “Look, this is what it’s going to take to get the result you said you wanted and if you want to keep talking, just know that,” so he did and went forward and that’s the most successful site that I’ve launched to date.

He immediately started making money hand over fist when the new site watched because now, instead of spending all his time on the phone with people who are trying to book this shuttle, they’re just going to the website. There’s a giant FAQ that answers all their questions, that tells them to go book their hiking permit and then they can book their shuttle and then they show up. That really kind of made that hit home for me.

JESSICA:I love that it’s called Entrepreneurial Operating System because that illustrates that in our working systems that have to do with people, I think we’ve been learning a lot from software.

KRONDA:Yeah, because in software you can’t not work within the system because then, it won’t work. You’re forced to figure out, how’s the computer understand this.

JESSICA:That’s true. You can’t just say, “This person is stupid.” It’s a computer. You know what it’s going to do. It doesn’t accept your blame.

KRONDA:Yeah. It’s like, “You’re not working within the system so I can’t give you what you want,” whereas with people, we can screw it up all day long and we might still get occasionally what we want so then we don’t know that the system needs to be fixed.

JESSICA:Right. I think as people, we like to blame the system and just wish it were different. You don’t do that with computers. We either make it different or we work in it.

KRONDA:Exactly. I was in a Mastermind group recently, where one of the questions was, “How are you all getting new clients? Because I’m torturing myself going to these networking meetings and I hate it.” I said, “Well, what are you doing with your website?” and she was like, “Oh, nothing,” and I was like, “Have you thought about that?” Yeah, but I don’t have the money to pay someone and I don’t want to do it myself. I’m like, “That’s it. Those are your only options.”

SAM:Right, a magical website elder will not going to come visit you on Christmas Eve.

KRONDA:Right. That would be amazing, wouldn’t it?

SAM:Right, that would be great.

KRONDA:I would be a magical website elder.

SAM:Hang on. Let me see if that domain is available.

KRONDA:I wanted to walk out of the room because option three obviously is do nothing and keep complaining but it doesn’t get you anywhere that you want to be. As someone who just officially took on the mantle of, “I’m going to make a product that helps teach business owners, especially non-technical business owners, how to do websites that actually help their business,” this is something that I encounter a lot: people who are like, “I just want to use Wix because it’s easier,” and nobody ever says to me, “Oh, I use Squarespace or Wix because it’s more effective and I get a ton of clients from it.” Nobody ever says that to me. It’s always, “It’s easier.”

JESSICA:It’s all about them, as opposed to the results.

KRONDA:Right, so I’m getting way better at just filtering those people out right away because you’re not the person I can help because you don’t have the money to pay me five or 10 grand to just build this for you and you don’t know how to do it yourself and I’m saying, “I will teach you how to do it yourself but you still have to do it yourself.” If they’re the type that are like, “Well, it’s hard so I don’t want to do it.” It’s like, “Your business doesn’t care. Your customers don’t really care if it’s hard.” Whether something is hard or not, it has nothing to do with whether you should do it. If it’s hard, that means you probably should do it. That’s probably the way to success.

SAM:And your customers are going through the exact same process, right? They’re looking for a bed and breakfast to stay in and your website doesn’t make it obvious how to contact you or how to use your services. I’m going to go find some other bed and breakfast who bothered to spend a little bit more time on their site, you know? It’s the exact same process of like, “This is hard so I’m not going to do it.”

KRONDA:Exactly. Oh, that’s good. I’m going to use that. That’s really good. You have to find the people who are really grateful and like, “Oh, this is hard and you’re going to help me?” Awesome. Let’s go. Those people are fewer and farther in between so it’s been interesting. I actually looking forward to next year because I have a contract with Prosper Portland, which is basically a business development commission and they created this inclusive business resource network to help underrepresented founders.

The woman who works for this organization came to me and said, “Everybody is asking for more help with digital marketing,” and I said, “Great. I’ve been trying to make this course for two years. Why don’t you give me some money and I’ll finish it.” We just did that deal and we’re going to have, at least 10, maybe more of their either providers like mentor businesses and/or the direct clients that they serve who are one of the first people to go through the course next year. That’s going to be really exciting to actually get feedback from the target audience to say like, “Did I really capture this? Is this still too complex? Am I leaving things out because I don’t know what I know?” I’m really looking forward to that.

SAM:That’s awesome. Congratulations.

KRONDA:Thanks.

JESSICA:It sounds like part of the process of making your customer successful is choosing customers who have a chance of being successful.

KRONDA:It’s a large part of the process and it took me a while to figure that out. Now, someone called it like the velvet rope, like you’re trying to get into the club. People are trying to get into the club that’s standing with the velvet rope going, “I don’t know. Do you have what it takes?” Because one of the classic red flags is, “We’re going to do our own content to save money.” In this, you are a copywriter. In fact, it’s your business. Chances are, you’re not going to come up with the content that’s actually going to speak to your audience and convert your website visitors into customers so then, you’re tanking your results in the interest of ‘saving money.’

JESSICA:So you’re going to save, at most a couple of thousand dollars, whereas with good copy and a really good site, the upward potential of the revenue you could bring in orders of magnitude higher.

KRONDA:Right. I do a lot of screening for that. I still get a lot of increase that are like, “Can you set up this theme for me?” where over this past year, I’ve been transitioning out of a development-focused company and into marketing and strategy-focused company. I am a developer and I do have developers on my team but you don’t get them until we know why we’re doing this and what result we’re trying to get. That makes the screening process much easier actually because it’s really apparent, really quickly when people just want you to be like their code monkey and say, “Put this widget over here,” and I’m like, “Yeah, but why? What’s the good we’re trying to do here?”

JESSICA:Your development skills are now a tool, not the product.

KRONDA:Exactly. The product is ‘let’s grow your bottom line.’ One of the favorite things I like to do is what I call the ‘under haul’ and that’s when you have a website that is really beautiful and has terrible code underneath or maybe it’s good code but it’s super custom so no one can touch it but the developer. Then what you have is a marketing site that costs $100 an hour to edit text because no one can touch it except the developer without breaking it and marketing websites need to be flexible.

I’ve gone in quite a few times and this has been like, “This looks fine. Let’s just make it usable so you can actually edit things without writing PHP or whatever.” I love doing those. There are so many gains. There’s not having to wait a week, while you send offer request to go change this testimonial to something else or there’s speed of implementation. There’s so many gains by just being able to move quickly and online marketing now is just like you don’t know what’s going to work so you have to be able to change things. That’s a another thing that I think is a very slowly, people are coming to the realization that having a pixel-perfect, custom-coded marketing website is actually not an asset, having something where it’s like —

JESSICA:Oh, right because what is perfect you don’t know.

KRONDA:Right, you baked in and like, you do this entire project, you baked in all of your assumptions or maybe you talked to a customer along the way. Probably not and then you baked in all those assumptions to your website and then you’re like, “Nobody’s buying,” or nobody’s converting. Being able to say, “We’re going to get our minimum viable product,” and they’re going to AB test the crap out of it and say, “Does this call-to-action work better? Does this header work better? Does this copy work better?” and being able to test that, that’s what’s actually valuable at marketing websites.

JESSICA:Yeah and in software in general, I think because when you get into a system that’s complex enough that you can’t have it all in your head, which is like all of them now, you also don’t know what’s going to work or what’s going to cause problems. Like you said, when there is a problem, then that’s a gift of, “Oh, ha!” This didn’t work as the way you thought it does, you have to be able to change it.

KRONDA:Yeah. I just keep talking about this and they figure at some point, I’m going to become a trendsetter. Not that I’m the first one talking about this. I actually found a woman who used to work for Microsoft and she has a whole imperfect website like growth engine system and she kind of crystallized all the things that I was thinking about. I was like, “Look, she went completely crystallized this and made a course to teach people about it,” so I was like, “Yeah, that’s totally on the right track.”

Perfection paralysis is a huge barrier. I actually relaunch my KarvelDigital.com site in July and I did it as a challenge to my email subscribers because of having all these conversations of people and it was all boiling down to, “I really want this result but I don’t want to do any work,” so I was like, “Okay, people. Tell me what are you going to do in the next two weeks. I’m going to relaunch my site,” which is something I’ve been talking about since the beginning of the year.” I just did it really quick and dirty and it totally wasn’t perfect but it was way better than what I had before, then I’ve just been improving on it slowly.

SAM:We were talking about systems a little bit earlier and I was curious if you’ve been able to help any of your clients implement systems to help their businesses run more smoothly and what kind of results that’s had for them.

KRONDA:The site I talked about earlier with the shuttles, just them having the website kind of forced them into a system —

SAM:Because they said they were going to do a thing?

KRONDA:Because they said they were doing to do a thing. Well, before people would call, everything was over the phone so people would have to call and they would ask questions — a lot of the same questions — and then they would say, “Reserve my spot,” but then they don’t actually pay until they show up and pay cash, then it’s like, maybe they show up, maybe they don’t. Just the fact of having a website now that has a booking system means this is how you have to book. All the questions, they’re all answered on a website and if new questions come in, then you can just add them to the website so you save a ton of time.

SAM:And it sounds like you get better customers or you only talk to the serious ones, right?

KRONDA:Yeah, with the shuttle thing, this is a trail in Northern California so they actually get a lot of Silicon Valley people who are tired of staring screens and like, “I want to get back to nature,” so the online booking thing isn’t a barrier. It’s a feature not a bug. The wood-sy who were like, “What are computers?” You’re getting like, “The computer people who are like, “Oh, my God. I need to get to the woods.”

SAM:“But I don’t want to talk to anybody on the phone.”

KRONDA:Right. I have a client that I do just for marketing. We have a marketing retainer so part of that is just trying to install more systems like they’re going to start using one password for sharing all their secure passwords and stuff. I went in just this weekend and we went over on how are they using ActiveCampaign, both for prospecting and for customer retention and newsletter stuff. We just went through and I’m like, “Why are you doing it this way.” I like to do this and save some time.

What I’m slowly moving toward is within the tech stack that I use, helping people use those things to be more efficient. Like ActiveCampaign, it allows you to do a lot of email automation, which means you can send people emails based on a page that they would visit on your website. If they visit a product page, then you can send them an email a day or two later saying like, “If you’re interested in blah-blah-blah, here’s a coupon.” Helping people implement marketing systems and also just use, I like to say the power of robots to save themselves time. Basically, any time I see a client doing something that computers could do it instead, I’m like, “Why don’t we let computers do that?”

JESSICA:Right, because we started out talking about systems that you’re building that are programming people and you did say it was like hard finding people but that was super messy. If you can build the system into the computer, that can be a lot less messy sometimes.

KRONDA:It is. It’s just getting the people to agree what the system should be and then the computers are like, “Cool. Tell me what to do.”

JESSICA:And it’s way easier to scale.

KRONDA:Yeah, it’s way easier to scale. It’s always a mess at some level because as soon as you bring a person into a situation, there’s potential for mess.

SAM:Right, but when they bring you in, you’re playing the role of the external consultant and you have a chance to help them decide to use a computer a lot more effectively than they might, if they were just on their own, right?

KRONDA:Exactly. I’m looking forward to doing more of that because I’ve been in this transition from being like, “I’ll keep your WordPress up to date,” to, “Let’s streamline your business.” It’s been a struggle, really to figure out how to market myself because there’s so many different layers — the marketing layer, of course — but I think the reason I talk about systems so much is that when you go in to help a client, if everything in their business is chaos, then you can’t suddenly be like, “Computers will help you.” You have to bring order and figure out what direction are you going first, then computers can help you.

A good example is I have a client who does delivery of their product. They’re actually to drive their products to their different customers. They came to me and they were like, “How can we let clients put a note in their order saying when they want it.” I said, “No, you don’t want to do that.” You don’t want to give your clients control over your delivery schedule because, then you’re efficiency is out the window. You want to say, “These are the days we deliver so if you order by this day, you’ll get your product by this day,” because that’s a system that you can follow that streamlines your business.

Sometimes, they might need something on a certain day but if you have the power to systemize and say, “This is how we do it,” and then find the customers who buy into that, that is a far more efficient and profitable way to run your business. It’s having those conversations where they’ll tell me, “We’re doing it this way and I’ll say, “Wait. Let’s just make a process for this and that will be how it happens,” but it’s really hard. The more people you have involved, the harder it is to establish those and stick to them.

JESSICA:We talked a lot about the importance of change. If you don’t have a system, then it’s really hard to change the system and make it better.

KRONDA:True because how do you remember how you did the last three or four times.

SAM:Right. If you don’t have a system, your system think really hard about everything all the time.

KRONDA:Right, exactly. A lot of people that I talked to who are solopreneurs, they’re freelancers or it’s just them and I start talking about this stuff and they say, “It’s just me,” and I’m like, “Great,” but you’re actually ‘present you’ and ‘future you’ and I guarantee the present you is going to do something and future you is going to be like, “What was I thinking? How did I do that?” Even when it was just me, like the act of writing things down, I have a ton of things documented now. I have use a tool called systemHUB to store all my processes for my business. I go and look at those all the time because I’m like, “I’m going to do this thing and let me make sure I don’t miss a step,” and then I’m not spending the energy thinking about it and just looking at the next step and doing it. In that, it saves me a ton of time, even if it’s just past-me talking to present-me.

JESSICA:What a mental energy.

KRONDA:Yeah.

JESSICA:I wanted to ask you, now that you’ve built some repeatable processes, how do you iterate and change those and make sure they don’t ossify?

KRONDA:Because I’m looking at them while I’m doing them, if I hit a point where I’m like, “Why is this like this? This could be better,” then I can change it instantly. If it’s someone else like virtual assistant or a developer, it’s the same thing. If they’re doing a task and they are like, “I think this could be better this way,” they can literally comment on that system and I can get and go, “Oh, yeah. That’s cool. Let’s change it.” The rigidity of the system is balanced by the willingness and the ability to change it instantly and make it better. Then that change for the better, you keep that forever because you wrote it into the system.

SAM:You know, this reminds me of something I saw on Twitter just this morning and I sent to myself to look at it later. It’s a Git repository called ‘Git Flight Rules,’ which is apparently borrowing from a thing in aviation where there’s extremely detailed standard operating procedures for how to deal with a particular thing. This is a bunch of flight rules around things that happened in Git that you want to do like, “I wrote the wrong thing at the commit messages,” as one of the entries in here or, “I accidentally did a hard reset and I want my changes back.”

KRONDA:Is it like a list of how to deal with those things?

SAM:Yeah, exactly.

KRONDA:That’s awesome.

JESSICA:Yeah, because Git has reversibility but it’s not obvious.

KRONDA:No, it’s not.

SAM:Nothing in Git is obvious.

KRONDA:Yeah, it’s been a while since I lived in Git, on the daily, too so if I had to go and do something, I’m like, “What?” A good example of this is I did a webinar recently. This was something like ‘past-me should have written down.’ I forgot that Keynote and WebinarJam don’t play well together. When I hit go on my slides, the entire screen for the webinar went black. When it happened, I was like, “Oh, yeah. I have a big memory of this happening before and that’s why I did Google Slides the time before this.”

SAM:Oops.

KRONDA:But past-me didn’t write that down so present-me got to have five minutes of blank screen before my friend came in and was like, “Your slides are blank.” That’s a perfect example of like, “We need to capture these things so that they don’t recur.”

SAM:Yeah. I, for a long time, had a checklist of things to do. When I sat down to get ready to record the podcast, it’s like, “Plug in your microphone,” and I didn’t follow the checklist this morning and sure enough, I forgot to change my muting application so that when I thought I was doing push-to-talk, I was actually doing push-to-mute and no one could hear me.

KRONDA:Perfect example. The humans are always the weakest link in the system like, “Oh, yeah. I have a checklist for that. If only I read it.”

JESSICA:Yeah but yet, we also tend to fall back on, “The human did it wrong. It’s a training issue,” where really, if we get our system set up right especially in software, then the human is prompted to do the right thing.

KRONDA:If you read the Work the System book, Sam’s business is a call center. It’s basically a private 911. Imagine trying to systemize that like the way that people answer the phone and take messages. Mandy know something about this but they have all these systems in place and they’ve managed to quantify what makes a good phone call, like what makes a good phone interaction such so they can measure it —

JESSICA:Is it like something other than how quickly did you get them off the phone?

KRONDA:Yeah. I don’t know the details of it. He doesn’t go into it but they’ve basically managed to quantify it to the degree that they can measure the speed, the effectiveness, the lack of mistakes. I think in one of the podcast or one of the blog post he said there was a call rep who had basically gone something like 17,000 calls without a mistake. That’s amazing. If you can do that for a call center, you can basically do it for everything and they have a whole consulting business where they help people implement this. I’ve heard them talk about doing it for hair salons. They had a woman with a hair salon and she trained all her people in her method so that she could open multiple locations. When people who are like, “Oh, I can’t do that because my thing is special,” I’m like, “Okay, if you say so.”

JESSICA:“Keep doing your thing forever and ever and ever.”

KRONDA:Yeah but it’s tough. It’s slow-going. It takes a little bit before you start to see the value of it. If you don’t intrinsically see the value of it, then the only way to do it is to start doing it and prove to yourself that it works and that can take a while and I think that’s why people, maybe they start and they don’t keep going. I don’t know. I feel like I don’t have a choice because I do want to get my life back at some point. This has to happen. In my ideal world, I would love for my client service business to just run completely without me except for marketing and sales.

JESSICA:The parts where you personally do add the most value?

KRONDA:Exactly. Then in my other business, I would love to just spend time helping business owners figure out the online marketing thing. I would love to get to the people who are like, “I’m just going to use Wix because it’s easy,” and be like, “Actually, let me show you how you can do this other thing. It’s not as hard as you thought and will actually get you better results.”

JESSICA:Commercial time.

SAM:Yay! We’re going to take a quick moment to talk to you about giving us money because that’s what you need to do. Seriously though, if you would like to support us, if you like the work that we do and think that we’re talking about interesting and important things and you happen to have some extra money that you can throw at us, please do. You can support us at Patreon.com/GreaterThanCode.

One of the premier benefits, I think of doing that is that if you donate any amount and seriously, this can be like a buck, if you donate any amount, you get access to our Slack community, which is full of over 200 awesome people who have really interesting conversations about all kinds of stuff and it’s definitely one of the friendliest online communities I’ve ever been a part of. It’s one of my favorite places to hang out. I’m always excited to see the little new messages icon on that particular Slack. Feel free to support us: Patreon.com/GreaterThanCode. Thanks. Now, back to the show.

JESSICA:Kronda, what’s your superpower and how did you acquire it?

KRONDA:Oh, I think stubbornness is definitely one of my superpowers, which I think is necessary as a business owner because there’s so much that you have to endure in order to get to the point of having a successful business. I think that’s one of them. I think systemization and documentation, which we’ve talked a lot about because I actually enjoy that stuff because I understand the value of it. I understand how much better the future is going to be for me or whoever I’m doing it for and that’s what makes me enjoy it. I think those stuff are one of my superpowers.

Also, staying focused on what is the core purpose of things. Whenever one of my clients comes to me and says, “I need you to do this,” then I’m always going to say, “Why. What’s the outcome that you’re striving towards,” because it kind of like going to the doctor and saying like, “I need stomach surgery,” and the doctor will be like, “Slow your roll there. Let’s run some tests and tell me your symptoms and let’s figure out what’s really going on.” That’s what I like to do for clients and the tech things that they ask me for is to figure out what’s really going on and what’s the actual goal because maybe you don’t need what you think you need. Maybe you need more than you think you need. Maybe we could do something that’s way cheaper than what you thought you were going to have to pay. I think those are some of my superpowers.

JESSICA:How did you get so stubborn?

KRONDA:Genetics, probably. Long line of stubborn women. I think that’s probably most of it and let’s hope that I keep my memory when I get old because my grandmother is 93 and can’t remember anything but still stubborn.

SAM:It’s not a good combination, is it?

KRONDA:Yeah, it’s fun times.

SAM:All right. We’ve reached a point in the show where we get to do reflections, which is where we look back at something that really stood out for us during the call or something that we would like to remind our listeners of, something that we could look into or something that you learn that was really interesting. Who would like to start?

JESSICA:Me! Kronda, while you were talking, especially early in the show about how you look at one thing that you’re doing and you figure out how to fix it forever, I totally do that but as a developer, I’m doing that in code about code. Like the other day, I was like I need to be a change. I don’t know how many build files and I don’t know how many of our 220 repositories and I am not going to go look at every one. Some other times, what I’m going to want to do, change it to a bunch of build files again. I work at Atomist and this is what we build as tools to make this kind of automation easier so I wrote a program to look through all the build files and tell me which ones were still get tag, which is now going to fall on Travis.

I wrote a program to change those to send us an event and our other automation makes the tags in one place, instead of a thousand build files… Not a thousand but a hundred. Anyway, even as developers like us, we’re writing automation for other people, we can also think at a meta level and automate the parts of our jobs so that then we can spend more thinking about the interesting part of code like how to achieve the results that we want and it works everywhere. It does take an extra level of caring and thought. You have to be willing to think harder than you have to think to do your work, to think about how you do your work and how you cannot have to do that work ever again.

KRONDA:That’s a really good point.

SAM:Yeah so you have to have the extra capacity but once you spend it, you get a lot more of that extra mental capacity back later.

JESSICA:Yes. You can use your little pieces of slack that you used to think extra hard to increase the amount of free time you have later and then you can hang out with your friends.

KRONDA:I think you just encapsulated my entire life mission there with other [inaudible] basically. A business owner comes in and they’re like, “I need a website,” and that’s all they’re thinking about and then I start talking about like, “Why? Who are your customers?” They don’t want to do that. That’s the hard work. That’s the thinking, that if you did it, it would give you, in this case not necessarily extra slack but extra customers or extra time like the thinking and people are too busy killing fires or they’re in a hurry to do so that was amazing.

JESSICA:Yeah and killing fires feels productive. That’s why I was surprised when you said, the people find this boring. It’s not boring. It’s just hard.

KRONDA:Right. I guess to some people that’s the same thing.

JESSICA:Yes because some people have a higher need for cognition than others.

SAM:How so?

JESSICA:Need for cognition. It’s a personality characteristic and it’s how much you want to think about things, think about why, think about puzzles.

SAM:Oh, interesting. I’ve never heard that one before.

JESSICA:Isn’t that a cool phrase? That’s my phrase of the week. It’s on Wikipedia.

SAM:Oh, I better go and look it up then.

KRONDA:Nice. I’ll go next. I think one of the things that is a recurring theme for me that we talked about is things that are easy versus things that are effective and that’s a recurring theme in a lot of the stuff that we talked about, a lot of the struggles that I have with business owners. Usually not with my client because if they’ve reached the stage of being my client, they’re probably not a person who wants to take the easy way all the time. But in potential clients and people who come to me and ask me for help, a lot of them are just interested in what’s the easiest thing and that’s often not going to be the thing that gets you the result that you want.

Simon Sinek who wrote the book ‘Start With Why’ says that people don’t buy what you do they buy why you do it. You want to sell the people who believe what you believe and you want to hire people who believe what you believe so the mindset I have when I’m talking to potential clients or potential employees or potential partners is do we have a compatible view about the worth of doing hard things. What you talked about Jessica was really slowing down the speed up, instead of just going through and going like, “Let me go look at these 200 files.” You’re like, “Wait. Let me back up and think about how I could fix this forever,” and that’s a rare skill. It’s probably less rare among developers but it is a rare skill and personality type to find the people who understand the value of doing that.

JESSICA:I’m getting a lot of quotes. There’s going to be a bunch of tweets from this episode.

SAM:Earlier on in the call, I was thinking about a talk that I saw actually last night at the Portland Ruby user group. It was actually not a technical talk. It was about executive dysfunction. Dana Scheider gave a really interesting presentation about what executive dysfunction is and talked about some strategies that you can use to mitigate it. One of the things that she talked about was this idea of making decision rules.

One example from my own life is I was a vegetarian for quite a few years and I found it much easier to go through a menu at a restaurant because having a decision rule of ‘don’t eat anything with meat in it’ narrowed the menu down to three things that I could then choose between and I was actually always ready to order as soon as I sat down and saw the menu.

JESSICA:By executive dysfunction, you mean like your brain, because at first I thought this was going to be like how to fix your boss.

SAM:No, I mean, there’s a part of your brain in the frontal lobe that there’s a whole set of things that the frontal lobe of your brain does that are collectively referred to as executive function. There are things about like planning and sequencing and making sure you’re paying attention to the right thing and thinking about time and so on. When those things don’t work, you really have a really hard time functioning in this world. Having a decision rule, makes it so that it’s like having a mini-system that’s like one thing — I will eat A, B or C for breakfast, which means that you don’t have to burn the cognitive fuel to figure out what from the infinite possibility of food items I’m going to eat this morning. That’s just seems like something useful that we can learn from neurodivergent folks. I feel like there’s other ways that we can look out for that sort of thing.

KRONDA:That’s great, though. I actually had a client and she teaches people with executive function deficits and how to manage their time. I worked for her for two years and that was interesting because I’ll be like, “This is what we’re doing this month,” then three days later, they’ll be like, “Oh, my God. We need this right now.” Yeah, that was interesting.

SAM:Well, that’s our show and we’ll be back at you as soon as we possibly can. Thanks everybody.

JESSICA:Good morning and welcome to Episode 55 of ‘Metamours United For Frequent Dialogue — MUFFD.’ I am happy to be here today with Sam Livingston-Gray.

SAM:Thank you, Jessica and I’m pretty sure this is still Greater Than Code but I love that also. I’m also really thrilled to introduce my friend and co-panelist, Astrid Countee.

ASTRID:Thanks, Sam. I think we need our own really cool acronyms so that it’ll be easier for us to [inaudible] introductions but I would like to welcome our new panelist, Jasmine Greenaway. Take it away, Jasmine.

JASMINE:Hello. I am Jasmine. I’m super happy to be here. I am based in New York City in nice, beautiful Brooklyn where the lattes and kale is abundant — and the kombucha, can’t forget that kombucha — and I’m a Cloud Developer Advocate at Microsoft.

SAM:And our guest today is Keith Bennett. Keith is a long time software developer who started his software development career writing an in-house accounting package for a construction company on an Apple II in Applesoft BASIC. That takes me back. He’s worked with several languages since and has been working mostly with Ruby for the last few years. He’s lived on four continents and now spends most of his time split between Chiang Mai, Thailand and Reston, Virginia, a suburb of Washington DC. His other interests include karaoke, current events, foreign languages, massage, technical community and becoming a better human being. You can find him on Twitter, GitHub and LinkedIn as KeithRBennett — two N’s, two T’s. Welcome to the show, Keith.

KEITH:Thank you. I’m glad to be here.

JESSICA:Keith, we often like to start the show by asking you for your origin story. What is your superpower and how did you get it?

KEITH:If I could think of one superpower that I have and I don’t know that I have any but one thing that I did think when I thought about this question was I’m pretty good at explaining things to people and understanding what they mean. Sometimes, I’ll be in a conversation and I’ll notice that the two people talking are just not understanding each other at all and I’ll step in and say, “Did you mean blah-blah-blah?” and just expressing that in a different way, seemed to enlighten the group and help people understand each other better.

ASTRID:Keith, this is a trait that you’ve always had or is this something that you actually worked on over time and got good at?

KEITH:I’m not sure. I think it improved over the years. I’m a pretty introspective person and trying to understand my thoughts, my actions and their effect on other people and that includes the other direction — thinking about the thoughts and actions of others and how they affect me. I guess just focusing on that helps.

SAM:You seemed to be in some doubt and in my book, that definitely qualifies as a superpower.

KEITH:Thank you, Sam.

SAM:I find, sometimes just being able to notice when two people are using the same word to mean two different things, just noticing and identifying that one thing can make a huge difference in their conversation.

KEITH:Absolutely. A shared vocabulary is so important.

JESSICA:Yeah and when you think you share a vocabulary and you don’t is the worst. It’s like the word ‘persistence’ in functional versus OO development or property. We use this totally differently and it confuses the snot out of people.

KEITH:Yeah.

ASTRID:There’s a lot of stuff in your bio. I would love to hear more about your origin story and how all those little pieces came in.

KEITH:I grew up in New York City, graduated high school when I was 16, went to college for a year, got bored, went to Europe, drove around in a motorcycle for six months, lived in Sweden above the Arctic Circle for free, couldn’t find a job so I studied the Swedish language so I speak a little bit, joined a very unconventional religious group for nine years of my early adulthood, left it, live in the Central African Republic for three months of that time, got married, had a child, studied accounting in school. As I was working as a bookkeeper and accountant, I started getting interested in computers because we got a computer at our office that was a turnkey hardware and software combined system for client accounting.

I found that there were a couple of basic manuals in the drawer that I could actually get to do things that it wasn’t already programmed to do and it was really exciting because as a bookkeeper/accountant, you have a calculator and the only thing that you really have to work with is a single register. There’s no instructions they can give. You can just store one value. To have this incredible machine that had so many possible storage areas and an infinitely flexible behavior was super exciting to me.

Although I continued to study accounting part time at night so that I could just have a degree, I realized that I was way more interested and enthusiastic about software development than I was about in accounting so I never became an accountant. I had the help of a mentor/friend who helped me learn C language in the beginning but after that, it was totally self-taught. I didn’t have any formal education in computer science or programming, which in a way is unfortunate but in other way is not because I have a feeling I would have lost interest if I had. I got a D in my first computer course. It was about mainframes and it really wasn’t a very interesting course and it wasn’t like it is now, anyway.

SAM:Yeah, the nice thing about when you started is that you came in at a time when it was possible to understand everything about the machine you were working on.

KEITH:Yeah, almost. I downloaded the assembly language but didn’t get too far but it was certainly a much more limited scope than it is now. Much, much more, I agree. I lived in the Washington DC area shortly after I started my career so some of my jobs were in governments, some were in commercials. Most of them were in places that were kind of rigid. It’s totally different from the startup culture today and the more flexible culture of today. To be honest, there are a lot of jobs that I had where I felt like I was just one cog in a huge machine and had a very narrow responsibility.

I didn’t really learn that much. I wasn’t really happy and in addition, I had some really good managers and I had some really bad managers and over the years, I just realized how incredibly connected my human experience was to my happiness in the workplace. How important it was to have people that were understanding and flexible and inquisitive and energetic? I started to see more and more how things were so much an issue of human interaction and not so much about technical things so I decided to think about that more and talk about that more and that’s when I started writing about it. I am very interested in how we can improve the human condition and I want to try to do my part to help.

JASMINE:That’s wonderful. Keith, I noticed something you said in the beginning about your origin story. You said you live in the Arctic Circle for a bit. Can you talk a little bit about that? That’s really fascinating.

KEITH:I was 18. I went to Europe. I bought a motorcycle. I started riding and I got tired of industrial cities and I asked people, “Where should I go?” It’s different from where I’ve been. One person said, “Go up to Lapland,” and I say, “Where’s Lapland?” Oh, it’s the northern part of Sweden and Finland and Norway. I looked into it and I took a ferry from Denmark to Finland and rode up the way to Finland, cross the border and arrived in the town called [inaudible], which is above the Arctic Circle. I was greeted at a gas station by another motorcyclist who started talking to me and he said, “Do you want to meet my club?” I said, “Sure.”

I followed him out of town and it was about six kilometers and I was wondering where am I going? Is it going to be a motorcycle gang? Is my life in danger and everything? We ride up into this club and there’s like seven to eight bikes out there and they were the nicest people. I decided to stay in that town where I stayed for about three months. They let me sleep in their motorcycle club house. I didn’t have a place to stay. One of them, his father was a parliament member and he took me under his wing and introduced me to people there.

It was really a very interesting experience, [inaudible] without any skills at all. Although I wanted to find work, I couldn’t so I spent all day just studying Swedish. This friend, Johnny has a sister helped to teach me Swedish and I continue to study a bit after I returned home. It was August when I arrived and by November, it was already about 30 degrees below zero. The Northern Lights were gorgeous but it was too cold for me and it was too cold to ride a motorbike.

JASMINE:Was that in Fahrenheit or in Celsius?

KEITH:I think they kind of converged at about that value.

SAM:If Celsius, it’s -44, I believe. Any time you’re in the negatives on either scale, I’m like, “We’re done.”

JASMINE:Yes.

KEITH:And that’s why I live in Thailand during the winter whenever I can.

JESSICA:I was wondering what the balance was for Thailand.

KEITH:Yeah, it’s partly a climate thing but it’s also I’m tired of the stressful life in America. There’s so much conflict here and so much stress. I just want to go somewhere else and relax. I stay in Chiang Mai a lot of the time. It’s a wonderful place.

JESSICA:Why come back?

KEITH:Because I have a daughter and I want to stay connected with her. She’s grown up. There’s that and also, I found that I really enjoy coming home and reconnecting with friends. I just went to bootcamp last weekend and that was an amazing experience and one that I hope to repeat every year. There are things to appreciate about being an American too. I love this country and I love other countries as well.

JESSICA:Keith, I think you said the word conflict. You said the one reason you go to Thailand is because there’s less conflict there. I believe you do some work to reduce the conflict that we have here.

KEITH:I try to butt in whenever I can and whenever I think I can be helpful. It was in conference so I just proposed the subject conflict resolution. I got up in front of everybody and I said, “I want to talk about conflict resolution. I don’t really have any solutions but I want to hear yours.” We got a group of really good people who shared some interesting experiences and got some good ideas from that.

JESSICA:What are some of the suggestions you’ve got? What did you learn?

KEITH:One of them, which I echoed was to read the book ‘Difficult Conversations.’ I found that kind of slow and difficult to read at times but it has some incredible ideas about understanding the other person’s point of view and resolving the situation. One of them was by, rather than assuming that a problem is due to one person or the other being totally at a fault, understand that usually, it’s more nuanced than that and each party has some responsibility in the problem. I gave an example of a time when that happened to friend of mine.

Another thing was to listen first. We always want to be right and provide a solution and be the hero and everything but a lot of times, we just need to listen and understand what the other person is saying. Sometimes, they just need to feel listened to so we have to suppress ourselves and our, “It’s not about me. It’s about you. It’s about everyone.”

JESSICA:I like that phrase — it’s not about me. I use that a lot when there is any conflict and I start to feel defensive at almost everything, another person says or how they react to me is about their situation, much more than it is about me.

JASMINE:Keith, I have a question. How do you feel about mediators? I asked that because mediator’s purpose is to be the neutral party between two numbers of people who are trying to work something out. I’m curious, do you think mediation is ever harmful or like the ways it can be harmful and helpful?

KEITH:First of all, let me say that I do not at all consider myself a scholar or an expert on conflict resolution but I’ll be happy to share my personal opinion. I think mediation is extremely helpful as long as both or all parties are open to it. If they’re not, then it’s kind of a waste of time, I think. But if so, mediators are skilled at understanding one person’s point of view and sometimes expressing it in a way that is understandable to the other and also in initiating or suggesting a compromise, which may not have thought about otherwise.

JASMINE:How do you feel when mediators are trying to stay in that narrow road in that middle lane and one party is mentioning they feel offended by that, that this mediator is saying, “I’m trying to stay neutral into this,” and the other person or party might say, “That’s wrong. Why are you not taking a side?” Maybe it’s a moral thing or maybe it’s a big priority to one person but might not be to the other. How do you feel about that? What are your credence on that?

KEITH:I’ve had personal experiences in mediation where this happened to me and it’s extremely frustrating. I don’t know the answer. I guess we just have to think of the two sub-optimal paths, which one is the better one and hope that when it all resolves out in the net, that it’s better.

JASMINE:Yeah, I know. I’m sorry for asking you such a hard question. That’s a question I’ve been actually thinking about for a while now.

KEITH:It would be really interesting to get mediators on the show and talk about their experiences in mediating people. That would be wonderful.

JASMINE:Oh, yeah.

SAM:Keith, do you have a framework for conflict resolution that you use or you just go in there and wing it according to what seems right at the moment? How do you approach this?

KEITH:You know, I’m not really a scholar or anything about this. I haven’t read a ton of books or anything. I do just kind of wing it. Sometimes, you have to make a decision not to enter the situation at all, if there’s a threat of physical danger for example. I think about the two men who lost their lives helping the two Muslim girls in Portland and they’re my heroes. There are not too many of us that are willing to risk our lives to do the right thing. It’s a personal decision.

Sometimes the question is ‘if’ and not ‘how.’ As far as how, I just try to do the right thing. Sometimes [inaudible] and sometimes I don’t. The other day, I wanted to go to a co-working place. I went to a great place I’d like to go to in Chantilly, Virginia but it was all full so I had to go somewhere else. I drove to about 10 minutes to another coffee shop, got in there and all of the tables were filled except one. That table was between myself and a man two tables down from me. He had his backpack on the bench just almost where that middle person would have been sitting. I got really angry. I thought this guy should know better and I thought about, “Well, what am I going to do here? I’m going to say something or not?” If I say something, is my anger going to show and will it be counterproductive or will it have a happy ending when the person says, “Oh, yeah. I’m sorry. You’re right.”

Eventually, I decided to say something about it and I said, “Excuse me. Is that your bag?” and he said, “Yeah.” I said, “Would you mind moving it to the chair across from you so that if somebody is coming here, they don’t think that the table is taken.” He got very angry —

SAM:Really?

KEITH:— And he started being sarcastic and nasty. I tried to dive under my emotions and say the ‘calm’ thing in response to him. There were some interchanges and eventually, I just decided that I’ve done all that I can do here without escalating it to an unacceptable level so I’m going to stop now and he left the bag there.

There are a lot of obstacles to initiating an action like that. One of them is the possibility that you’ll fail anyway and another is that you’ll be verbally abused or at least disrespected. Another is that you’d be physically abused and there are others as well. Sometimes, we’re just shy to do something which other people don’t already do. We don’t want to be different. I’ve decided that I don’t mind being different and if there’s something I can do to help people around me and it’s not going to hurt me to do it, I’m going to try to do it even if it’s weird or embarrassing or whatever because we only have one life on this Earth, why not spend it trying to help each other. When we help each other, we’re helping ourselves. It’s kind of a cliché but it’s really true that when I help somebody, I feel really good and I enjoy it.

When I wrote this blog article about radical helpfulness and another term for that could be radical kindness, there is so much conflict now these days in our country and all over, really. I feel like a lot of it is because we’ve become so distant from each other. We hang around in our own virtual and ideological worlds. The one thing that we can do is perform acts of kindness totally agnostics to our beliefs. I saw a great news article many months ago. There was a pro- and anti-Trump demonstration and one of the anti-Trump demonstrator is an adult. I forget exactly what he did but I think he said something really nasty to a young boy, maybe eight years old and the boy started crying.

One of the anti-Trump demonstrators, a woman went up to the boy and comforted him. I thought, what a beautiful story. This is what we should be doing more. This is what we should be talking about. If we can make those connections, then maybe we have a shot at reducing the amount of violence, negativity, hate, conflict, selfishness that plagues our society, that plagues humanity. Now more than ever, we don’t have time to be bickering. Human race has existential problems that we need to be addressing. We need a thousand Manhattan Projects on how to deal with climate change. There are so many things, so many problems that we have. We don’t have time to be messing around this little stuff. We have to start thinking about our future — future of our children. It’s really important.

SAM:Something you said early on in there really strikes a chord with me about just being willing to take that first step and that puts me in mind of a psychology study, which you can find by Googling ‘psychology’ and ‘the smoke-filled room.’ This is an experiment where they had people come in and the experimental subject was asked to fill out a questionnaire. There were some number of confederates in the room as well, who were also pretending to fill out a questionnaire.

The real experiment was they started piping smoke into the room through other room’s vents. The experiment was to see what the person would do. What they found was that a lot of the people in this experiment would sit there and they would see the smoke and then they would look around to see what everybody else was doing and the confederates were instructed to stay calm and just keep filling out their surveys. People would take a remarkably long time to actually respond to the smoke, to the extent that if there had been an actual fire, they probably would have been dead. That really speaks to me about what you were saying about the willingness to just take that first step. That can be, as you say radical.

KEITH:Absolutely and I find that a very good antidote for that is karaoke. It sounds ridiculous but actually it’s really true because when I first started doing karaoke about 20 years ago, I felt very shy, I didn’t feel comfortable doing something that’s going outside of myself. We really have to overcome our shyness in that respect because it’s really a fear. It’s really an insecurity like how could I do something that other people are doing and it’s inappropriate and it’s not constructive.

ASTRID:Keith, to go back to what you said about how you had to decide that you’re okay with being different, I think that that decision is something that’s hard for a lot of people. Many people even consider that that might be something that they need to think about because what you’re talking about with making certain decisions and choosing to say something or not say something, also means that you have to have some sort of self-awareness. It seems like to one of the earlier points that we spend so much time in our virtual worlds that we don’t really spend that much time thinking about who we are or what we want, what kind of impression we want to make on others. Do you have any advice for how somebody who maybe notices that they would like to feel a little more intentional before it could get started?

KEITH:You mean besides the karaoke?

ASTRID:Besides karaoke.

KEITH:I think it’s just practice. A few years ago, I had a fear of flying. Whenever I would be in a plane and I heard some noises or I feel some vibration, I would be frightened and I would think, “What does this mean? What going on?” I read a book called ‘Triumph Over Fear.’ It was a great book and eventually, I resolved my fear of flying by taking a couple of flying lessons and feeling what it was like to dive and to feel 2 gees and that kind of thing and understanding that the sensation I was feeling on the plane were nothing compared with what would happen if there were a serious problem.

But the reason I’m mentioning this is that the approach that she use in the book, Triumph Over Fear was that she would take people of very gradually through their phobias. I don’t think it’ll be too inappropriate to call it a phobia when somebody is afraid to reach out. I believe, it was long time ago that I read the book but I believe the example was of a lady who was afraid of high floors and tall buildings. She brought the woman to a building and she said, “How far can you go before you start feeling uncomfortable?” She said, “Oh, maybe 10 feet in front of the elevator.” She said, “Okay, let’s walk 10 feet from the elevator,” and then she said, “You think you could take one more step?” She took one more step, then maybe that was it for the day and they went home. They kept on doing this. After a few sessions, she was already on the 10th floor.

My point in saying this is that we can hack ourselves, we can change ourselves and the way to change ourselves a lot, I believe is to change ourselves a little many times. We can ask ourselves in a situation, “How far am I willing to go before I start feeling uncomfortable?” and then ask yourself, “What can I do in addition to that? How much further can I go in addition to that without feeling super-uncomfortable?” and doing that. Once we start exercising that muscle more and more, we can make more progress than we would otherwise. A lot of times we cripple ourselves by just thinking about where it is you want to go and we look at how far that is and we think, “Oh, man. I’m never going to get there so I’m going to try,” and that’s unfortunate.

JASMINE:I can so identify with you on the fear flying. My strategy was very similar as yours. I did not learn how to fly but I read a bunch of books on flying. I read a blog post about this pilot who basically has his blog about folks who are afraid of flying and he goes through the whole entire process. He’s like, “When you take off, you’re going to hear the landing gear drop. It might sound a little funny. It sounds funny from plane to plane. Every plane sounds different but these are the normal things or the things that you’re probably going to hear,” because that was a big thing for me. It’s just the sounds. For me, working through that and trying to face those things, I kind of read about it and be like, “Okay, I can do this. I can do this,” and I also started very, very small, very few short trips and then worked my way up. That definitely resonates with me. It’s little by little.

KEITH:That’s great.

JESSICA:Keith, the discussion about fear of being different reminds me of a conversation we had in this podcast with Eugenia Cheng, where she defined the words congressive and ingressive, where congressive is behavior and needs that are about helping everyone — we want to be part of the group and advance the group. Ingressive is it’s about me — I want to advance myself. As humans, we naturally have a lot of congressive urges and we get rewards from things that help everyone. I think this whole part of not wanting to be different from the group is part of our congressiveness.

Personally, I use that word congressive inhibition, which I made up, which is that impulse that holds us back from standing out or doing something that might annoy other people. That fear of being different in some ways is part of us wanting to do things to help everyone but it can hold us back too much.

KEITH:Yeah, a lot of it is just trying to make and form judgment about where that line is.

JESSICA:Yeah, you’re right. It’s about learning that because that part where you don’t want to stand out, that is part of you wanting to help the world. That’s not something bad about you but there’s a balance where you can help a little more by being different in some situations.

KEITH:I agree. That question about, “Is this going to be annoying or helpful?” is an important one but I think only for a subset of behaviors because there are some behaviors that are indisputably beneficial and there is no really gray area. I have mentioned in an article about one time when I was at a hotel in Toronto and there was a fire alarm and we were all told to leave the building. We were out there for 20 minutes and I saw this family who had apparently been swimming and they were freezing. I just walked up to one of the hotel staff and I said, “That family over there, they look really cold. Could somebody get them some towels or something?” so he did and in that case, there really wasn’t any kind of downside to acting but I’ve had to condition myself to do that, to be the one to go up and say something.

Just a couple of days ago, I was at my gym and they were playing on the TV a political commentary show, which was not really news, it was commentary. It was about Donald Trump and I won’t even mention which side it was on. It was actually on the side that I support and I said to the man there, “I think a lot of people would feel bad seeing this on TV. Can we put it on something more neutral?” He said, “Nobody’s ever complained about it before and I get that a lot because I am more vocal than anybody I know.” What I should have said was, “Someone just did.”

JESSICA:Yeah, there’s often that unspoken thought that everyone has and no one wants to be the one to say because you do you risk that rejection, right?

KEITH:Yes.

JESSICA:I asked myself, “What’s the worst that can happen?” and really, usually the worst that can happen is somebody says, “No, don’t do that,” and then I say, “Okay.”

KEITH:I was at a seminar on Kanban and had lunch. It took about 15 or 20 minutes for everybody to get fed. Later, the leader of the session said, “I noticed that at lunch time, it took a very long time for people to be fed. The table was up against the wall so there was only one line of people that could have gotten through. If you have moved the table a few feet over, you would have had two lines and it would have taken half the time.” I thought to myself, that’s really true. If I had thought of that, would I have said anything or if I would’ve said anything, why would I have not said anything? There are so many reasons —

JESSICA:Yeah, there are a lot of reasons and those reasons are usually like, “Maybe, there’s a reason that the tables up against the wall.” There’s a lot of reasons for things that we can’t just see but what’s the cost of