The ReadME Project amplifies the voices of the open source community: the maintainers, developers, and teams whose contributions move the world forward every day.
Mariatta Wijaya // @Mariatta
When Mariatta Wijaya arrived in Canada from Indonesia, she got a job as a software developer, and the first language she learned was Python. Now a Python core developer, she creates GitHub bots that are not just functional, but friendly. She’s also the co-organizer of Vancouver PyLadies and the PyCascades conference, was nominated twice for the Google Open Source Peer Bonus Program, and has received the Python Software Foundation (PSF) community service award. Hear how it all unfolded on Mariatta’s episode, available now.
Also in Developer Stories
Breaking down barriers for women everywhere
Mariatta: When I started in this whole open source community thing and joined mailing lists or Gitter channels, it was a strange environment for me to just see names and not pictures or even know if these are real people. I want to be reminded that everybody in this channel are real, they are people I can reach out to and I think that’s one of the things that I think a lot about whenever I’m in this kind of space. And perhaps that’s why I try to make my bots feel more human.
Brian: That’s Mariatta Wijaya, maintainer of CPython, miss-islington, cherry_picker.py, gidgethub, and aio-libs.. And this is The ReadME Podcast, a GitHub podcast that takes a peek behind the curtain at some of the most impactful open source projects and the developers who make them happen. I am bdougie aka Brian Douglas…
Kathy: And I am Kathy Korevek.
Brian: Every episode, Kathy and I invite a maintainer or open source developer into our studio to explore their work, their story, and where the two meet.
Kathy: In this episode, we speak with Mariatta Wijaya, a core developer of Python—and the first woman to join the core team. She came to Canada from Indonesia with dreams of becoming a programmer. She discovered the Python community and then her career, and involvement in open source just grew. Not only is she an important name in the open source circles, namely through her work with humanizing bots, but she is a huge advocate for women in programming and holds that mission close to her heart. Please join us as we discover how Mariatta came to Canada, her introduction to Python and the email that would change the course of her life.
Here, Mariatta gives us a peek into her journey from Indonesia to Canada.
Mariatta: I’ve always wanted to move even when I was growing up as a child. It’s a strange thing to share with people but I didn’t feel like I belonged in that place. The kind of moral values or whatever values that were imposed on me there, I didn’t agree with. And this is just one piece of it. I don’t know what’s a good way to say this. But there’s a difference in how girls are raised.
I know even when I was young, it seems like all the grown-ups are just telling the girls, you’re just meant to marry but they don’t say the same things to the boys. Boys should go to schools or they have to think about careers or finding a job. But it’s not the same thing for girls. And it’s one of those things, even as a young girl, I didn’t know how to react to that but I just know it’s wrong. It’s not the kind of life I wanted to live. It’s strange. But I also grew up watching western or American TV shows and life looks different from what’s portrayed on the TV. It looks different, that’s the kind of life I want to live.
So yeah, it’s something that I’ve planned for, I’ve prepared for. I learned about western cultures. I learned a language, I learned English. I became fluent even before I finished high school. I know when I was 14 or 15 I finished all the English courses that they had offered. There’s no more advanced levels. So when I took my own initiative of taking the English tests needed to study in US and Canada, I researched on my own, the different Universities to apply to and sent in my own applications.
And the reason I landed at Saskatoon is I applied to a lot of colleges. I think that’s the only one that accepted my application.
I moved to Canada more than 20 years ago in 2000. I came from Indonesia. As soon as I graduated from high school I came here and stayed around. I came to study computer science, so I do have a degree. I studied computer science and then I got a job and still stayed around.
Brian: One of the things Mariatta is most well known for is humanizing bots. While she was working her day job, she was still a contributor and it was through contributing to Koala that she came across automation more frequently, and specifically bots. She wanted to explore ways of improving the overall contributor experience, making it more human.
Mariatta: I have used GitHub for work but we didn’t have any automation at all, everything’s manual. When I started to contribute to this project called Koala, it’s a volunteer run open source project in Python. And because it’s run by volunteers, they invested a lot in automation just to free up time for the maintainers.
When I started contributing to that project, immediately I was greeted by bots. I typed hello world and the bot replied with information to me. And I found that exciting. I haven’t seen that kind of thing before. They also have GitHub bots to automatically label things. It was just amazing to see that but I didn’t know how they were done.
When I started contributing to Python at that time, in about a similar time frame, we had just moved the code base to GitHub and started doing GitHub pull requests. And at that time, the other maintainer, Brad Cannon, he had lots of ideas on the things that could be automated. And I felt like, okay this is actually interesting to me. That’s when I started focusing more on all the tickets that Brad created. What are the things that could be automated? And that’s really when I started learning about GitHub APIs and the different things that we can automate.
When I finally created a bot on my own that actually helped the C Python project, this bot is called miss-islington. Basically what it does is it backports a commit from the main branch to the later versions. This whole process used to be done by hand. It took a lot of time, really boring. But when I was able to automate it, the rest of the core developers really realized, “Oh my God, this is magical.” And that’s when I really realized, yes, this is magical. Why haven’t we been automating more?
And I think that’s the whole thing, that whole experience knowing that there are opportunities here to automate, really got me into it. I really started to think more about, why aren’t we automating this? And even the other day, I was talking again to Brad Cannon about something else, we want to pull some data out of a mailing list. And the first thing I thought, “Okay where’s the API for this?” I didn’t even think about just doing it manually because, it turns out there is no API for the mailing list. Brad’s going to do it by hand. I was at a stage when I didn’t think of doing things by hand anymore. API’s the default way of doing things to me. API’s my friend.
Brian: The other thing that Mariatta is well known for is being the first woman on the core Python team. Her introduction to Python came through her work. The company she was working with started using Python for their web development. It was either learn Python or lose her job. The latter wasn’t really an option. This would prove to open up a whole new world to her.
Mariatta: I was working in a little town in Canadian prairies called Saskatoon in Saskatchewan. It was a small town and there wasn’t... the tech scene wasn’t big. At the time I didn’t know anybody else who knew Python except my coworkers. So I learn Python just by learning from my coworkers who were willing to help and mentor me, but also sometimes through the online documentation. So for the first few years, I felt I was isolated in the small community.
I didn’t really discover the Python community until really when I moved to Vancouver in 2014, 2015. For that first many years, I only knew fellow students, or my coworkers. I found that I learned so much more at a faster pace. I got exposed to a lot of things which I really wouldn’t know about if I wasn’t in the community. And I found it so valuable.
So once I moved to Vancouver, I started to get interested in attending meetups. I learned about conferences, there are conferences about Python. I learned there is PyCon that’s going to happen in Montreal at that time. I figured out I wanted to go to conferences and learn more about these to advance my skills and my career in general.
And it was at that conference, PyCon in Montreal 2015, that I attended Guido Van Rossum’s keynote and in there, he said something about, “Well there’s no women at all on Python’s core developer team.” He had just...before the keynote, he had just attended the Python Language Summit. It was a room of 50 men. And then he said he was committed to mentor, personally mentor, two women into contributing to Python, into becoming core developers.
But at that time, I actually didn’t think it’s something I could do. When I heard about it, of course I thought, “How could it be possible there’s no women at all?” I actually saw a lot of women there and there was PyLadies lunch at PyCon and it was a room of 100 women. It just doesn’t make sense, these two things. There are women in the community, how come we’re not in the core team?
But that specific year I just thought, well it’s a problem but it’s not my problem. It’s Python’s problem. They gotta figure it out, right?
But the year after, I came back to the conference, to the same conference, and I was kind of hoping to hear about, well, who are the new female core developers. But instead, Guido came back to the stage and still said, “There’s still no women.” I think at that time that’s when it really hit me like gosh, this is a problem that I care about. This is not right and from then on, I realized that I really care about this thing and I want to do something about it. I didn’t want to just point fingers or just say, “Hey you, you gotta fix this.” But I want to know, “what can I do to help?”
And then I wrote an email to Guido Van Rossum. I’ll admit, I was in a hotel room and I was very nervous writing this and I thought for a long time before I actually clicked send. So that’s how it started. And I felt, even now I felt lucky that he replied. He replied and we started from there. The conversation continues.
Kathy: Reaching out to Guido, the creator of Python, was pivotal for Mariatta because not only did it immerse her more into the Python universe but it fueled a passion she herself did not have even realized she had, the power of community and, specifically, the support of women within that community.
Mariatta: A few things happened at that conference. Before attending PyCon, I had no idea about this whole community thing. But at the same time, even when I first attended the conference, the Python community showed me what it meant to be inclusive. They went out of their way to provide support like financial aid.
I also saw, at that time, a lot of women speaking on stage, which for some reason I didn’t expect. I found it amazing and it shouldn’t feel amazing, it should be normal. But at that time I was really impressed with that. It was 2015, and when I saw other women on the stage, it gave me this inspiration like, hey, it feels like this is something maybe one day I could do this too. Maybe one day I could give a talk as well, at a conference.
That feeling of feeling inspired that, as women we can do this, I think it helped me realize that there is still a lot of work to be done here. I reflected on my own experience being a woman, being an immigrant, even though I’ve been here for years. I realized, there’s not a lot of people who look like me... in this field... in Canada. And I realize it’s important and sometimes, the fact that I haven’t seen a lot of role models, people like me in the space, it kind of... how do I say this? It held me back somehow and it made me believe that these aren’t things that I could ever do.
Just when I heard Guido’s keynote the first time, I didn’t feel inspired to think I could do this. It wasn’t the instinct that came to me. The first thing that I told myself, “This is not something you could do.” It’s just my life experience has taught me to react that way. I realized that I know for sure I’m not the only one who was held back like this because of the lack of role models. So I really wanted to see those changes. I realize if I want things to change, I’ve got to start doing something about it. I cannot wait or rely on somebody else to fight for me. It’s something I have to start doing myself. So I think that’s the realization that I had at that time. And that still continues to motivate me to do this, because we’re still not done.
Brian: Ultimately, Mariatta has a mission: Make everyone feel welcome to contribute by letting them know that they can do lots of things. They don’t have to only contribute through code.
Mariatta: I’ll be honest, the core Python team is huge and I know a lot of people are really focusing on the language development itself. I’ve been focusing just on the workflow, developer’s experience, the documentation, the developer guide even. It’s something I care a lot about and I realize it’s one of the things that I considered a barrier in the initial contributing experience when I first started. I didn’t immediately feel like I’m welcome or allowed to join. I started feeling like I’m just a lurker here. There’s nothing I could really contribute.
And to be honest, I’ve spoken to several people within the community who haven’t contributed to projects yet and that’s the same feeling that they share. They felt afraid or nervous, like “What if people are going to laugh at my message or my PR or whatever?” And I felt, as a maintainer, that’s something we can do to improve. That’s an experience we can help with.
When somebody new comes to Python, specifically to the core Python team, and says, “I want to start contributing to open source,” or to Python, the first thing they ask is: “What open issues can I work on, that I can make pull requests against?” And I always tell them there are a lot of other ways than just writing code. In my own experience, a lot of times the issue that I can actually help with hasn’t been raised yet. Sometimes it’s just about watching the project, understanding the issues that come in. Sometimes maintainers do want help in even just triaging the issues. We need help from people who can verify whether this issue is valid or even just share their input. Is this really problematic? We need all kinds of help, not just code.
Kathy: The importance of realizing the variety of ways that one can contribute, ways that go beyond code, is key. Mariatta found herself returning to bots and automation. The bots that Mariatta writes are very, very different from pop culture’s idea of what bots are, and I wondered about Mariatta’s approach to automation and building bots.
Mariatta: I really do think bots and automations are crucial. You need this, especially if you’re not getting paid to do it. You can just write a bot, maybe you pay some web hosting to host your bot. It saves you time and I do try to make sure my bots, the messages that my bots write are positive and I do hope that people take notice and they will follow suit.
For a simple example, I have a bot that reminds Vancouver organizers that we have an upcoming meetup and I will always include... even though it’s an automated message, I would always include “Thanks for your work.” Instead of, “Remember we have a meetup tomorrow, this is our checklist.” There’s still the “thank you” in the end. And I felt that important to say, even though it’s automated. As a reader, when I read that message that I wrote myself, it reminds me that it’s worthwhile to do. It helps improve my mood for the day.
Kathy: I do like it that you are really paying attention to the language that your bot is... for the responses, the language and the responses that your bot is telling to people. And I’m wondering, why did you start doing that? Why did you start paying such close attention to that kind of thing?
Mariatta: I think it’s related to somebody’s comment about, getting a thanks from a bot is not the same as getting a thanks from a real person. And this was when I had an idea, I wanted to automatically say “thanks” to pull requests and somebody said, “It’s not the same.” But it’s better than nothing at all. As a human, sometimes I forget to say “thanks,” I just merge it, and done. I think it’s still better than not doing it, better than not automating it. Because they said it felt impersonal, I do try to make it more personal.
Brian: Yeah, thinking outside the box. And the other thing is, the fact of going back to the bot talk, humanizing you as a speaker, you as a contributor, folks who really understand that Mariatta’s just a normal person that needs to sort of unwind after a talk and this is how she does this. And I think we all have our own sort of quirks and how we approach open source and programming. And behind the code, we are humans and it’s always nice to remember that too, as well.
Mariatta: Mmhm. Yeah. Speaking about that. It’s just my false impression, when I started in this whole open source community thing and joined mailing list or Gitter channels. It was a strange environment for me to just see names and not pictures or even know if these are real people. And I think somehow something inside me just, I want them to know... or I want to be reminded that everybody in this channel is real and people I can talk to, and not people on a pedestal somewhere. They are people I can reach out to and I think that’s one of the things that I think a lot about whenever I’m in this kind of space. And perhaps that’s why I try to make my bots feel more human.
Kathy: From humanizing bots to building community, Mariatta is an explorer and she’s always seeing what else she can do with her career and her contributions to open source. I wondered with all the communities she has built, contributed to and been part of, where does she feel she belongs?
Mariatta: Being an immigrant, I know from the beginning, the time I land, I know I don’t belong here. I’m new to the country. Even the first day I arrived, people were asking me, “Where are you from?” They know just by looking, I’m not one of them. But the Python community, even when I needed the financial aid, when I asked for a mentor to help me with my open source journey or I needed a mentor to start my public speaking journey, I never felt like I didn’t belong. They went out of their way to say, “Yes, we’ll help you.” I didn’t need to provide proof or anything. I didn’t need to provide, yes, I really don’t have the money for this or whatever. They just accepted and included me like that. This is something I realized later on, I realize I found acceptance and a sense of belonging here, even though I wasn’t looking for acceptance I just wanted to do something. But I found acceptance and it’s important to me so that’s why I’ve continued. Even, honestly, talking about being an immigrant, it took me many years for me to feel comfortable saying, “Yes, I’m Canadian. I’ve been here for 20 years, I’m Canadian now.” But in the first many years, I know I couldn’t say that. I know I’m new. I guess that’s the kind of mindset that I... maybe I’ve imposed it on myself. Telling myself that I don’t belong here. And over the years, I’ve slowly changed my own perspective by just telling myself differently that I belong here. I found a sense of belonging. Canada is my home now.
Brian: Your story about just going against the grain, social norms and eventually, now accepting the fact that you’re Canadian because you’ve been there for 20 years, it’s a testament to folks that you do belong here. You do belong in open source, you do belong in the Python community. You, Mariatta, belong here and everybody listening, you belong here. And I think even as myself, I grew up in the country I live in, but there are certain times where I just don’t feel like this is the place I want to be. I’m here and I do belong here as well.
But with that being said, I’m curious what advice you have for folks who might not be involved in open source, who might be an immigrant, who might be sort of finding their own way? What sort of advice can you give them to tell them that they belong here, but also that they can get involved?
Mariatta: I would say, you can do this. You belong. I know when I wrote that email to Guido Van Rossum, somehow there was a voice in my head that said, “Who are you? Why do you want to do this?” But you do deserve it. You deserve help. There’s no shame in asking for help. And that’s how you can grow by getting... nobody’s on the top all by themselves without help. There’s a lot of people willing to help. Maybe not everybody. And that’s the thing, you need to find a community who would be able to help you. Find the right community and sometimes it takes tries. And it’s okay if you fail. You can try it again. You can learn from mistakes and do it differently next time. And I’m sure it might not be instant success to you right away, but that’s life. Well, maybe that’s not a good thing to say. It will take time, but I’m sure you can do it.
Kathy: Yeah. I think what you’re saying is keep going and keep... even if you fail, that’s not a predictor of your success in the future. I love that about open source too is that you can keep going and you can find new people all the time that are willing to help you. There are plenty of ways.
Brian: There’s a mentor of mine growing up that used to say, “Most of us are like the rest of us.” And I think there’s a lot of similarities in your story that we can sort of pull out and see in ourselves.
Mariatta: I’m proud to be where I am now. I have a job, I have a family and I know it’s simple, something that’s so basic, but I know I’ve worked hard to get to this stage of my life. I’m proud of surviving all of this and continuing on. I think one specific moment was when I was on stage to receive the Python community service award and Eva she... all the recipients went on stage and Eva started saying one by one what are our contributions. And as I heard what Eva said, I was like, in my head, did I do that? Is that really me? And again, I had to tell myself, yes I did all of that and I need to take credit for it and be proud of it. So that award is still something, I have it in my arm’s reach. You can’t see it, well I have it on my desk. I look at it whenever I feel that imposter syndrome coming and looking at it reminded me that, no it’s not imposter syndrome. I deserve this. I’ve done a lot of hard work for this.
Kathy: Yeah, I think a lot of people are going to identify with what you were saying and I just want to thank you so much for going there and sharing things about your history and your story that I think a lot of people are going to find very inspirational.
Mariatta: Thank you so much. I really appreciate this opportunity.
Brian: So good to have Mariatta Wijaya on the ReadMe Podcast. To learn more about Mariatta and her work on Python, you can check out her feature on The ReadME Project (GitHub’s ongoing effort to amplify the voices of open source software) at www.github.com/readme.
I am Brian Douglas, and I am a developer advocate here at GitHub.
Kathy: And I am Kathy Korevek, I work in product at GitHub. The ReadME Podcast is a GitHub podcast that dives into the challenges our guests faced and how they overcame those hurdles. In sharing these stories, we hope to provide a spotlight on what you don’t always see in the lines of code, and what it took to build the technology that inspires us all.
Brian: It’s been really great spending time with you. The ReadME Podcast is part of the ReadME Project at GitHub, a space that amplifies the voices of the developer community: The maintainers, leaders, and teams whose contributions move the world forward every day. Visit GitHub.com/readme to learn more.
Our theme music has been produced on GitHub by Dan Gorelick with Tidal Cycles. Additional music from Rhae Royal and Blue Dot Sessions.
The ReadME Podcast is produced by Sound Made Public for GitHub.
Please subscribe, share, and follow GitHub on Twitter for updates on this podcast and all-things GitHub. Thanks for listening!