A Contributor’s Story with Steven Hansel

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 developing it.

In this blog post, we’ll be talking to Steven, a Docusaurus employee who works on the Docusaurus CLI through the Major League Hacking (MLH) grant.

“I want to learn how to contribute to the open source community by creating impactful projects.”

Tell us a little about yourself and your current experience in the MLH scholarship.

I am an aspiring software engineer currently studying computer engineering at Bina Nusantara University. I’ve always been passionate about software development and I really enjoy coding. I like when you develop software, there are an infinite number of things to learn. Personally, I really like being challenged, adapting, and learning new things along the way.

I’ve been developing with JavaScript / TypeScript for about a year lately and it’s been a fantastic journey as the community is really helpful and supportive. Through this community I was able to find various opportunities such as internships and hackathons that ultimately led me to the MLH Fellowship. I applied for the Open Source Track because one of my goals was to make contributions to the Open Source space and contribute to project and community health.

Where did you first find out about open source? How did you come to use / contribute something?

I first learned about open source when I learned about JavaScript & Node.js, which is where I was introduced to NPM packages. From there I learned that all of the libraries, frameworks, and programming languages ​​that the community is familiar with are made possible through volunteer contributions from other developers. That’s when I realized that open source plays a really big role in the software world.

I think it’s really nice that random developers come into your project and then make small to effective contributions. For me personally, I like to know that my contributions will benefit the future open source community.

Before the fellowship, I tried to contribute to open source, but I felt that my skills weren’t enough. After joining the MLH scholarship with the help of my technical mentor and project supervisor, I was able to increase my pace and learn to introduce myself to a new open source project.

Describe the project you are currently working on.

I am currently working on the Docusaurus project on the MLH Fellowship, a library with which technical documentation and content can be created in a flash. The main attraction of Docusaurus is that it allows you to focus more quickly on the content rather than the code. With other front end libraries / frameworks, there are usually many basic elements like styling, data retrieval and other things to consider before you publish your site or content. Docusaurus eliminates this by giving you a lot of buildable, customizable features that are very user friendly and allow you to create your own content quickly.

How did you initially go about approaching the problem?

Originally I was assigned to a problem in which I had to revise the starter template for the v2 Docusaurus CLI, as the starter template is not really documentation. At first it was difficult for me because I was new to the Docusaurus project and didn’t know how to navigate through the huge project on my own. However, with the support of the technical mentor and project supervisor, I was able to find a solution and open my first pull request for the project.

What obstacles or problems have you faced in your post so far?

Time management is definitely a big problem for me because I’ve tried to strike a balance between university work and open source work. However, that balance definitely helped me force myself to learn how to better manage my time. That being said, I think my lack of knowledge of the Docusaurus architecture definitely slowed me down at first, but it’s a skill that extends beyond projects. This takes time, but for people just starting out with open source, I recommend familiarizing yourself with the jargon within the project first so you can quickly identify aspects of the code.

What is the current state of development?

The community and the project are very active. Docusaurus has just released version 2. It is therefore expected that many comments, feature requirements, and issues will be fixed when the community adopts the new version.

What have you learned about the project, development or open source so far?

The most important thing I’ve learned from the fellowship, the open source project supervisors, and the Docusaurus community is that I can contribute to open source and be familiar with my skills as a software developer / developer. Personally, I think it is difficult to express your thoughts, which could be pseudocode, algorithm, or anything else (especially remotely) while overcoming the fear that my solution would not work. But I learned one very important thing in contributing to Docusaurus, and that thing is that what matters is that you tried your best to solve the problem. Yes, maybe the code is ugly, maybe the solution is not optimal, but what matters is that we’ve already tried our best and can always work together to make the solution even better.

What advice would you give future contributors to the open source project?

Play around more with Docusaurus, try out a personal project with Docusaurus, for example create your own personal website / blog or something similar. Using and understanding the open source project you are interested in will make you part of the community and more motivated to contribute to the project.

We’d like to thank Steven for her continued contributions to the Facebook open source ecosystem. You can follow Steven’s work on GitHub.

To learn more about Facebook Open Source, follow us on Twitter, Facebook, and YouTube for relevant updates, and visit the Docusaurus website, Twitter, and GitHub to learn how to get started.

Comments are closed.