This summer I will be interning at Outreachy for F# Software Foundation working under the mentorship of Enrico Sada on the project “Create FsAutocomplete support for .NET Template Engine (
dotnet new)”. This post is about Outreachy and how I had applied?
Free and open-source software (FOSS) is software that is freely licensed to use, copy, study and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software. Outreachy offers three-month internships twice a year to work in FOSS. Interns are paid a stipend of $5,500 and have a $500 travel stipend available to them.
Once upon a time, around mid of 2018, I came across the word Outreachy. I happen to be a member of my college’s programming club, Aficionados. And the club’s President, Shoeb Patel (former GSoC 2018 Student and OWASP Juice Shop Project GSoC 2019 Mentor) was the one who had put the word across about Outreachy to the club members. I am very grateful to be under his guidance :D. All I had heard till then was about Google Summer of Code (GSoC) which I had assumed was the only place that offered such amazing opportunity. Now that I was introduced to this great internship opportunity, Outreachy, I read more about it. I got to know that I was ineligible to apply for winter internship round as I had my semesters during that period and the internship requires interns to put in full-time, 40 hours a week effort. So, I aimed at the summer internship round.
The intern applications start after Outreachy selects and approves the participating FOSS communities and their projects. To apply to Outreachy, the first thing one has to do is to fill the Initial Application. During this application, applicant is asked to answer questions about their time commitments and also answer a few essay questions. The projects are available to the candidate once their initial application is approved. Once the initial application is approved, the next step is to pick a project that one wants to work on. I had picked up the first project of F# Software Foundation. The community’s landing page had the details about the project and the mentor, about the chat forums and how I must proceed in order to contribute to the project repository. Once a contribution is made the applicant can then fill the final application. The final application involves questions which ask about how one’s experience has been while working with the communities and contributing to the projects. Also during the final application one has to submit a timeline with each week’s plan for their internship. If an applicant is applying for more than one project then those many final applications need to be filled.
I believe the project contribution has played a major role in my selection for F# Software Foundation. I was new to F# language but the F# community is awesome and with its help and guidance I was able to move forward. The first step was to learn basics of F# language, about its functioning and getting used to its working environment. To get a stronger hold it is a good idea to practice some implementations using the language or software one is new to. So, I implemented basic programs in F# and an enterprise implementation of tic-tac-toe game. I then began working on beginner’s issue in the FsAutoComplete Github repository. The task was to add a command, named Fsdn, details of which will be posted in the upcoming blog. It was great to collaborate with my mentor and complete the task :D.
All I would like to say is that one doesn’t need to be worried about applying to Outreachy. It is a process of learning and getting better at our own skills. If the tech/software is new to you then use it, get familiar with it and learn about its working. Follow blogs and articles to get more information. If you are already familiar with it then think about ways to improve it and how you could add better features and functionalities to it. And never hesitate to get in touch with the community. You will get majority of the help from them. :)
Cheers! Happy coding! :)