I began my Outreachy internship as a self-taught front-end developer and I was over-the-moon when I learned I would have the opportunity to intern with the Firefox Add-ons team at Mozilla with my mentors, Bob Silverberg and Andrew Williamson.
As I reflect on this amazing experience, I remember how I had expected to complete a front-end internship project as all of my contributions on my Outreachy application were to issues in the Add-ons front-end project. I had hoped to also fix a minor back-end issue or two, with the guidance of my mentors, as I was not familiar with the Add-ons server project. Oh how I was in for a surprise!
What was one fear you had about the internship that turned out to not come true?
It turned out that my whole internship project involved implementing new features to the AMO Homepage Curation Tool on the back-end utilizing Python and Django, which I had never used. When I learned this, I was afraid I could be terminated from the internship during the first few weeks for either not having any back-end knowledge or not learning fast enough. However, both Bob and Andrew were encouraging, patient, and ready to answer any questions I had. In addition, other Add-ons team members would also jump in when I needed help.
How did your Outreachy internship help you grow your skills?
If my Outreachy internship had panned out the way I had expected, I would currently be limited to jobs as a front-end developer. This internship has opened up more opportunities for me, I can now explore front-end, back-end, and full-stack opportunities.
How did your Outreachy mentor help you along the way?
Both of my mentors, Bob and Andrew, not only provided me with guidance throughout my project and in coding efficiently, but they also taught me community norms as well. I learned to break down my project into smaller issues that would also make it easier for others to review, as well as make the project less overwhelming for me. They were both consistently reassuring and helped build my confidence while I coded in Python and Django for the first time.
How did Outreachy help you feel more confident in making open source and free software contributions?
Prior to Outreachy, I had not contributed to an open source and free software project before as I had imposter syndrome. It was less intimidating when I figured other Outreachy applicants had never contributed to projects before either. In addition, participating communities were expecting newcomers to try their hands at fixing real issues. After I submitted my second contribution, it definitely became less daunting and I began to make multiple contributions a week.
What communication skills have you learned during the internship?
There were rarely occasions in which I had to verbally discuss code with others prior to Outreachy. I’m getting better at being able to explain the thought process I either took or would take to solve an issue.
What technical skills have you learned during the internship?
During my Outreachy internship, I learned a programming language (Python), a web framework (Django), and how to use Docker. I also became more familiar with test-driven development and Git commands.
What parts of your project did you complete?
I completed the feature that provides the admin user with the ability to upload images to add-ons featured on the AMO homepage. The admin is no longer limited to choosing an image from a gallery of pre-selected images.
I am almost done with the second feature. The admin user can now build and reorder modules of pre-defined sets of add-on extensions and themes that will appear on the AMO homepage.
What are the next steps for you to complete the project?
I am currently working on including the extensions and themes defined in each module from the Add-ons Search API to a new API endpoint that the front-end would then access to display the modules on the AMO homepage.
To Sage Sharp and the Outreachy organizers and sponsors, thank you for providing me with this incredible opportunity!
To Bob, Andrew, and the Mozilla community, thank you so much for being so welcoming, for your patience and guidance, and for sharing your knowledge! ❤️