Join Mat Ryer for a fun conversation with Kris Brandow, Angelica Hill, and Natalie Pistunovich about how these Gophers get work/life done in this crazy world! Expect to learn about work environment must-haves, communication tips & tricks, developer tool recommendations, and much more!
DigitalOcean – DigitalOcean’s developer cloud makes it simple to launch in the cloud and scale up as you grow. They have an intuitive control panel, predictable pricing, team accounts, worldwide availability with a 99.99% uptime SLA, and 24/7/365 world-class support to back that up. Get your $100 credit at do.co/changelog.
Command Line Heroes - Season 6 – Command Line Heroes is a podcast that tells the epic true tales of developers, programmers, hackers, geeks, and open source rebels who are revolutionizing the technology landscape. Season 6 of Command Line Heroes is out right now and features stories of Black technologists who innovated and invented despite racism, unfair hiring practices, and unequal education opportunities. Listen, learn more, and subscribe.
Equinix – Equinix Metal is built from the ground up to empower developers with low-latency, high performance infrastructure anywhere. Get $500 in free credit to play with plus a rad t-shirt at info.equinixmetal.com/changelog
LaunchDarkly – Power experimentation at any scale. Fast and reliable feature management for the modern enterprise.
Click here to listen along while you enjoy the transcript. 🎧
Hello, and welcome to a very special and installment of Go Time, the GopherCon Mash-up. I’m May Ryer, and welcome to everyone listening live at GopherCon, and also to people listening in the podcast in the future. Very nice for you to travel through time in that way for us.
Today we’re talking about the secret life of gophers. We’ve collected three disparate gophers from about the globe, or from across the flat Earth, if – you know, I just wanna make sure we’re inclusive… [laughter] And they’re gonna tell us their stories and shed a little bit of light on what it’s like to be them. So let’s meet them!
Well, Natalie Pistunovich, hello!
Hello, Mat Ryer!
Welcome to the show.
Thank you so much. It’s awesome to be here for the second time. Thank you very much for the invitation. You keep making a great host.
Thank you very much. We’ve only just started; you won’t probably be saying that later… Things tend to deteriorate in the second half. We’ll see. So you work at Aerospike, you’re a developer advocate there…
Cool. We’ll definitely be interested to learn more about that too later on. We’re also joined by Angelica Hill. Hello, Angelica!
Welcome to Go Time!
Thank you. I’m very, very happy to be here. First time, and very excited.
Good, you’re more than welcome. And you’re a product manager at the New York Times, right?
Yes, product manager at the New York Times. I manage emails, newsletters, and breaking news alerts. I work with wonderful developers!
Okay. We’ll like to hear more about those. And the New York Times is a newspaper, isn’t it? In New York.
Yeah, it’s just this very small publication. I know not very many people know about it… But you know, we’re really trying to build up that.
Yeah. Like a startup. Well, best of luck to you. We wish you all the best. [laughter]
Welcome to Go Time!
Thanks for having me back.
Well, it’s a pleasure. You are a senior software engineer at Wunderkind, is that right?
That is correct.
Is it Wunderkind or Vunderkind? I feel like it should be…
There’s a lot of debate about how to pronounce it in the company… I say Wunderkind, but…
…it’s whatever you want it to be.
Oh, nice. I like that. Well, let’s dig in. I mean, we’ve met you, I think; got the introductions out the way… I wanna ask, first of all, what’s the first thing you’re gonna do when you can travel again? When Covid’s over, what’s the first thing you do? What’s the first place you’re gonna go to? Kris, why don’t you kick us off?
I’m a little bit boring, I’m like an introvert, so I don’t travel much… But I definitely want to go back to a bar and just hang out on a Friday night with my friends and have a drink in a crowded bar. I never thought I’d wanna be in a crowded bar again, but like… I just wanna be around a bunch of people. So that’s what I would do.
So it’s changing you if you’re an introvert. That’s a real change.
What about you, Natalie? What’s the first thing you’re gonna do? Any ideas?
I’m probably gonna go to some Scandinavian country and hike for a week in a row. You know, in Sweden you’re allowed to put up a tent anywhere you want. You don’t have to go to a dedicated camping site.
Really? Well, not like a shop, or in a train, or something, right?
In any public area, I would say. Not in private territories.
Huh. I’d be doing that all over the–
But you can go hike, hike, hike, in the middle of the forest set up a tent. You don’t need to wait for the camping site. Just go on. Just soak in some nice nature.
Nice. Angelica, same question to you.
I mean, I just wanna go home. I’m on the first flight to London. I’m desperate to go home.
Yeah, I know. It’s been tough, for sure. Well, okay, so Go has lots of different fans, and it has people like it for lots of different reasons… So I’m interested, where did you first hear about go, when was that, and what was it about Go specifically that was attractive? Angelica, why don’t you kick us off? How did you first hear about Go?
So I first heard about Go about a year and a half ago… Long story short, I always loved computer science, loved technology, but never really took the time to dive into it. My background’s in Shakespeare; I went to drama school, and then I went and studied English literature, and then I went to Columbia Journalism School… So nothing to do with computer science whatsoever.
Do you think there was anything specific about Go that made it easy to learn or easy to pick up?
Honestly, I think it was just that I had a really good support system at the start. I was diving in self-teaching, but I had a group of people I found who loved Go, and really were willing to dedicate the time to help me understand the basics… And also explained them to me in a way that was very easy for my kind of then (I would say) non-technical brain to understand. A lot of analogies were used.
[00:08:06.17] Yes, that’s very helpful, isn’t it? Well, some languages are kind of packed with features, and one of the nice things about Go is because it is a bit of a minimalist language, it has a sort of simplicity to its design… I’ve heard people say that because of that, it does actually make it quite easy to pick up and learn… And I think that’s something – you know, some other languages have very powerful things they can do, but of course, there’s more concepts to learn, like object-oriented programming, for example. You can kind of skip over that in Go, and you don’t really miss it, either.
So that’s interesting… So you don’t have a computer science background; you learned because of just curiosity.
Yeah, exactly. And I honestly would say there is no language that I don’t think I now can’t learn; I think it was just Go that got me over the hurdle of saying “No, I’m not technical”, but now I feel very strongly that anyone can learn Go, or any software engineering language. They just need to kind of like de-spoof the idea of “I’m not technical/I’m technical.” That’s not a thing. Everyone is technical. Everyone can do it.
Right. Well, that’s very encouraging to hear. Okay, so Natalie, what about you? I know you’ve been in and around Go for a while. I’ve seen you at conferences, doing talks… You did a workshop this time… We’ve even worked together in the past… So where did you first hear about Go?
I first heard about Go when I moved to Berlin. Before that, I was thinking I will work in NVIDIA and do really cool, massive, parallel things, and all the hardware, all the things together at the same time… And then I moved to Berlin, and Berlin is all about software, not about hardware. But luckily, the company where I started working - they were using Go before it was even 1.0.
Yeah. So in 2014, when I joined - this was like the second year of the company, I wanna say - they said “You’re welcome to work here, but you have to learn Go.” I said, “Alright, let’s do this!”
I got to do all the parallelism that I wanted still, so that was a nice turn of events. That’s how I got familiar with Go. But my background is in computer; I studied computer engineering… And even in high school, my major, or however you call that, was the same field.
Okay, cool. That’s interesting then… So this was out of necessity for a job. That’s unusual, that the team had started using Go before version one… But good for you, I guess.
Yes, it’s indeed not a very exciting way to start… But you know what is very exciting? Taking pictures and tweeting about this podcast and about the conference with the hashtag of GopherCon. [laughter]
Excellent. I just feel like we’ve had product placement there. Kris, do you wanna plug any products? [laughter]
So where did you first encounter Go, and what was it that attracted you to it?
I think I have a background quite similar to Angelica. Interestingly, my parents both were computer people…
Wow. Like robots. Like androids. [laughter] Not quite human.
Right. My dad does have a masters in computer engineering, specializing in robotics though, so… Close.
Wow. That’s a cool dad, ain’t it?
Yeah. But growing up, I wanted nothing to do with computers. I would build computers with my dad, but it was not a career I wanted to do. I wanted to be an author. I was like “I’m gonna be a writer, that’s what I’m gonna do.” At family events people would be like “What are you gonna do when you grow up? Are you gonna go into computers, like your parents?” I’d be like “No, no. I am going to be an author.” And that’s actually what I went to college for. I got a creative writing and broadcasting mass communications degree, and I was just like “Yeah, this is gonna be great. I’m gonna be a writer.” And then senior year rolled around, or really junior year, and there were all of these websites that needed to get built, so I was like “I can sort of do this…” And I started building websites. I was like “Oh, I like this.” So I kept doing it, and I learned this fun little content management system called Drupal.
[00:12:02.15] Basically, during one of those summers I looked at Go a little bit, but I was like “I don’t quite understand this, so I’m just gonna stick with Drupal, which I know”, which I did for a few more years… And then one night – I think it was actually on the night that I met Sam Boyer, who is one of my really close friends… We were just sitting in a bar, talking, and I was like “Man, there’s something I don’t like about the software I’m writing.” And he was like “Oh, I know what that is. That’s complexity. You don’t like complexity. You should look at Go. Go is really a simple language, and it’s elegant and it’s beautiful. You have to try it out.” So I did, and that was kind of the end of me writing Drupal professionally, and the beginning of my Go career. That was like 7+ years ago now. So it’s been a wild ride, but that was the introduction to it. Just like “Oh, you like simplicity. Go write this language.”
That’s great. I love the idea of the – because most kids rebel from their parents, in some way… The fact that your parents were in computers - it’s kind of funny that you rebel against using tech. My nephews - that would never happen. They are not gonna rebel that way. But that was really interesting to hear that.
So you mentioned you wanted to be an author when you grow up… What do you want to be when you grow up now?
Still an author… I mean, I also see myself as an author. I have this opinion about software engineering that I’ve been kind of circling around with my friends, that software engineering is a writing discipline, as well as an engineering discipline. The thing that we all do every day is write. It’s source code, it looks a little bit different, but it’s still the same sort of thing, and I use a lot of the same skills I learned in college [unintelligible 00:13:38.10] to write good software.
So yeah, I still wanna be an author when I grow up… Just not writing novels or screenplays.
Yeah, that’s really interesting then. So tell me a bit more about that… Have you got an example of something - a principle or a technique that you can apply, that applies both to prose writing or code?
Yeah, I think a lot of my GopherCon talk from last year talked about this too, about how similar the publishing industry is to the software engineering industry… But a good, concrete example - I think the way that we do code reviews is very similar to the way that copy editing works; the things that you do as you’re copy editing are very similar to things that you do as you’re code reviewing, just for a slightly different domain.
It’s a good point, actually. I think people should probably use GitHub if they’re writing, because you can have pull requests and stuff… And see the changes, and the history, and things. It’d be quite nice to do a pull request to Harry Potter and change it so that Voldemort could win…
Or to the last season of Game of Thrones.
Oh my gosh, yes…
Yeah, redo that. Rewrite it. [laughter] Just do a pull request and delete it.
The whole thing. [laughter]
Yeah… That’d be great. Okay, so has that changed for you, Natalie? Were you always kind of gonna be doing computers, or did you ever want it to be something different?
I wanted to be an astronaut.
But very early on – I got my glasses when I was in the sixth grade, so that was kind of a deal-breaker…
Well, you can’t be in space, at least these days, but I’m sure that a couple of generations into the future it will not be a big deal. Just like flying planes. And what I really want to be now is a person with enough free time to nerd about space without having to do really committing things like bootcamps, or whatever astronauts (physical training and so on) have to go through. You know, just enjoy the space without the heavy commitment.
You’ve got to go in that thing that spins you around dead fast first, I know that…
But astronauts aren’t looking at things, are they? They’re just in space; they don’t actually drive in it… So I feel like you shouldn’t need glasses, but… We’ll bring that up with NASA.
Yeah. So would you go to space? Because there’s some commercial–
Yeah, you would.
If only I can afford this, I will absolutely do this. Now I’m watching The Expanse and that’s as close as I feel to space. There’s that show about Mars… There’s some space content out there until I can wait it out and go to space.
I’d probably go, but not on the first couple of flights, you know what I mean? Just let them… “Just go. I’ll wait a bit, yeah.”
So there’s something that’s interesting… Angelica, you’re a product manager, and a lot of us programmers interact with product managers in some way, usually, in a team… And sometimes there’s a – let’s call it a healthy tension between them… Tell me, do you hate your devs?
I love my devs far too much. I am so mushy with my team. I think I tell at least one member that I love them every day. I am a very loving product manager.
But I would agree, there’s definitely a dichotomy there around having a kind of product mentality to the work we’re doing, versus being ahead of the game, kind of a software engineering mentality. So I would say I have learned more and more as I go through and work more closely with my team, with other teams. The way that I see our product is very different to the way that my engineers see our product… And that’s great, that’s wonderful. It means that while we’re having product discussions we can have all those various different viewpoints… But it has meant that as I got more technical, as I dived into Go more specifically, because that’s our backend language we use, I have had to make the kind of conscious decision “Okay, now we’re gonna have an engineering discussion where I’m gonna have my engineering hat on… Okay, now I need to switch to my product hat and actually talk about business value, OKRs etc.”
And also, I think just personally – I was joking before we went live on the fact that I’ve kind of been a Gopher on the down-low, very kind of secretive about how much I love Go, just because it results in the inevitable question that I get from my manager, and have got from my manager multiple times now, of like “Oh, Angelica, you seem to really like this Go stuff. Are you sure you don’t wanna be a software engineer?”
So I would say there’s definitely a tension… I can speak for only myself when I say I love all of my team… But whether they love me, and the fact that I am constantly switching between these two hats, I don’t know.
Yeah, that’s really interesting… Because often you work with people and the perspective is so different… And of course, you don’t expect product managers to understand all the technical things that are happening, but usually, you can end up in a situation where feature requests or new features and things are kind of written out, sometimes described a bit too well, and they just don’t fit in the tech anywhere… So you having a knowledge of Go - does that help you see those things early? Does it help in other ways, too?
Yeah, so I would say it works in two core ways. One is that I can actually engage in one of these great conversations my engineers are having; I can understand the issues, their complexity, and how big of an issue they are… For example, if we don’t have an effective staging environment, if we don’t have great unit test coverage - things that if I didn’t know anything about software engineering… If an engineer came to me and said “Oh no, Angelica, we need to dedicate a month to writing unit tests”, I’d be like “Okay, why is that important? We need to build this new feature.”
So I would say it enables me to understand what is more important in terms of tech debt etc. But it also means that when I go to leadership on the product side and they say “Why are you spending two months working on tech debt?”, I have that language, I have that ability to really validate it to him and be like “No, this is why it’s important. This is why we need to do this stuff. So I think it works well because of that.
[00:19:58.08] And also honestly, for me, it means that if there are small engineering tasks - which is what I’m aiming to get to - that aren’t challenging to my engineers, aren’t new problems that they can dive into, aren’t things that are really helping them with that growth, I want to get to a place where I can just pick up that ticket and do it. Because it’s exciting to me. I’m learning, I’m very new… Why should they have to do these menial tasks, when I can very much do them and they can do the more interesting work?
Yeah. Well, I think that’s great, honestly… To me, it can only be a benefit to the team, having that knowledge, frankly… I’m sure some people don’t see it that way. They see it like, you know, you have to have that distance, because you wanna be able to make all these unreasonable demands on their developers, don’t you?
Yeah, I would say there are certainly people - on both sides, both engineering and product - who feel like in order to be truly great at the product discipline you need to really be all-in, all the time, absolutely be empathetic to all the other disciplines, like design, UX etc. that you’re working with… But if you get too invested, then you’re not gonna be able to have that kind of unbiased, overarching mentality to prioritize what the team is gonna work on… Because I’m just gonna be like “I love my engineers”, and whatever they wanna work on, I wanna help them work on that.
That’s a bit of a dream sometimes, because… Yeah, we’ve all had varying successes with product managers in the past. It is a very diplomatic way of, again, saying how much we don’t like each other.
[laughs] Well, maybe I can be the first one that you like.
Well, we’ll have to see…
But don’t hold your breath.
Natalie, you’re doing dev rel stuff… So what’s that like? Are you just part of the engineering team, or do you have other focuses as well, similar to being a product manager?
It’s interesting as a question for me, because I think different companies do this in a different way… And I joined Aerospike as the first lead developer advocate… So I get to figure out how things should be. They trust me a lot to bring in recommendations. So the person I’m reporting to is the CTO… There is an entire engineering team in parallel to me, so you know, no big deal… Me and sometimes with awesome engineers, reporting to the same person eventually.
[00:24:09.01] I do work a lot with product, I do work a lot with marketing, and I do kind of try to balance everything altogether. It includes things like building a developer hub. You want a place that developers, once they actually heard of Aerospike, because it seems to be a database that if you know it, you like it and you use it, but if you don’t know it, you’re like “What is this? Is it aerospace?” That’s not the reason I went to work there… [laughter]
Do they make you go in a big spinning centrifugal machine to work there, or no?
The office is built like a spaceship… No, it’s not. I wish it would be.
It should be. It’s a good idea.
That could be your next initiative.
Yes… But they do bring to me a lot of questions, like “You are a developer. How would you like to get to know – if you land on this page and you hear about this for the first time, how would you like your journey to be?” So in this sense, it’s somewhere between user experience and product, but then in other things, like “Go and make a cool project now”, it’s like “Okay!” And then back to the engineering hat. It’s a lot of everything.
That’s cool. I mean, the developer experience I think is way more important than historically people have given it credit for, in my experience… As a developer - yes, we’re technical, but that doesn’t mean everything can just be complicated, and ugly… So yeah, I really do appreciate people on teams that have that eye and care about that developer experience.
You also do a lot of community organizing, and things… For example, do you not – I know you do… You do the GopherCon EU, don’t you?
GopherCon Europe. We’re inclusive even to European non-EU country members.
Oh, that’s good, yeah. I didn’t know if I was gonna be allowed or not next time… [laughter]
Yes, yes. GopherCon… Yeah.
I was gonna say, how did you get into doing that stuff? The community side. And why do you do it?
Why do I do this? Because it sparks joy. For a while I said “Because I like this”, but then a better answer came up; it’s more than just enjoying it. It actually is fun to do all this. And how it started - you can go back quite a lot. I am doing the Go User Group in Berlin; before that, I was doing in university all the student union, and so on… I think this is something that just goes on with me wherever I go - organizing things for whatever the community of the place is. And it’s nice to have discovered that this exists also in the world of engineering, so it doesn’t leave you once you’re out of university…
And the jump from organizing a user group to organizing a conference is big, but the organizing team of GopherCon (especially Heather) are super-awesome, and really great, and supportive, and helping a lot with thinking about things, and sharing from their experience… And you make a lot of mistakes, and that’s okay. [laughs]
So is there anything as a community organizer - is there any sort of advice you wanna give to people that are attending events? Are there any things you wish everyone just knew and just did?
Ask a lot of questions. As a speaker, as an organizer, whatever the position I’m in on the other side, if you will, having people engage with you and showing that they want to know more, or they’re curious about what you do is really great. And sometimes it’s a lot of information, sometimes the talk is not very clear, or too high-level, too low-level for whatever you are, but you can always find something to ask… And that really warms the heart when people do that, so please ask questions.
[00:28:06.11] That’s nice advice. How do you ensure that you’re gonna get good quality when you put the program together? What sort of techniques do you use to make sure – I’m asking this because look at this conference, GopherCon, and look at GopherCon EU… The quality of the talks are kind of astonishingly good… So how do you do that? How do you keep that quality there?
Thanks for the compliment to GopherCon Europe; I absolutely agree that the talks in GopherCon here, in this GopherCon, are great. I think the secret is the same everywhere - just have a good reach of your call for papers, to make sure that you get a lot of good and mixed submissions, and that your review committee is also mixed and diverse enough, and has a good, wider image when they build the talks.
I would say the reach might be even harder than actually the picking… Even though picking is a really hard job, and having been in some review committees for not just Go conferences, it’s really hard to review, and it’s even harder to pick what’s really good… But reaching out to those people who would otherwise never hear about you when you just use your regular channels - this is the bigger challenge. Because there’s awesome speakers, awesome projects out there, and it’s very easy to miss them if they’re outside of your network.
Yeah. I think if people can reach those people as well – if you know somebody that isn’t part of these communities, welcoming them in I think is great. And I do think Go does a good job with that.
Kris, you’re talking at GopherCon… What’s your talk about?
I mean, my talk just happened, but…
…it is about diversity and inclusion, and how we can build better Go community by building a more diverse and more inclusive community.
Okay, so I find this subject to be really quite interesting. I know that GopherCon in particular - remember the first GopherCon - had a kind of focus from the beginning on making sure that people that were otherwise not represented had a place at the conference… Have you found Go to be doing a good job with this, and is there more we can do?
Yeah, I think in general the Go community, especially when you compare it to other software engineering communities, is pretty good at this. We have good amounts of diversity, or decent amounts of diversity, and we’re a very inclusive community, I find… There haven’t been many times when I’ve been in discussions with people where I felt like “Oh, I don’t feel like I belong here. I don’t feel like I can be a part of this conversation.” So I think that’s really good, and a really positive aspect of the Go community… And I think really the way that we get to having a more diverse community is by doing more of that stuff.
I feel like when people first start thinking about diversity and inclusion, it’s always like really big things, like “Oh, we should start a program at some school to get more kids to learn software engineering, so in ten years they can become Go engineers.” Or we could just watch the way that we interact with each other and speak with each other, and try to be just a little bit more inclusive. So I think that’s really what tends to be helpful. I think contrary to a lot of popular opinion, there are a lot of people of different backgrounds spread throughout software engineering as a whole, but I think over time people just stop wanting to participate in communities, because it can be extremely exhausting. It can be extremely exhausting to participate in this industry as a whole when it comes to work… So if you’re getting exhausted at work by not feeling included, and by people disrespecting you or sliding you in small ways, you’re just not gonna have the energy to go out into the community and deal with the same stuff.
So as a community, we kind of have to compensate for the sad state of software engineering companies right now, and what their cultures are… And I think if we focus on that and focus on “How can we undo some of that uninclusive harm that people are feeling, that’s how we grow our community.”
[00:32:09.26] Yeah, that is really interesting. One of the pushbacks – and I’ve had this myself, because when I do a talk, I tend to call out how Go has a focus on this and it’s important… And occasionally, I will get people who challenge it. And usually, it’s this idea that if everything’s meant to be equal, then we shouldn’t be talking about this at all.
For me it’s about that thing, as you pointed out - you sort of inherit, we inherit these biases, just from the societies that we’re in. So it does seem that active action is needed to balance that out. Otherwise, it’s like object-oriented programming. You just get it from the base class. Terrible–
And I also feel like there’s a lot of nuance that comes with the words that we use to describe diversity, equity, inclusion, equality… And we haven’t gotten the right words for it yet, I don’t think. I think it’s easy when you say “Equality”, people are just like “Yeah, that’s the thing.” And then people try to dig into it and find ways to undermine what you’re saying, when that’s not what you mean…
I think there’s that really popular image where there’s equality, and then equity, and it has a fence, and three different people… And the taller person can see over the fence and the shorter person can’t; and equality has the boxes all laid out, and it’s not helping the shorter person… And then equity is the one with the boxes where the shorter person can now see, because they’re getting more boxes… I’ve always hated that image, and I didn’t know why until I’ve read an article that was basically like “Even in this image we have problems”, because what we’re saying is that “Yeah, we shouldn’t have the fence at all”, but we’re also saying the people that have [unintelligible 00:33:55.07] literally shorter, which isn’t really the case. It’s that really the ground is kind of like unlevel, and everybody’s the same height. Or maybe the person that can’t see is even taller than everybody else, but because they’re so much further down the hill, they can’t see over the fence.
So what we need to do is more level the field than give people extra things to help them up. And I think that helps people start to understand what it is we’re really talking about. Because I think whenever you talk about giving things to a certain group, people always get defensive, and they’re like “Well, why does this group get it? Why can’t we just give everybody something?” or something like that. When you say “No, the foundation - that very thing that we’re all talking about, is extremely uneven”, then it’s less about “We’ve just gotta give something to people.” Then it’s much more understandable for people why we have to fix it.
I think you’ve improved that drawing. We should have that made, because that’s good. It’s better than my base class thing, especially – I mean, we’re at a conference that doesn’t have object-oriented programming; I don’t know what I was thinking.
Yeah. I did read that in an article, so I’ll try and dig that article up and post it in the Discord channel for people, or something…
Yeah, please. Yeah.
So what’s the benefit of having diversity within a team and within a community? Because that’s another thing… I’ve witnessed benefits to having more diversity, but what are they? Let’s talk about some of them. Again, I think some people think it’s just a kind of one-sided thing, but it benefits everyone, having more diversity.
Yeah. I haven’t dug up the studies in a while, but there’s a lot of study going back 30-40 years, of how even some more objective ways of measuring diversity enables you to solve problems easier… Because the more that you have similarities, the more that people get stuck on the same thing. So I think one of the biggest things about diversity, one of the base things about diversity is that it enables you to have different approaches to solving problems. And since most of our job - or literally all of our job - is solving problems, that means the more diversity we have on a team, the easier it will be for us to solve problems more effectively.
And that can be from debugging something, but it can also be from just catching bugs that could be catastrophic in production earlier on, all the way to things like making sure we don’t have accidental -isms. One of the most interesting things that I always find about modern day bathrooms in America is that there’s a lot of these sensors all over the place, and they don’t work really well for people that have darker skin, because a lot of the companies that built them just don’t think about people that have darker skin when they calibrate them… So sometimes it’s really hard for me to wash my hands, or get a paper towel, just because the companies themselves aren’t diverse enough and weren’t thinking “Oh, well, we have to augment this to a broader range of skin tones to make sure everybody can use it.”
So even those types of bugs we can really start solving if we just have one person that’s different from everyone else in a row.
I see what you mean about it being tiring, because… I mean, yeah, you just don’t need that. I’d be totally fine; I’m so pale that all the sensors would be going off when I walk in there, no problem. My problem with American bathrooms is all the gaps in all the doors. Like, make the doors join up, do you know what I mean?
Natalie, you also – there’s a big focus on diversity when you do your community organizing too, isn’t there?
Yes, definitely. I try to bring as much to the table as I can from different experience… Not to bore the people who have heard the previous episode where I was, but I will say in short that I spent a year living in Kenya, and when I went back to Germany, I maintained as many connections as I can, and I use this for things like asking all the local user groups to always participate in meetups and in conferences, and submit to talks, and so on. And now that everything is virtual, this makes this very easy.
This is, of course, becoming a stretch, because it’s been a couple of years ago, and the last time I was there it was with Bill. We gave a workshop with Bill Kennedy; we gave a Go workshop at an amazing institute that is called Tunapanda, which is a one-year training, and then people can get jobs as developers… Not just in Go, but also in Go.
And all this keeping in touch with communities that are very much outside of my network is a hard work, but it’s also very much worth it. And of course, there’s the easier (if you will) diversity work of also making sure to work with the local community, for example, being inclusive more towards women, which is also not a big part of the Berlin tech scene… Working with refugees as much as possible, talking to organizations and asking them to invite the people who [unintelligible 00:40:16.17] school kids, or if it’s people in university age, and so on - so invite the relevant groups to all sorts of events that we’re organizing… Yes, diversity is a hard work, and it’s definitely paying off.
[00:40:32.24] Yeah. Great. Well, you can see it as well in the conference… And again, I think that also speaks to why the talks and things are so interesting. There are always some great surprises at these conferences too, so… Yeah, I think that’s awesome.
I was gonna ask this question to each of you… If you could travel back in time, what would you say to your younger self? And you can’t say “Buy Bitcoin.” I mean, you can, but you’d have to tell them when to sell it as well, otherwise it’s useless. [laughter]
Angelica, what would you say to your past self, past Angelica?
I would probably say “Don’t be afraid to give in to your inner dweeb.” Because I think I’ve always known that I was a bit of a dweeb, but I just didn’t let it fully out. And had I let out the inner dweeb earlier, then maybe I would be even more dweeby now, and that’s so great.
Right. And that’s a good thing, is it?
Yes, it’s a very good thing.
Okay, that’s nice. I like that. Well, I think anyone listening that’s perhaps junior or just getting into Go can take that. I think that’s a nice bit of advice. Yeah. What about you, Kris - if you had a time machine, what would you do?
I think I’d tell myself to be kinder to myself. I think I was really hard on myself, or have been really hard on myself over my life. As I’ve gotten older, I’ve just realized that I can still be successful, I can still accomplish things while not being as overly critical with myself. I tend to think that everyone else around me is better than me, or smarter than me, or something like that… I’m usually just like “Man, I’m so dumb. I’m so foolish. I don’t have anything to share. I probably shouldn’t share anything, or I’m gonna look stupid.” And that has never really been true throughout my life. I’ve always had something to share, I’ve always been able to learn from people, people have always been able to learn from me…
So I think just being kinder to myself with that, and giving myself more space to breathe, or just chill out… And in a lot of ways too, just be okay with being an introvert. Like, no, you don’t have to go out with your friends, or you don’t have to stay up till 4 AM all the time. You can go, you can leave the party. It’ll be okay.
That’s nice, yeah. And again, for anybody suffering with impostor syndrome, I think that’s quite a nice thing to hear… Because yeah, we all kind of feel like that. I mean, we’re here having a chat… It doesn’t seem like it, but there’s loads of people watching this right now… I don’t wanna put any pressure on anyone, but… Don’t mess up! [laughter]
I also feel like as a writer I’m kind of trained to be overly-critical. As a writer, nothing I do is ever really done… Even my GopherCon talk, I’m just like “Oh my god, there’s so many things that are wrong with this… Oh my god, everybody will know…” And from my channel, it’s like, people really liked what I talked about.
So I think that’s also in there as well.
Does it come out of the pedantry that you have, do you think? That you’re being so critical? Because when you’re doing code, you really kind of need that. It’s kind of an asset, pedantry, when it comes to code. Is it that?
Yeah, and I think that’s important to being a writer as well - you kind of have that drive to constantly go over everything you’re writing and be like “How can I make this better? How can I make this better?”
One of the things I’ve learned is school was like “Yeah, you can do that, you can just keep going, but there’s a date at which you have to publish.” There’s a date at which you have to push to production. You can’t just go around in circles forever. It’s good enough. Put it out there, move on to the next thing.
Yeah. And that does apply to software. We’ve just launched Firesearch.dev, which is a full-text search thing, and there’s more things we want to do in it, but you have to release it at some point. Someone said if you’re not embarrassed by your first release, then you released too late. I think there’s probably some truth in that.
[00:44:20.00] How about you, Natalie? You’ve gone into space, you’ve gone in the rocket, it’s gone off, but something’s gone wrong, and you’ve traveled through time and gone back… And now you’re gonna have a little word with yourself; what are you gonna say?
Something between “Assume less” and “Ask more”. In my first full-time job in that company that asked me to learn Go I was the junior member in a team full of senior backend engineers, and that was completely terrifying. And they were incredibly nice. They were nice, and they were explaining to me… And they saw that I’m scared to ask questions; they would sometimes explain to me more, and even when they’d say “Do you understand?” and I was like “I have no idea what you’re talking about”, I would say “Hm…” Stop doing that. [laughs] Don’t assume that people expect you–
Just say “No, I don’t know what you’re talking about.”
Yes, exactly. Don’t assume that people expect you to know this. Don’t be afraid to ask. And another really good thing is write down the answers, because in the beginning – anytime you go into a new company, but especially as a junior, everything is overwhelming, and a lot, and it will mess up in your head, even if it does make sense in that specific moment because somebody was patient enough to explain you for a long time… Write it all down.
Okay, I think that’s great advice. They say “When you assume, it makes an ass out of both of us.” [laughter] So what about some technical things then? Let’s see if there’s any interesting technical bits of advice we can give people. What IDE do you use, for example, when you write in Go?
I’m using VS Code. I’m not using too many frameworks, too many plugins. I would say it’s pretty basic, the way that I like my setup in the IDE… But also in the physical setup. Even though I’ve been working from home for a good few years, I only got the nicer equipment like a light ring or like a microphone now for GopherCon. This is [unintelligible 00:46:15.26]
So you have a sort of understated minimalist environment.
Just work on the floor and that’s it, you know… [laughs] No, I’m kidding.
[laughs] Yeah. What about you, Kris? What IDE do you use?
I use Vim.
Oh, here we go…
I learned Vim early on in my career, actually. I got tired of trying to load up some of those Eclipse-based IDEs, and I was just like “Oh, this is taking too long.” I was working on servers all the time, and I’m like “Okay, Vim or Emacs. I have to pick one.” I’m like “Vim is installed in more places. I’ll just do that one.”
Now I’m just kind of stuck with it. Whenever I try to go to an IDE, I’m just like – the proficiency loss and the productivity loss is just too much for me. I’m just like “I’ll just go back to Vim. I’ll just use that. I’m home there.” I know how everything works, I have everything set up the way I like it.
Yeah, you have to learn Vim when you’re young, while you’re brain is malleable. You can’t learn it when you get older; it’s impossible. But yeah, and you can do Vim – like, keyboard shortcuts in VS Code, can’t you? But…
Yeah, I’ve definitely tried to move to the shinier GUI editors before, and I’d have Vim emulation modes… But I don’t know, I think I just use more advanced things in Vim, so it never really quite matches us, and it just makes a giant mess… And I’m just like “I’ll just keep using Vim. It’s working. I’m happy.” I spent the three weeks eight years ago to really get on board with this, so I’ll just keep that investment rolling forward.
And it doesn’t hurt that you look like a wizard.
And you have to change that picture behind you, Kris.
Yeah, I know. I wouldn’t be able to have my Vim poster if I didn’t write in Vim all the time.
[laughs] Yeah, I’m surprised that’s so graphical, that poster. I would expect it to just be text. [laughter] So Angelica, what IDE do you use when you write Go?
I’m team VS Code.
[00:48:11.22] But I would love to learn Vim, and any other recommendations… I’m very much at the start of my gopherizing journey, so I would love to hear more about other text editors, other things people use, because I’m not set on VS Code. I don’t know enough about all the others to really decide yet.
Yeah, fair enough. I mean, if you use Vim, to the rest of us you look like a wizard. That’s just true. So it’s got that going for it. But you have to do all kinds of strange judo with your fingers for the keyboard shortcuts.
That’s Emacs, not Vim.
Oh, okay… [laughter] I didn’t mean to get into that, but… I don’t know. I use VS Code, too. So tell me about a mistake that you’ve made, technical or otherwise, that you could perhaps warn people about. We kind of have talked a bit about this with the time travel thing, but… Are there any other mistakes or things that you’d just wanna share?
Don’t use your product management credential access to give yourself production access to everything… And then just try and potter around.
[laughs] Okay. Yeah, that’s actually a great one. Because you can… You can just go and do anything, can’t you?
[laughs] Don’t just go and potter around the code in production as a learning exercise. Just don’t. [laughter]
Okay, I think that’s perfectly fair. That’s a good one. We’ll have to hear the story about what’s gone on there at some point. Maybe you can come back on Go Time at some point and you can tell us about that.
Oh, a catastrophe…
Yes. What about you, Kris? What’s a mistake that you would warn people about?
I’ve made so many mistakes I can’t choose one. [laughs] I would definitely say like be wary of burnout, and when you’re actually in the stages of burnout, and also give yourself way more time than you think you need to get out of that burnout.
I think work environments are especially difficult right now, especially with companies accidentally gas-lighting people all the time… And that leads very quickly to burnout, and I think it’s very hard to recognize when you’re burned out, and then also just like – it takes way longer to undo that burnout than it does to get to the place where you’re burned out.
So yeah, I think my advice to people would be like “Just give yourself space to recover.” If you don’t feel like doing anything, just don’t do anything. Just relax. You don’t have to do anything.
So how does that sound from a product management point of view, Angelica?
I’m a big advocate for taking time off and making sure that you aren’t exhausted writing code. I mean, we in the lead-up to the elections were on Google Hangouts from very early in the morning until 11 PM at night, and I was not supportive of that, but I was supportive of us getting ready for the elections, elections, meaning this week is much more chill.
So I definitely think that from a product point of view, absolutely, it’s important. I take a lot of time to do 101s with everyone on my team to make sure that people are sleeping enough, because otherwise it’s detrimental, both to the product and to them as people. I don’t want them to be exhausted.
Yeah, I think that’s a good one. If I’m tired, I can do more harm than good in code, so… But yeah, it does take time to figure that out. I have to interrupt, because it’s that time, believe it or not… It’s time for Unpopular Opinions.
So who is going to share their unpopular opinion first? Has anyone got one for us? Natalie Pistunovich…
[laughs] My unpopular opinion is “Commit to things that you think are way too big and make a really bad idea.”
Do you think you should commit to things that are beyond the realms of possibility?
In the right context, I should probably say… And when I say this, what I have in mind - probably the first few conference talks that I gave – I was asked “Would you like to give a talk?” I was like “Why me? No, it’s a bad idea. I don’t think I should do this.” “Yes, I’ll do this.” And then all the way until that very point, I was like “Ugh… It’s gonna be terrible. I’m not prepared enough. The slides are gonna be not clear. My accent is funny… Everything’s gonna be wrong.” And then the minute before, it’s like “Oh my god, I’m sick. Tell them I cannot come. Call off the entire thing”, and then it’s like “Wow, okay. Maybe it’s not so bad. It was terrifying, but I am happy that I did this.”
So most of the decisions, the professional decisions I’m trying to make are reasonable, and I’m trying to think “Do I want to interview for this company? Do I want to take this task (when we do sprint planning)?” and things like this… But leave space for really bad ideas, that scare you. Not in the sense bad that they will harm you, but bad in the sense that you’re terrified.
I think that’s a nice one. What do you think of that one, Kris?
I definitely agree. I don’t think it’s that unpopular, because I definitely agree with it… Yeah, it’s important to just go out there and take on big things. That’s definitely what I did with my first GopherCon talk. I was like “I’m gonna submit this, but I don’t think it’s really worthy of getting it up on a stage and talking about…” And then I did it, and people liked it, and I was like “Oh, okay…” So aim big, even for things that you aren’t quite sure now are good ideas for you to do.
Yeah. Any other unpopular opinions?
I’ve got one…
I feel like this actually might be an unpopular opinion… I guess it really depends on who you are, but I think a lot of the things we usually see as disadvantages, especially when it comes to the D&I space, like race, or gender, or sexual orientation - they can actually be advantages in a lot of ways… Say like “Well, you get less things. You don’t get as much of a leg up because you’re a black person within a white and Asian-dominated industry…”, but I see that as like “Oh, well I have to work harder - yes. But then I know how to work harder, so I can just keep working harder.” I have the extra stamina, I have the ability to keep going.
Or as a queer person, people are like “Oh, I would never wanna be queer”, and it’s like “Well, I got to choose my life. I got to sit down and think about and figure out what it was that I wanted my life to be”, and I see that as like a tremendous advantage.
So I think in a lot of ways the things we usually see as disadvantages are more just like differences, and in some cases, as the world changes, they can become advantages.
Oh, wow. That is very positive silver linings there… Nice one. I like that one. I really hope that’s not very unpopular. Angelica, do you have an unpopular opinion?
I mean, my unpopular opinion has already been touched upon by Kris, so I feel like it’s less unpopular on this call… Because I was gonna say I think that despite what I certainly was told growing up - software engineering is not closer in my mind to the maths, and science-tied. I think it’s much closer to the humanities and the linguistics side… And I would go as far as to say it might be one of the humanities; it’s about interaction, it’s about building stuff for the users, but it’s also about a language that you are speaking to your computer. It’s like French. My computer is a French person. I’m learning the language to speak to my computer, so that it knows what I want it to do, and what I’m trying to say.
So I would say that’s my unpopular opinion, but I think maybe shared by my fellow writer, Kris.
[00:56:16.01] Yeah. I think another interesting point in what you said is that while we do use programming languages to talk to computers, I think we use them to talk to each other more than we use it to talk to the computer.
Yeah, because the code gets compiled for the computer, doesn’t it? When it’s code, we’re the ones reading it and writing it. Is that what you mean, Kris?
Hence why it’s a writing discipline.
And it’s beautifully creative. I think certainly when I was being told about what software engineering was, the creativity was left out. It’s so fun and so creative, and it’s a real creative outlet. It’s great!
Yeah, it is. Even like in Go, which prides itself in some ways of there not being too many different ways to do things… Still, there’s so many different ways you can tackle a problem. Yeah, I think it completely is a kind of creative endeavor. I always find programmers tend to also be creative in other ways, too… So yeah, I find that to go hand-in-hand. Have you noticed that?
A hundred percent.
Yeah. Natalie, what do you think about those unpopular opinions that they’ve said?
I very much agree… And yeah, I also very much like how positive Kris said you can look on things that are – your disadvantage is actually your advantage, and how you can go about this. I’m very happy to hear those.
Yeah. But don’t do a talk like “The silver lining to racism”, or anything like that. [laughter]
I one hundred percent agree with you, Kris. But I would also say – to slightly twist that a little bit, I also think for people who are maybe more new to Go, who are newbies to this space, that’s a real advantage. How often in your adult life do you get to start from zero? Like when you went to school and learned a whole new thing from scratch…
I think being new is such an advantage, and it also plays into what you would tell yourself, Natalie, when you were little - you get to ask all the questions, and people just assume you’re gonna ask all of the silly questions, because you’re new.
Exactly. And sometimes asking those silly questions would even shed a new light on something that people are like “Why actually do we do this this way? That doesn’t make sense.”
So you can bring a lot of contribution without even realizing, just by asking.
That’s true. I’ve been on a team where we had a junior member that was asking all these things, and people were saying “We didn’t know that.” Because sometimes you feel like you can’t ask those questions, especially if you’re meant to be senior in a team. So yeah, I think we should just be a bit more chilled out about things like that. We are a bit too worried; and it must come from something real, but… We are definitely a little bit worried about asking the silly questions sometimes. And you know, it’s okay. That’s why I think trust in a team is very important. That’s why, Angelica, the way that you think about your dev team I think is a very healthy way to do it. For that reason. You can kind of foster this environment that people can make mistakes, that people can ask those questions that no one’s going to ask. Yeah, I think that’s a great one.
And if they don’t wanna ask it, they slack me and I ask it.
There you go. It’s like a service.
Yeah, it’s great.
Do you charge for that?
I’m the newbie. I’m a newbie for hire. Ask all your silly questions.
It’s a good SaaS. you could actually do that as a SaaS.
NaaS. Noobs as a Service.
Slack me, we can make it happen. [laughter]
This is a good idea. Okay, we are running very close – in fact, I think we are more or less out of time. That just leaves me enough time to say thank you so much to our guests… Kris, thank you very much. I hope you can come back again another time.
Yeah, thanks for having me.
Angelica, you too. Thanks for your contributions, especially how you treat your devs.
I try. Thank you so much for having me.
Yeah. And Natalie, it’s always a pleasure.
Thank you very much, Mat Ryer.
How was your workshop that you did, by the way? Did you enjoy it?
Terrifying. But yes, I enjoyed it. Like a rollercoaster.
Well, we don’t know what that means, but we want to find out another time; we’ve run out of time now. Thanks, everyone! See you next time.
I think we’re off now… We may not be, I don’t know; we might still be on.
I like arcade’s tunes.
Yeah, yeah. It’s like Mario, ain’t it?
Are we off-air now? Yeah, we don’t know.
It shows “Live on custom live streaming services.”
Yeah, they never know what’s going.
And in Slack.
Oh, they faded away.
Yeah, we’re good now. When I came back I wasn’t sure, but we got the clear, so we’re all done. I’ll turn this up…
Yeah, that was great. Thank you so much. So much interesting stuff in that.
It was so fun!
Awesome show, guys. That was awesome.
Yeah. I like that as like the nice like right after my talk… I felt that was like a nice little – I can’t word right now… But just a little transition.
Yeah. We should maybe do that then at the real GopherCon next time…
…as they come off stage. Go straight into a little interview. That’d be nice.
Yeah. Right into the recording booth for the after show, you know?
Yeah. When you start drinking–
Post-talk analysis, where Mat just breaks down your talk and tells you how awesome it was.
I’d very much appreciate that. How awesome my talk was. [laughter]
Yeah, unless it’s… Not very. But I’ve seen you talk, so I know you do good ones. I’m looking forward to seeing the GopherCon one. Angelica, you’re speaking, too.
“Anyone can be a gopher.”
I love it.
You can hear more in-depth about my journey to gopherize.
Our transcripts are open source on GitHub. Improvements are welcome. 💚