A Contributor’s Story with Lisa Chandra
The Contributor’s Story series is designed to give our key open source contributors and community members a face and voice, an overview of the projects they’re working on, and the successes and challenges contributors face in development.
For this blog post, we spoke to Lisa Chandra, a Docusaurus employee who works on issues and code efficiency as part of the Major League Hacking (MLH) scholarship.
“I believe this is one of the greatest ways to learn and grow in this area.”
Tell us a little about yourself and your current experience in the MLH scholarship.
I heard about the MLH community through my friends last fall. I hadn’t found much time to apply until I came across some Reddit threads this spring discussing previous colleagues’ experiences. I searched blogs to learn more about the fellowship and found that it was a useful learning experience that I didn’t want to miss. I soon filled out my application, got through to the interviews, and made it to the spring batch of 2021 for the open source track.
Where did you first find out about open source? How did you come to use / contribute something?
I believe open source is one of the best ways to work with teams, build a network of mentors, and use feedback from users to improve the quality of your code and project.
I first learned about open source when researching Google Summer of Code. I joined GSoC for OpenRefine in 2020 – it was a great introduction to the world of open source. After that, I went through GitHub and found a lot of projects that I would have liked to contribute to, most of which are part of the Fellowship and Facebook.
Open source definitely has a learning curve due to the size of the code base a project can have, but once you get the hang of it and start contributing, it’s addicting! For me it has become an essential role in professional growth in terms of teamwork and the quality of the code you produce. I am glad that I started doing this through the fellowship.
Describe the project you are currently working on.
I’m currently working on Docusaurus, a static site generator that can be used to quickly create optimized websites. Docusaurus focuses on making it easy for teams to publish technical documentation without worrying about infrastructure or design details. It has great features like versioning, i18n, and search. It is powered by MDX and created with React.
Most of my work revolves around prioritized problem solving. This includes weekly meetings with the maintainer to discuss updates and new issues that need to be resolved in order to make Docusaurus more efficient.
How did you initially go about approaching the problem?
First we had to set up the project on site and pick a topic of our choice that we wanted to work on. I started by creating a filter for the Showcase website and moving migrated websites from the Docusaurus Version 1 Showcase to Docusaurus Version 2. To fix this problem, I wanted to familiarize myself with the code base and the tool itself. I focused on playing around with Docusaurus a bit until I was comfortable with the tech stack. Playing with the technology, I figured out how to deal with the problem and come up with some logic for the filtering. This eventually led me to come up with solutions and create a pull request. After the PR was created, all I had to do was work on the maintainer reviews and update the code.
What obstacles or problems have you faced in your post so far?
Before starting this project, I didn’t have a lot of hands-on experience with React. There was a learning curve that went beyond the project. I had help from my tech mentor as well as the supervisors which made it smooth to boot up. By establishing a relationship with the supervisors, I received direct suggestions for topics to review and view resources that helped me learn a lot about the best practices to follow when working on a project the size of Docusaurus .
Another intimidating thing was the size of the project. It took some time to get used to it. The wonderful documentation and the project tour that we received as part of the introduction helped me a lot at the beginning.
What is the current state of development?
My colleagues and I have managed to work on many open Docusaurus topics and will do even more after the fellowship ends. Working on this project has been quite an experience for all of us: due to the practices we had to follow and calibrate for reviews, we were all pushed to work harder and produce more quality code.
What have you learned about the project, development or open source so far?
As I mentioned earlier, Docusaurus is a pretty large project that offers a variety of new learning opportunities. I’ve learned many best practices that I need to follow when contributing to a large technical project, as well as how to prioritize the maintainability of the code I write. I also gained extensive experience in a team and worked together remotely.
By incorporating open source, I also became more confident in my work and was able to adapt quickly to changing requirements. This is one of the best experiences I’ve had with open source. Not only has it improved my technical skills, it also taught me how to meet new challenges and keep learning and growing as I keep working and contributing to the community.
What advice would you give future contributors to the open source project?
If this is your first time contributing to a project, it’s important not to be intimidated by others’ experiences or the amount of code on a project. All you need to remember is that you are contributing to a community where everyone wants to learn and grow together while building something that would help many people.
Once you add your first line of code, solve your first problem, or submit your first pull request, most of your inhibitions disappear when you realize how quickly everyone can help, answer questions, and welcome you to the community. In open source, you will learn a lot about technical skills and gain insight into the most important aspects of participating in a large project.
We’d like to thank Lisa for her continued contributions to the Facebook open source ecosystem. You can follow Lisa’s work on LinkedIn.
To learn more about Facebook open source, follow us on Twitter, Facebook, and YouTube for relevant updates, and visit the CrypTen website and GitHub to learn how to get started.