Aisha Khatun

Blogs

Getting started with Outreachy

Published Dec 01, 2020

Hi, I am Aisha Khatun. I am a machine learning and data science enthusiast and thrilled to have been selected as an Outreachy intern for the December 2020 cohort!

This time 1,952 initial came in, 650 applicants were approved to participate in the contribution period. There were 83 internship projects to choose from! 255 applicants contributed to various projects and 54 applicants were accepted as Outreachy interns. I was one of them!

In this blog, I want to share my journey into getting accepted as an intern in Outreachy where I will be working with Wikimedia foundation on the Wikipedia abstract project. I will share more about my work in a later post, but for now, I wanted to highlight what this internship entails and how you can get it too!

Contents

  1. What is Outreachy?
  2. What is Open Source?
  3. Preparations for Outreachy
  4. Initial application
  5. Contribution phase
  6. Submit final application
  7. The Internship
  8. Pro-tips

What is Outreachy?

Outreachy is a paid remote internship for 3 months with free and open-source software (FOSS), encouraging underrepresented communities in tech (but is open for all to apply), available twice a year. Outreachy has certain eligibility criteria, so make sure to go through the website for all details. In short, it is open for both students and non-students, and the amount is not small, so students may want to take note!

What is Open Source?

Some software’s are free and some are Open Source! It means you see the source code, you can edit the code, you can tell the maintainers - “Hey, I can fix that bug” or “I implemented a new feature, wanna add it?”. Now, these may sound intimidating at first but it’s REALLY not.

What will they get out of Open Source?

Anyone willing to spend some time on the project is a developer. That many minds can find bugs easily, grow fast, and maintaining the project becomes manageable. A whole community surrounding a project makes it much more robust than a small team.

What will I get out of Open Source?

Glad you asked!

  • First of all, you learn things you would otherwise need a formal job to learn, like how a real project is built, maintained, and scaled.
  • Second, open-source or internships through open-source (e.g Outreachy, GSoC, GSoD) give you the experience you were looking for. Especially for students in their junior or senior years. Working on real world projects gives exposure to what things are really like out there, and you can even learn lots of tools and techs that otherwise you wouldn’t even know about with your small single-person projects. These experiences can reduce the initial blow as you enter the workforce as well.
  • Lastly, you gain experience and get to be part of some amazing communities. Every project has a community surrounding it, updating on its progress, prospects, and so forth. Not only will the main developers help you out, but you will also get help from the whole community.

Preparation for Outreachy

Outreachy gives internships on various open-source projects. You work on a few projects, communicate with the team and your mentor along the process, and hopefully get accepted to be an intern with one of those. Outreachy promotes open source contributions but it is not a prior requirement. I was new to it myself, so it doesn’t matter. What matters is - are you willing to learn?

I should admit there is quite some competition here, so getting your hands dirty well before required may be a good idea. Here is what you should be doing as some preliminary steps:

  • Go to the Outreachy website, get into the mailing list, and follow the outreachy announcements. You will be notified when applications open. It’s all on the website too. Read the applicants guide and this. Go through the website.
  • Take a look at past projects. You will get an idea of what kind of stuff is out there. Some communities/foundations bring projects every season (e.g Wikimedia, Mozilla, etc). You can match your skills with what is required for those projects and try to put in some contributions. This way you can get acquainted with the community as well (from where you get your future mentors). Note that this step is completely optional, and you can practice open-source however you wish. You can follow this if you’re not sure where to start.
  • Use languages you have intermediate skills at. Take yourself there.
  • You could do a little VCS (e.g Git and GitHub) revision or learn some basics if you don’t already know. Nothing fancy, basics will do, just so you know your way around a project’s repo.
  • If you haven’t participated in open source before, it is recommended to read the book Forge Your Future with Open Source and follow these: https://lab.github.com/, https://up-for-grabs.net/
  • Once you’ve selected a project to work on, look at how to set it up. You should find some good docs on how to start as a beginner. To start slow you can contribute to the documentation if possible, otherwise, you can find labels for issues in their repositories (e.g in Github) for beginners like good-first-issue.
  • DO NOT be intimidated by the size of the project or the number of people. Focus on the small tasks at hand, talk to people in the community if you want to know more or are stuck. People are more than happy to help, just keep your calm and be nice and polite. Don’t expect immediate answers, you may ask again if it is taking too long (several days).

