Open Source Contribution
Published: 2020-10-03 06:55:00

At first I was a little overwhelmed when I approached the taskcluster repository because I had very little experience working with such a large codebase the code base with a lot of people making contributions. I had to spend a lot time of setting up communication, running the project locally (with the help of project Readme). I had to spend a very good amount of time understanding the directories, user authentication and how to setup the WSL on my local machine just to get the application to run. It was really challenging to get this project running at first, I was about to give up but again thanks to the mentor for a fine readme which was helpful in setting this project up and running. As a beginner or someone not familiar with the terms and project niche, it was really hard for me to understand the actual purpose of the project. 
Fast Forward, my first contribution includes Center Text Vertically (https://github.com/taskcluster/taskcluster/pull/1676), in the TaskCluster which helps to get the basic knowledge of the Project. I learned to code in Large codebase for the very first time! I spent hours fighting with GIT and making multiple experiments to make my first PR. I am grateful to the mentor for letting me explore and do things at my own and let me learn about more powerful git features. After Successfully landing my first PR I jumped over the next issue Which is about Make Home Page Mobile Friendly (https://github.com/taskcluster/taskcluster/pull/1692) and in this issue I learned about Material-UI and its way of using CSS in JavaScript.
A few things were new to me like I am now more obedient to ESLint than my parents. For this issue I was not confident about PR and my code quality but i really got motivated and excited when my 2nd PR got merged. My Mentors congratulated me and motivated me for doing more issues. My next issue was bit trickier and introduced new concepts to me (Confirmation pop-up) (https://github.com/taskcluster/taskcluster/pull/1742). I learned about more about user interactions in regards to how they use taskcluster and even more so about continuous integration. So, I added the dialog pop-up that will render before so users will have to confirm deletion in the Worker Pools list. Thanks to my mentor for providing me the relevant links to know more about the implementation. It was a very informative and challenging issue. Open source has become my new love and now i am after bugs rather jobs ;).
My next issue was about Align Artifact name (https://github.com/taskcluster/taskcluster/pull/1768). This one is somehow related to My first issue. It was also a confidence booster when my proposed solution was accepted by mentor although I was not confident at all while proposing it. I must credit mentors for their patience and help in letting us make mistakes and learn from them. 
My next Issue was about Filter dropdown sometimes shows an error (https://github.com/taskcluster/taskcluster/pull/1824). This issue looked simple but it was the one that tricked me the most. I learned to use ramda js helper function which I never used before.
 Thanks to my mentor for providing relevant links to study this library. My overall experience comprises of nervousness, excitement, happiness, confidence, frustration, learning, competing, solving different challenges, understanding project and learning new concepts and much more. This is the month where even my weekends were productive. All mentors and contributors are always helping and motivating, celebrates even a small achievement not making us feel dumb at all. My experience is great up till now I’m looking forward to contributing more.

PS:
I have managed to qualify for Hacktoberfest 2019 by making 5 PRs in this process also made my first viral tweet about my first PR. Too much happiness in one month. Thanks, Outreachy!



Experience with other communities:
I am an active user of FreeCodeCamp and love the community but i never contributed to their code base but still, I am a big fan. It really helps me in polishing my skills. Also, FreeCodeCamp discussion forums has a great community of resourceful Developers who are always ready to help . FCC is a great platform for beginners. It’s very user friendly and teaches coding in a very easy manner. It’s like a game, when you start any game we have certain instructions and we follow them and cross the levels, in the same way the FCC guides us to each and every level and teaches us the different aspects of coding with fun. I also serve as a helper of many code Newbies on FCC Forum who are seeking for the help. The best thing about FCC is that their all the stuff is free so everyone has access to it and I am a firm advocate for open access to information and technology.

Relevant Projects:
I have been learning and practicing JavaScript for around 6 months now. I previously worked on a PHP and WordPress project. But learning JavaScript  was totally weird and fun. I developed my personal site on JavaScript (ReactJS). More Information  about the site: https://www.naimashaikh.dev. I implemented all the concepts of ES6 in this personal site and i used Styled components for styling  which was new for me. This site showcases my resume, Github account link, Blog, Twitter account, My contact info and more general information about me.
This is a medium-sized real project in which I have implemented all my learnings after many small throwable apps. Currently, the database is not working on a live site due to some issues and not having the right time management. I also have some small dummy applications written in ReactJS which are available on GitHub but not on a live server. Those are small learning applications which I am working on improving my skills. More information about the code is available at GitHub repo: (https://github.com/naima-shaikh/React-Practice).
I also have started working on my E-commerce Full stack JavaScript Project but the project is under development. More information about the technology stack and  code is also available at GitHub  repo:
https://github.com/naima-shaikh/my-app