Welcome to the Community Guide! Here you will find useful resources that will help you get familiar with the Scientific Python community.
Meet some of the members of the Scientific Python community.
Hello everyone, I’m Juanita welcome to the Scientific Python interview! Today we have Melissa from NumPy. She is an applied mathematician and she is also a former university professor who turned into a software engineer. She has been involved with the Brazilian Python community for some time and she has focused on outreach and education. Right now she’s working at Quansight developing open source software and she is also the maintainer for NumPy so thanks for being with us Melissa, can you introduce yourself?
Thanks Juanita, so yes I am based in Brazil and I have my background in mathematics but right now I’m working on Numpy specifically focusing on documentation, community and a little bit of code. I actually… As I came from a mathematics background and an education background, working with documentation is something that is really close to my heart and I like doing that a lot just because I like teaching people and writing technical documentation seems like a good fit for me. Yeah it does sound like it. I really love writing documentation as well.
So so what drove you to contribute to open source and and what was your first open source contribution? So yeah, I had been around open source for about 10 years since I started my phd and started investigating different ways of doing open science and started investigating ways of not using um software you know using open source software to do research and around that time Python was exploding around scientific communities and so I ended up learning Python and understanding that the community was actually larger than the language in the sense that um I felt welcomed in the community and so I stuck around. However, I didn’t think I was fit for contributing for a long time, I think I had a lot of other responsibilities and work and family and being a mom and not having that much free time. I just felt like I didn’t have the necessary commitment to contribute to open source and so my first contributions were actually um already tied to my recent work at Quansight. So I started working at Quansight around two years ago and that’s when I actually started contributing.
How did you end up becoming a maintainer and and what do you think was the greatest challenge to to become that? I think because of the transition from academia to developer I call myself a junior senior. I had to relearn a bunch of stuff even though I had a lot of experience in academia and so figuring out the right processes and workflow for software development were sometimes a challenge but at the same time there’s also the challenge of people and the dynamics of the communities and understanding how people decide things in an environment that is sometimes chaotic like an open source community where you don’t necessarily have rigid structures and processes and just understanding every little piece of the project. And when you maintain a project obviously there are smaller pieces that you’re kind of comfortable with and others that you’re not, but sometimes you’re required to do code review or to guide people through a contribution and you have to figure things out as you go and so this has been super fun but at the same time it can be uh it can be very challenging.
Yeah it sounds like it. So so what do you think you enjoy the most about working in open source? I think one of the things that drove me to open source in the first place and that makes me stick around is the community. Like I said before and I really like working with people and so even though we do have that thought sometimes that developers like computers and they don’t necessarily like other people. I don’t think that’s true and I think there’s no way to have a successful open source project if you’re not able to communicate, if you’re not able to empathize and to be able to just reach other people. I think it’s it’s very much a people-oriented job or at least some parts of it are and so um I think working at NumPy has been super fun because the people are so nice and it’s been wonderful learning with them and so as I do documentation or you know code review or I have questions, they are always so open to answering questions, to mentoring, to teaching, and i think that’s a very valuable thing just having the experience of being near people um who can teach you stuff is wonderful and so I think that’s the part that I like the most.
That sounds great ! So now that you’ve talked about documentation and community um I would like you to maybe talk about the other contributions that people can make to open source without much coding experience, which I’m assuming it’s like a big questions for a lot of people.
Yeah so I think there’s of course there is a focus on code when you talk about open source projects because ultimately there’s code um at the core of it, but there’s just so much more that needs to happen for an open source project to to be successful. And so i think recently people have started to realize that one person cannot do everything and so in the past it was common to expect of maintainers, especially code maintainers, that they would also do all other sorts of things like documentation, community work, translations and graphic design and that’s how we end up with like really ugly logos and uh people who don’t know how to write technical documentation end up doing that because there’s no one else to do it. And sometimes we say that people don’t do that because they don’t want to, but that’s because we’re only looking at the people who write code and we’re not giving space for people who like writing documentation or doing community work or doing design to approach these open source projects. So I think one of the things that we’ve been working towards is improving uh not only diversity inclusion and equity inside these projects (and this is part of a recent czi grant that NumPy, SciPy, Matplotlib and pandas have just received to work on diversity inclusion and equity in our projects), but it’s also a part of diversifying the past for contribution and making sure that people from different backgrounds and from different uh life histories and that have different levels of knowledge can also contribute. So it doesn’t have to be just code it can be just organizing, community, translation, it can be technical writing, it can be design, it can be website development. There’s there.. I think we’re starting to realize in several different projects and communities that a lot of thing has to happen for a successful project to move forward and to be sustainable.
Yeah I think that that pursuit of diversity it’s really necessary in open source because like many skills are needed for for an open source project to be successful so I think it’s really great that you you’re also part of like this “chasing people” with other skills. So I also wanted to know what are the things that you find challenging about the open source community and what would you like it to see go in the future?
Yeah so I think that’s very tied to the previous question and we we want more people to be involved in open source but it’s not just all more of the same people; we also want to make sure that different groups of people especially what we call today underrepresented groups in open source or in technology or in STEM have access to these projects and can also contribute their own thoughts and knowledge and experience to these projects. And so I think there’s a real problem for example, because a lot of these open source projects are volunteer based uh it is clear that not everyone has the financial security, or the free time, or the life organization to be able to dedicate their free time to open source to volunteer and do software development for many hours a week. And so this ends up selecting a group of people that we know uh it’s it’s um a homogenous group of people, so we would like to see more people from the global south, we would like to see more people from indigenous communities, we would like to see more people of color, we would like to see more different people participating in open source; and so um I think the opportunity to invest in open source as professional development and making sure that people are actually paid for their work pay for their labor is something that has a lot of potential in terms of improving our communities and so I think the challenge of that is finding funding but also rationalizing and deciding the path forward for each community and deciding uh where people want to go. um yeah
Yeah I think diversity would be like a very good thing for for our open source community and I think those um like mentoring program programs I that you work at I think they’re going to take us there like soon so I really i’m really grateful that you’re working on that. Okay so so one last question: can you give some advice to someone that wants to contribute to open source?
I think the basic advice that everyone gives and, I don’t know if it’s correct or not, is to scratch your own itch, which means find a project that you’re interested in that will maybe help you do your work better, or that is maybe something that you’re already familiar with and that interests you that actually drives you to contribute and to offer that time to your open source project, and so find something that really sparks you know sparks joy um and this will make you feel more comfortable and this will also make you feel more motivated to contributing. On the other side i think it’s also important to find ways of communicating with people from the projects and when I was a professor I used to tell my students: “you have to have study groups, you have to get together and do things together and feel empowered as a group and this will help you move forward because if you have a question you have a colleague that might help you and you will support each other” and the same goes for open source development. If you feel like other people are in the same situation as you and they are also learning and they are also needing help, it’s usually easier not to feel that isolated. So communicating with other people who are also working in the project, both in a peer group or in a mentor relationship, I think is super important if you have that opportunity. So I know that a few projects at least have you know slack spaces, or discord spaces, or forums where you can reach out to other people and ask questions and and maybe work together and I think that’s super important; so that’s my advice.
Thank you, I think those were two great advices: so look for the project that is right for you and look for the best way of communicating with people from projects that you are working on. I think that’s all for today and thank you so much for joining us um bye bye and welcome to the Scientific Python community!
Scientific Python is community driven since projects are developed and maintained by open source communities. This is why we are looking for ways to expand our community in a welcoming and inclusive way. We have several ways for you to join us:
Follow us on our social media channels and share our content with the community!