Now you are an open-source contributor! Give yourself a little pat on the back and continue your journey. You can now take on a slightly not-for-beginners task or do some more beginner tasks. If you are confused which task is suitable for you, ask someone.

Just a heads up: It’s not required for you to have done open source before getting into Outreachy but it won’t hurt to try some, right?

Some other tips:

  • It may be a good idea to make yourself a blog. Blogging is a good idea anyway. Write for the you of 6 months ago. Whatever hurdles you had to overcome, you can make it easier for someone else by putting it up there. See this for some more motivation.
  • Also, Outreachy requires you to write bi-weekly blogs on your personal website. So setting up a site before-hand is helpful.
  • You can create one with WordPress, create an account in dev.to, or spin up a website in GitHub itself (e.g tanny411.github.io).

Initial application

The first step is the initial application. It is a crucial step where you write your story. Since Outreachy supports diversity in tech, they will ask if you have faced discriminatory situations, how you feel about those and what are your personal motivations to keep working in tech. Be articulate in your essays, be clear, be specific. Fill the form early and revise at least twice. Make your essays are perfect, you get selected for the contribution phase based on these. Don’t over-do it though.

Contribution phase

Once you get selected for the contribution phase, it’s time to show your magic! Basically, you work with mentors on a project, mentors select 1-2 candidates per project for the internship. See what mentors look for in a Outreachy/GSoC intern. But remember! Your work talks the most, don’t let your past experiences and unfamiliarity with open source be a barrier. Break those barriers, try a second time if the first time doesn’t work out. You would have already broken your entry barriers by then for sure!

  • Go through the projects available for you to contribute. Don’t overwhelm yourself with all the details. Match your skills with what the project mentions is required to work on it. Then look at the details of the few selected projects.
  • It’s best to start with a project which requires languages and skills you are really good at. Consider how interesting it looks, that way you can enjoy the ride.
  • Do your research about the project and then follow the guidelines laid down by the mentors. If unclear, ask them. Communicate with your mentor, engage in the community. Mentors are super friendly, so ask when stuck or to clarify your issues. Ask them for reviews of your work from time to time, this will steer your work in the right direction and improve your shortcomings.
  • Solve some first issues and record your contribution on the Outreachy website. Don’t forget this part! You can list multiple contributions for a single project. Some projects have micro-tasks, others just ask to solve some issues. It depends on the project needs, so follow the instructions. They will check your skills based on your work.
  • It’s best to try to contribute to more than one project to increase your chances of getting selected.
  • Start immediately and stay on top. Contributions can take up to a week, so manage your time well. And again, don’t expect immediate responses, people here are from across the globe. Respect the time differences and their working hours. Help others along the way if you can, why not?

Submit final application

After you’ve made some contributions, it’s time to submit your final application. This application contains links to your contributions and your proposed timeline for the internship task, besides some other questions. Start this application early, you can edit it till the contribution phase ends. You are required to submit a final application for each project you worked for. Run your final application with your mentor and ask for reviews.

The Internship

Hurray! The internship! Your hard work pays off and you get selected for one of the projects you worked on. Now what? You work with your fav community for 3 months as a paid intern. You get to keep your mentors!

At this point, you should go through the internship guide on the outreachy website and start planning your work. I found it best to create a separate calendar in google calender and create events for the biweekly blogs and community chats. I set it up so that I get email notifications 5 days before and on the day of the event itself. I will be setting up other tasks accordingly. Plus, I made a google doc to keep track of all outreachy things I need to remember or review, todo, so on.

The best part about Outreachy, I think, is that it builds experience, it’s paid - much like a full-time job. BUT, you get flexible hours, super nice mentors and there is no interview, resume screening, broken coding interviews, and whatnot. Sadly it lasts only 3 months, but the good news is it’s open-source! So if you like (and it is recommended), you can continue to keep in touch with the community and contribute to your project. Based on your performance, your mentor and others involved in the project may want you as a mentor next year! But most important of all - keep you open-source alive!

