On today’s episode, multi-talented Sumana Harihareswara returns; this time to talk about how art and programming can work together. Sumana is a programmer, project manager and technology executive working largely in open source software. She is also the founder of Changeset Consultancy, which provides project management to free and open source software. Today, she shares with us how she has been using her interests in various mediums, like theatre, and bringing them to the tech world and how this has helped her reimagine what tech conference talks can be. She also discusses some techniques, such as storytelling, which can help deliver the message in a fresh and exciting new way. Join us today to learn more about how to craft a captivating story.
Key Points From This Episode:
Transcript for Episode 103. Art of Programming with Sumana Harihareswara
[0:00:01.9] MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast in fantabulous Chelsea, Manhattan. I’m Dave Anderson, your host. Mike Nunez, our regular host is out on paternity. With me today, I have
[0:00:15.9] WJ: William Jeffries.
[0:00:17.2] DA: And also, a triumphant return of our very special guest.
[0:00:21.6] SH: Sumana Harihareswara.
[0:00:23.7] DA: Yeah. Today we’re going to be talking about art and programming. Yeah, why don’t you tell the people a little bit about yourself Sumana?
[0:00:31.4] SH: I am a project manager and a consultant. I run a tiny consultancy called Changeset Consulting. Focusing on project management and open source. But also, I am a standup comedian, I have written a tiny bit of fanfiction and did a tiny bit of a fan bidding and I’ve played around with a variety of other art forms and starting a few years ago, I started bringing some of those two tech conferences.
[0:01:03.6] DA: Sumana has some jokes about programming.
[0:01:07.1] SH: I have done some standup at tech conferences and then I’ve also brought things that I know, from my standup comedy experience into standard tech conference talks, right? Do you both speak at tech conferences? You're doing a tutorial, right? At this year’s PyCon North America?
[0:01:24.9] DA: Yeah, I really feel like I should include some kind of joke in that three-hour span that I’ll be educating people.
[0:01:32.6] SH: A joke?
[0:01:34.2] DA: Just one.
[0:01:34.9] SH: Like an oasis somewhere.
[0:01:37.5] DA: A great joke.
[0:01:39.0] SH: Around the two-hour mark. Is your entire tutorial –
[0:01:44.0] DA: In advance? There’s going to be a joke somewhere?
[0:01:46.3] SH: is your entire tutorial a shaggy dog joke?
[0:01:50.3] DA: I don’t know what that means.
[0:01:51.7] SH: A shaggy dog joke is a term for an extremely long winding story that ends with a usually unsatisfying to the listener punch line.
[0:02:04.3] DA: Yeah, I hope so. That’s what I’m going for. William’s also spoken in conferences as well.
[0:02:11.1] WJ: Yeah, I haven’ spoken in a while. I did do separate conferences, I did liberty JS down in Philadelphia, did Rails Con for one year when it was in Atlanta, I think. It’s just you know, it’s hard to find the time when you’re also working full time doing software development.
[0:02:28.5] DA: Yeah, just crushing it.
[0:02:29.1] SH: I would say, making the time to do a good talk, absolutely, if you actually have taste in the matter.
[0:02:37.6] WJ: That’s the problem. I have taste of the matter. I can’t go and give a bad conference back and it’s going to take me weeks of preparation.
[0:02:44.7] SH: How does it make you feel to think about giving a bad talk?
[0:02:50.3] WJ: Man, shame and disappointment, I think it would be the dominant emotions there.
[0:02:55.3] DA: I’m backing that feeling.
[0:02:56.8] SH: Yeah, and, you feel like you’ve wasted your own time and possibly your employer’s time, the time of the people in there, your reputation is a bit stained.
[0:03:06.6] DA: You know, your parents as well, shame upon your household.
[0:03:10.0] SH: Your hometown. Right, your guidance counselor like just shakes their head sadly.
[0:03:19.9] DA: Most likely to give adequate talk at a conference.
[0:03:25.1] SH: Starting from the time that I was very young, I started doing public speaking because my family had a lot of events at the home, the conferences that they put on.
[0:03:36.3] WJ: This doesn’t surprise me at all. You seem like a public speaker.
[0:03:39.3] SH: Thank you. I seem like a podcast guest perhaps?
[0:03:44.0] DA: Yeah. Sumana for president.
[0:03:45.5] SH: Thank you very much. I don’t think I should be president of the United States because my spouse would not be able to handle it.
[0:03:55.3] WJ: It’s a very stressful job.
[0:03:59.9] SH: I think that having a lot of training as it were in public speaking is something that I sort of started taking for granted, but then you see, it’s a hard thing. Being able to prepare what you’re going to say and say it without feeling really nervous about being in front of a lot of people and make it seem possibly effortless. I think some people think – public speakers make it look effortless. That’s a whole skillset and you look at people who have been coding since the time they were kids, they might also forget all the stuff they learned back when they were just playing in a sandbox, right?
[0:04:38.6] DA: Yeah.
[0:04:39.2] SH: When I was you know, seven years old or something and my parents had a bunch of my aunties and uncles over. They said, “okay Sumana, write a poem and then read it aloud to everybody at the end of the night.” I was just playing in a sandbox, it’s not like I was going to get a bad review on the front page of the New York Times for my freaking thanksgiving column. You know, similarly, you know, when you’re six years old, if you’re playing with basic on the 286 and that your family got. you know, it’s completely fine, no one’s going to criticize you on GitHub for that.
[0:05:11.4] DA: No one’s going to criticize you for that.
[0:05:15.2] SH: You know, giving one of the greatest gifts that you can give, your children, your employees, anybody that you have power over is some time and some space to do stuff that doesn’t matter, right?
[0:05:29.2] WJ: That’s good, I like that. Time and space to do something that doesn’t matter.
[0:05:33.9] SH: Because it’s only when something doesn’t actually matter to the external world that you can really play and learn.
[0:05:41.6] DA: Right, having that safe space.
[0:05:42.7] SH: Having a safe space. I got a lot of that.
[0:05:44.8] DA: The attitude to learn from failure.
[0:05:47.1] SH: Right. I got a lot of that and so yeah, I was already a practiced public speaker with that, with high school speech and debate with acting in plays, all that kind of stuff by the time that I entered the tech industry, right? Then, I did a little bit of stand up here and there and then I started actually speaking at tech conferences.
What is it? 10 plus years ago and then I got to where I could give a pretty good talk, right? I gave a talk called HTTP can do that? At PyCon North America a few years ago. There were people who came to that talk multiple times like they came and saw me give it at one conference and at another conference. Just because they enjoyed how well I had done it and it was fun and entertaining, edifying.
That feels to me like okay, I can give a good technical talk and so, I wanted to explore, what else can you do with this thing when you have a stage? A bunch of people and a room where the lights go down a bit, well, we have in tech conferences, this habit of inheriting from the class academia, which is to say lectures.
Inheriting from the class industry, which is to say demos and you know, some case study. Live coding, right. From academia, you get the lectures and you get panels. Then from industry, you get demos and you get live coding and you get some amount of the hands-on workshop stuff. But we have this other tradition we could also inherit from. That’s thousands of years old which is called theater, which gets across different things, right? What are some of the sessions at conferences that you found most stay with you?
[0:07:35.0] WJ: I think they’re the ones that were given by the most powerful orator, it has a lot less to do with the content and a lot more to do with the delivery. The Sandi Metz talks, I think in particular are really good example of that because she clearly workshopped those for months and she talks about this.
All the preparation that went into those and all of the care that she took in crafting the phrases, and the transitions. It’s very clear that somebody took the time to invest in presentation. That makes the whole thing not just more digestible but more memorable in the long term.
[0:08:12.6] SH: It’s a medium, speaking is a medium that rewards attention to the affordances, the user experience affordances of that medium.
[0:08:23.0] WJ: I like the multiple inheritance metaphor here and I think it makes sense to bring in a theater module. How do we do more of that? How do we get more conferences to embrace that?
[0:08:33.9] SH: I am doing my bit. What I did first was I started thinking about what are some stories, some wisdom, some experience that would be great to share in a fictional narrative format. By the way, I want to make clear, it’s not like I’m absolutely the first person to ever think of tell stories at conferences, right? I think a lot of people would say that the most memorable sessions that they’ve attended at tech conferences were ones where there was a story.
Someone telling their war stories, giving a narrative, something like that. But usually –
[0:09:12.9] DA: Right, something that you can like put yourself in those shoes and kind of like carry you through.
[0:09:17.1] SH: Usually, it is a person narrating true facts from their life or walking you through a composite story as sort of a thin skeleton to hang on to a sort of a composite case study that they’re illustrating with, you know? Code chunks or something like that.
The idea of actually seeing people act out the story in you know, a theatrical way is not something I think I had seen before, as main stage, of the tech conference. One of the things that theater’s really good at is helping us experience emotion and put ourselves in the shoes of people going through something.
[0:10:06.1] DA: Yeah, I saw your talk at PyGotham last year or I’m using the word talk, but really, it was a series of small plays and when you explained it to me, I was a bit dumbfounded, I was like, “you can do that?” That seems like there’s like a rule or something. You’re not supposed to do that to have like a bunch of small collaborative pieces that you’re doing with people.
[0:10:29.7] SH: I should explain that PyGotham 2017 was the first time that I did a play. I came up with an idea and I collaborated with Jason Owen, who I met in 2017. He worked with me on the play and he was my costar and this was the play, Code Review, Forward and Back. That was five different scenarios of how code review can work in an organization with different code review approaches, different code review cultures and how the future of that team, of that org. might play out, according to the code review approach that you just saw. It’s a lot like the movie Run Lola Run.
[0:11:14.8] DA: One could do a talk about those scenarios. You could have some bullet points and some cat pictures really?
[0:11:21.7] SH: I’m sure some people have, there’s been a bunch of talks probably very good ones about how to do better code review.
[0:11:28.4] DA: The format for that topic is interesting because it really puts you more in the shoes. You get to see the practice of that and how that conversation might play out. Have the emotions.
[0:11:37.2] SH: Yes, it’s very important to me and to Jason and to our director, we hired a director, it’s a play if you want it to be good, you hire a director. It was very important to us that every single person in all these scenarios have good reasons for doing the things that they’re doing even when they turn out wrong. Because in real life, we have good reasons, right?
For being too nitpicky, for getting too caught up in committees and policy. For being too, move fast and break things. For giving other people too much freedom and autonomy and not keeping a close enough eye on what they’re doing. All these mistakes that we end up making are generally for a good reason. We think that, oh well, this is going to help with the developer experience or this is going to help make sure we’re all on the same page or whatever.
We have reasons for these things and so, saying those things and hearing the rationale and then seeing what comes out of it and seeing how a junior developer is probably going to go, someone who is new, of course they go along, of course they don’t fight back immediately. Because they don’t know to do that and they don’t have enough confidence to do that and they might completely buy in to the reasoning, right?
But then you see how developers get hurt or get bored or get scared or get angry and we got feedback from people saying things like, “I used to be that reviewer and I’m trying not to be him anymore.: Or, a friend of mine just texted me and said that his manager said, “this is the best resource on code review I’ve ever seen because it actually shows you what the bad ways look like.”
[0:13:20.2] DA: Before about like, how everyone has their own internal motivations and nobody’s a bad guy. They’re their own tragic hero; it’s their flaw that’s going to lead them to their demise maybe or not.
[0:13:37.0] SH: We all have reasons for the things we’re doing absolutely. Motivation, right? That’s saying what’s my motivation.
[0:13:43.1] WJ: Yeah, that is a really interesting application of storytelling as a medium for teaching. I think there are probably a number of lessons in software development, they get told with other mediums, it would be better served by a theater. I’m just thinking of pair programming for example.
[0:13:59.7] SH: Absolutely. All the different ways that you can do pair programming wrong.
[0:14:03.1] DA: I don’t know. I think this is one of the strengths of the conference like PyCon in the US, that they do encourage experimentation and variety. They have talks, the talks are great, there’s opportunities for people of all levels to speak, they are also willing to take a chance on just providing the space for open spaces. And people to use the space for whatever they want it to be.
We still need to do the podcast episode on open spaces because I have something that I really like and I was very surprised that they had this out there. But you know, you just slap a card on the board and a time slot in the room and you go and do it.
I think that’s part of the surprise and joy of like okay; a conference can be this too. A conference can be art.
[0:14:49.3] SH: I absolutely want to see what we can do with conferences. If you think about it, a conference is a tool, right? It’s a framework and it has different affordances that we can use in different ways. I think that the art of Python itself is being in arts festival its own kind of thing, its own kind of tool to call something a conference versus to call something an arts festival provoked different responses, helps people think in different ways about what kind of experience they’re going to have, what kind of experience they could make within a framework and then what kinds of stories can we tell and then what kinds of knowledge and format are we supposed to be sharing with each other, right?
[0:15:35.9] DA: Yeah and then what is the best way to convey an idea?
[0:15:38.2] SH: Right and even what kinds of ideas are being conveyed, right? I have a whole bee in my bonnet about what stories, what tropes we use and don’t use, tell and don’t tell in art about programming not just computer-generated art or something. When I talk about programming and art often the place that a lot of people’s minds go is you know make a neural network or mark off chains or something like that.
[0:16:05.9] DA: I think that is what I said earlier. Like, “Oh yeah let us make a neural network that will write as a summit.” I was pretty surprised that I felt that Snow Crash kind of ring true in a lot of ways. The book Snow Crash.
[0:16:18.9] SH: Well Neal Stephenson has programmed.
[0:16:22.6] DA: I guess that makes sense but I mean just in terms of the possibility space of the future from the perspective of someone who – I didn’t realize it was written in the 90s. I read it a couple of years ago you know. Late bloomer.
[0:16:34.6] SH: There are ways in which Snow Crash has actually held up, yeah. Snow Crash, Cryptonomicon, there is some Vernor Vinge, I don’t know how to say his last name, like Fire Upon the Deep and the A Deepness in the Sky. Ken Lu is a programmer, lawyer, sci-fi author, translator. So, his work has some really realistic programming stuff in it. There is a fan fic author whose name I don’t know who wrote this Harry Potter fan fic that is extremely not safe for work called Amends or Truth and Reconciliation.
[0:17:06.4] DA: Yeah, a lot of good written art it seems like a trend. There is an overlap of typing in this good diagram.
[0:17:13.6] SH: Well, but then again, I mean there is also a tremendous amount of fiction that is very unrealistic about programming right? I want to talk a little bit about two visual media pieces that are in some sense realistic. One of them is Halt and Catch Fire and the other is the movie Antitrust.
[0:17:32.2] DA: I have watched a bit of Halt and Catch Fire but I have not watched Antitrust.
[0:17:36.6] WJ: I am not familiar with either.
[0:17:37.9] SH: Okay, Antitrust is about 20 years old. It has Ryan Phillippe and it has Tim Robins basically playing Bill Gates and it isn’t realistic in the most precise sense of the word. It isn’t realistic in the most precise sense of the word, but it actually gets something right about the inner play between open source and proprietary software and the idea that people that make proprietary software would really like to be able to hire and exploit the people who make open source. So, there is a sense in which the big sweep of it is right on the thing that Hollywood almost never talks about.
[0:18:23.9] DA: And that happened right? You know a lot of the big contributors to Python, the core contributors and how their major libraries got scooped up by the big four tech companies.
[0:18:38.4] SH: There is a lot that is true in what you say. Also I would say that Antitrust has an interesting critique of Microsoft specifically in a way that it has all of these sort of media tie ins and partnership so that at the time, it seems like a really big, huge concern that if you want to criticize Microsoft in the mass media, maybe you wouldn’t be able to do that because of things like MSNBC.
[0:18:59.2] DA: Right and you know it was 1998 or whatever. So, Windows 98 was fresh in everybody’s mind.
[0:19:06.7] SH: Sure, but Halt and Catch Fire is actually realistic on some other stuff. So, it is historical, right? It is a period piece and it talks about the tech industry in the 80s and 90s and I would say, okay of course yes, there’s things that are realistic specifically about hardware or some software’s are doing at the time, but also, there is a particular ark and I really don’t want to engage too much in the spoilers because I think people who are listening to this might very much well want to watch all 40 episodes right?
But I think there is a thing that is true - so all of us here in this room have spent several years now, right? Working in the tech industry. I think there is a thing that people just starting out can’t know viscerally the way that we know which is the fact that if you stay long enough it is very likely that the people you currently work with, you know you are going to change configurations, right? Whoever you are working with today, maybe two years from now, five years from now, 10 years from now, 20 years from now.
At some point one of you is going to be working for the other at another point, it will be reversed. At another point, one of you like –
[0:20:20.5] DA: These are the season breaks of our lives.
[0:20:23.9] SH: Like I might be your investor and then like five years later you are going to be my boss and then five years later we’re competitors and five years later, you know?
[0:20:32.9] DA: It is a very small world.
[0:20:33.9] SH: It is are relationships we bring to every successful relationship whatever both bonds and baggage comes from the past ones, right?
[0:20:45.6] DA: That is what I heard what makes that particularly good show like its character. Character driven as much as it is like about the history and the actual technology.
[0:20:54.3] SH: I would say there is also this fact that shows up in Halt and Catch Fire again over the sweep of it which is year one, if you start as a programmer, you think, “Oh I can maybe keep my head down and write code.” But if you don’t pay attention to interpersonal stuff at your company into all person stuff within you, the larger economic social context organizational side, it’s not just, “Oh you might get laid off.” It’s it could be almost worse than that, which is that the code you write won’t ever get used. It won’t ship, it won’t matter.
You might write really elegant beautiful things that no one will ever use that will never make anyone’s life easier.
[0:21:39.4] DA: That is like the island of unloved toys or something.
[0:21:43.7] SH: It’s waste. And waste is just an utter sin.
[0:21:48.4] DA: You don’t want, no way.
[0:21:50.3] SH: So, the story is that I would love to see. You know I like that fact about Halt and Catch Fire but yeah, I have never seen any major show ever actually show what programming is like. I have never seen a movie that talked about the amazingness of you architect something right so that then when you need to change it and add one new thing, you did in a modular way so it was easy.
[0:22:14.2] DA: Yeah, I think that will be The Rabbit Hole TV show. Just prepare programming all the time.
[0:22:18.4] WJ: I don’t know how we’ll make is sexy enough for TV, can we make some explosions?
[0:22:21.7] DA: Yes, yes.
[0:22:23.1] SH: I think if you would attend to the emotions that’s how you add the stakes. I mean when we say that we want to make something telegenic, we mean how do you engage the viewer, right? And I think attending to the emotional valance of what’s happening is what’s key.
[0:22:42.3] DA: Yeah. I mean that is kind of –
[0:22:44.1] WJ: It is a creative challenge.
[0:22:46.1] SH: It is, but I mean that is what humans do, right?
[0:22:48.3] DA: And we even haven’t talked about Silicon Valley at all, but like there is a lot of truth in the interactions in that show that people either enjoy or is too much for them. And so, it backed off and they don’t watch it but yeah, it is the authenticity of it.
[0:23:06.4] SH: You would say that the reason why people stop watching Silicon Valley is because it hurts too good?
[0:23:13.1] WJ: I think it –
[0:23:13.6] DA: I talked to too many people who have said that.
[0:23:15.6] WJ: There are times when it hits a little too close to home and it makes me do a little too much self-examining and I need a break.
[0:23:22.3] DA: Yeah.
[0:23:23.2] SH: That is the first thing anyone has ever said that makes me want to watch Silicon Valley.
[0:23:27.6] DA: Yeah, I mean like –
[0:23:28.7] SH: Up until now I just was like –
[0:23:29.5] DA: It has its own flaws like it’s a loop. It is a loop every time.
[0:23:32.4] WJ: I only saw six of it so.
[0:23:34.1] SH: Oh, you mean it is like a sitcom where it just resets to zero every season?
[0:23:37.1] DA: Not in fully zero but zero plus one you know? Or you know it is incremental. They’re iterations but yeah it is interesting.
[0:23:47.9] SH: Music, one of the things I wanted to mention was how for a lot of us the way that we imbibe popular culture that is about feelings is through music. So, I was talking to some people about like what music speaks to you about programming and so there’s bits, there is sort of a division about explicit and implicit. There is music where the lyrics are explicitly about programming.
[0:24:10.9] DA: Like Jonathan Coulton.
[0:24:12.4] SH: Like the one song by Jonathan Coulton, Code Monkey, that has anything to do with programming. Almost all the rest of it is you know, it is about being a nerd, but it is not about programming.
[0:24:22.3] DA: Yeah that’s true.
[0:24:22.6] SH: There is MC Frontalot which has some, the nerd core hip-hop artist. Barcelona, a very little-known sort of new wave band, electronic band that they have a bunch of songs about programming, early internet type stuff. There is I am sure a zillion indie bands that I don’t know about that have –
[0:24:39.4] DA: Yeah, Ken Duck has a couple of songs about like network adapters or something, I don’t know. It is very obtuse though. Yeah but I don’t know. I think a lot of people when they program probably don’t listen to that like to get amped up. They probably listen to the EDM’s.
[0:24:55.2] SH: The second like the flip is music that is implicitly that reflects our feelings in some way about programming and I was talking to my friend, Paul Morris, who said that Radiohead, a lot of Radiohead songs for him have – it is not just that they are kind of droney. It is that they imitate for him the getting into a rut of debugging, where it’s like the world you’re focused even your visual field narrows until maybe suddenly even in the middle of the bar, right? Extremely and unexpectedly you have an epiphany and the song completely shifts. One thing that we really need to mention of course is Randall Munroe’s XKCD.
[0:25:34.3] WJ: Oh my god, best web comic.
[0:25:36.5] DA: I remember I thought about making a web comic once and then I found XKCD and I was like, “I don’t need to.” It is done.
[0:25:44.2] WJ: Thank you, Randall. Thank you for your service.
[0:25:45.9] SH: He is also, by the way, he is also a nice person in person. He is really nice.
[0:25:50.7] WJ: Yeah, I believe that.
[0:25:51.7] SH: And he is attentive and friendly and actually notices social cues, right? Which is some ways a low bar for sometimes things you expect of other people in the industry or artists and his comic is called, the comic of, what is it? Mathematics, romance and language or something and sarcasm and that romance. He is actually paying attention not just to the romance meaning love, but romance meaning grand emotion and passion.
We bring so much passion to these relationships with ourselves and with our computers and with other people that we’re trying to make software with and his attention to that I think is part of what makes ethnicity so amazing and so literal.
[0:26:35.1] DA: Yeah, I think that is something that makes it also more broadly relatable talking about the best way to write a function or compose a class like maybe more technical or more specific than most people can engage with, but like to talk about the satisfaction that comes with that or other superhuman emotions associated with what we bring to our jobs, that is something that is more broadly accessible that I think something like The Art of Python can help people with.
[0:27:05.8] SH: Also, I am just going to say on the side note, it’s like he’s become the bard who sings back to us about our lives online as online people, right? Like the someone is wrong on the internet comic.
[0:27:18.7] DA: Yeah, definitely.
[0:27:19.9] SH: The Art of Python is going to happen on May 3rd, in Cleveland as part of PyCon North America. If you are listening to this and it is not May 3rd yet, please consider coming.
[0:27:31.5] DA: If it has happened, are there going to be videos?
[0:27:34.8] SH: That’s my hope and also Bang Bang Con !! Con will be in New York City May 11th and 12th and they will probably also have some arts performances and I hope that I get to see it and I hope a lot of the listeners here, anybody who’s vaguely in the New York area could come and if you run a conference, please consider just going ahead and stealing some language from the call for proposals for Art of Python. I would love for the people who make plays and music and dance performances and so on to actually be able to reuse them at other conferences just like people who give more ordinary talks again.
[0:28:18.5] DA: Sure, yeah make it open source. Put in edges, cool.
[0:28:23.7] SH: I am pretty sure that all of the text on us.pycon.org is under in open license. So I think I could be wrong though but in case I should mention that yes, people have my permission to reuse this CFU’s.
[0:28:37.3] DA: Well it was wonderful having you on again.
[0:28:39.4] SH: Thank you so much.
[0:28:40.3] DA: It’s been too long.
[0:28:42.7] WJ: We’ll have to have you on again soon.
[0:28:44.0] SH: I appreciated the opportunity. Thank you so much.
[END OF INTERVIEW]
[0:28:46.1] DA: Follow us now on Twitter @radiofreerabbit so we can keep the conversation going. Like what you hear? Give us a five-star review and help developers just like you find their way into The Rabbit Hole and never miss an episode, subscribe now however you listen to your favorite podcast. On behalf of our producer extraordinaire, William Jeffries and our amazing host, Michael Nunez who is out being a dad and me, your host, Dave Anderson, thanks for listening to The Rabbit Hole.
Links and Resources: