Introduction for OSD600 class
Tags: opensource, webdev
Published: 2023-09-09 00:52:28

Hi, my name is Amnish 👋. I am a 3rd year Computer programming and analysis student at Seneca College. I did 2 coops as a junior Angular developer at Ontario Treasury Board Secretariat, and am currently working at the same place on a part-time basis.

I got to know about open-source around a year ago, when one of my friends told me about [GSOC (Google Summer of Code)](https://summerofcode.withgoogle.com/), an internship oppurtunity by Google where participants spend their summer working on an open-source project if their proposal is selected. The preparation for the contest takes around 7-8 months and the entire process is super competitive, which means the individual needs to be really motivated and consistent in order to crack it. However, I wasn't able to try it as the very next term, I got busy with my coop and almost forgot about it (the learning curve is real 📈).

**OSD600** is an excellent oppurtunity for me to finally get to know more about open-soure, and start contributing to real-world projects 🐱‍💻, other than my coop codebase that I've been looking at for more than a year now (Trust me it gets boring).

## What am I looking to accomplish?

As mentioned earlier, I am excited to look at the codebases of real world projects and take the best possible benefits out of this course. Contributing to different projects, although tedious, comes with huge learning potential and will go a long way in helping me stenghten my skills for technologies I always wanted to get better at.

Since most of my experience is working on UI, I am looking forward to contribute to front-end of projects using different frameworks. I would give preference to **Angular projects**, possibly [Angular Material](https://github.com/angular/components), as I really want to see what kind of patterns are used in other projects, that are different from what I've been working on. I have too many questions in my mind - 

- Are we following the best practices in our company?
- Are there any patterns that our company doesn't use? I could potentially learn something to improve our code.
- How well do other project maintainers document their code, compared to what we do?

The answers are yet to be discovered!

I would also like to contribute to projects using other frameworks like **React**, which I don't have much experience with, but this is the best oppurtunity to hone my React skills.

I'll also keep an eye out for projects using technologies I've never used before but want to learn, particularly **Electron.js**.

## Material-UI (React)

Today, while looking at the list of trending repositories, I found [Material UI library for React](https://github.com/mui/material-ui) and it instantly caught my interest. Here's my fork 🍴 - [https://github.com/Amnish04/material-ui](https://github.com/Amnish04/material-ui).

React MUI is an extensive component library providing all kinds of elements ranging from buttons, inputs to modals, grids, alerts, and the list goes on...
I used this library last semester for my React assignments, and I've been curious to see what's under the hood. That is the reason I chose this project and will possibly also try to contribute to this project.

Thanks for reading!