Some tips to work remote:

  • Fix your 8 hours a day (for 40h work week) and stick to it.
  • People in your team (and your mentor) maybe from a different time zone. Keep note of when they are available usually.
  • Try to adjust your work time to overlap as much as you can with your teammates or mentor.
  • Communicate your progress, ask whenever stuck. And be honest and excited about your work. You chose the project after-all!

Pro-tips

In case you are hell-bent on getting the internship, you may want to know some things more.

Payment options

Outreachy gives us the option to choose how we want to be paid (as of 2020).

  • USA - PayPal or get a cheque via post.
  • Outside USA - Wire transfer to local bank in local currency
  • Outside USA - Cheque in local currency via post - Not recommended, last resort option.

For receiving payment outside USA clearly wire-transfer is a better option. The latter option takes more time and is too involved. We are required to give our payment info within 10 days of the start of the internship, otherwise the payment is delayed (Don’t stress, they will send a mail and tell you what information to provide exactly). If students take the internship, most often than not you may not have a bank account. This procedure may involve some time, so you may want to set one up, especially your own account. Someone elses account is fine too but you will have to fill an extra form and stuff. If you are going to have a bank account anyways, it may as well be now.

If nothing else works, go for the last option. It will work, you have to be patient.

Tax form

Another information you will be required to provide is your tax info. Look at this section only after you’ve received instructions for it through mail. There are 2 forms and you select one based on some criteria such as ‘are you a US citizen?’ etc. Those instructions will be given. I filled the W-8BEN form so I don’t know about W9.

W-8BEN

Most of the fields as intuitive, so fill ‘em up.

  • Make sure you follow the format given for the dates.
  • For No. 6, if you’re from Bangladesh put your TIN number. If you don’t have one, create a eTIN. Should take just 5 minutes. If you’re a student, put your source of income as others.
  • Since the money is coming from the US, they will keep 30% of the income. Unless your country has a treaty with US to exempt or reduce tax to prevent double taxation. Know more about tax-treaty here. Check if your country has a tax treaty with US. Countries that have a tax treaty with the US can be found here. Bangladesh has tax-treaty with US, see this for more details.
  • If there is a tax treaty, fill Part II to claim your tax treaty benefits. For the purposes of this internship, simply fill No. 9 by writing the name of your country. If you don’t fill this part, you will be charged 30%. You can leave No. 10 blank.
  • Digitally sign it. Typing in your name won’t be enough. You can also print -> sign -> scan -> send the scanned pdf. Simple!

Additional help to fill tax form:

Receiving the first payment

If you don’t already know, you will get your payments in 3 parts. If you are new to getting wire from a foreign country like me, read on. When they send the payment, they let you know by mail and you are supposed to get it by 10 days. For me and another intern in my country, we had some issues.

The bank is supposed to call you and ask for your documents to verify and then complete the transaction. But I did not get any call from the bank and even on calling them, I could not get things going for a week. Then I finally went down to the bank in person and they made a couple of calls and said my payment has in-fact reached my country and that I should have gotten a call (which I didn’t). Then I provided by internship contract, email conversation that said money was sent (as a invoice), email conversation that said I was accepted as a intern in Outreachy (because the internship contract did not have my name explicitly). For further clarification you can send a copy of the outreachy alums page, which will have your info when you’re selected. Then things started rolling and I got my payment in 4-5 days. The delay because there are multiple banks involved and so multiple verification steps I think.

Another issue you may face, although I did not, is that the bank considers this money remittance instead of payment and so want to deduct 10% off of it. Outreachy internship is a independent contract, so it falls under freelance category, for which there is NO tax cuts (except for income tax). The confusion arises in part because outreachy internship does not specify explicitly that it is a software engineering work. So you need to convince your bank (through outreachy website front page maybe?) that this is in-fact a freelance job and is not subject to any kind of tax deductions.