Join Our Slack Channel!
Support us via Patreon!
Are you Greater Than Code?
Submit guest blog posts to firstname.lastname@example.org
00:53 – Safia’s Superpower: Sight
03:04 – Learning Languages — Both Human and Programming
07:56 – Being Empathetic in an International Perspective and Building Universal and Approachable Tech
11:19 – What does success look like for minorities in the Silicon Valley monoculture?; Being Tokenized
21:59 – Accepting Speaking Engagements Because of Who You Are (i.e. as a woman, minority, etc.)
24:07 – Writing Things Down to Balance Prioritizing Decisions
30:46 – Defining “Happy” and Always Feeling the Need to Do More
37:02 – Destruction-Focused Development
— Jessica Kerr (@jessitron) December 20, 2017
43:58 – Safia’s Early Coding “Shenanigans”
Coraline: Being thoughtful about planning finite energy and labor. Also being content vs being happy.
— Jessica Kerr (@jessitron) December 20, 2017
Jasmine: Exploring feelings about being represented at events.
Jessica: Broadening perspectives that most of us were born into.
Safia: Talking about the Silicon Valley monoculture, being content vs happy, and tokenism.
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.
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.
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 things down, 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? And just 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 most satisfied 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 person who 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.
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.
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.
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.
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!