Getting into Outreachy
Getting into Outreachy is a long process that requires a lot of effort. In order to have a chance at an internship one has to:
Look through all the participating organizations.
Read up about the projects and find relevant bite-sized contributions.
Make a small contributions and communicate with mentors.
Write an application and submit it before the deadline.
Keep contributing and communicating.
You can find more details about the process on the GNOME wiki - I’m not going to dive into that. I’d like to reflect on what helped me, as it might be useful for next round’s applicants and tech newbies in general.
Fight the impostor syndrome.
First time I’ve heard about Outreachy, I wasn’t sure it was for me. The application process alone was enough to make me doubt my skills.
A little bit of background here - I’ve had my fair share of programming experience over the past 10 years, but I’ve never worked as a real developer (apart from this one time at a startup, when it didn’t feel real enough). I come from a quant-economical background and I’ve been mostly working analytical and consulting jobs over the course of my career. Around February this year I’ve decided to take a sabbatical and become the developer I’ve always wanted to be.
During my Outreachy application process I’ve been staying in New York, taking part in the most wonderful programming experience as a participant at the Recurse Center. I was immersed in a friendly environment, full of brilliant people who wouldn’t take I’m not good enough for an answer.
The Recurse Center founders tell us we’re a part of the community and they want us there on the very first day of the batch. That alone made me feel more of a programmer. They also tell us about the importance of self-motivation and the risk many smart people face - the impostor syndrome.
If you are thinking about applying, you are good enough. Challenge yourself and fight your impostor syndrome. We’ve all had to begin somewhere.
Find your motivation.
Why did I want to get into Outreachy in the first place?
What helped me a lot was talking to many people about the idea of applying. I was shy about it, so at first I asked only the people I felt very comfortable with - my closest friends and RC facilitators. While answering their questions, I’ve stated my doubts (and there were a lot of them!) and pointed out the possible benefits of Outreachy, to get myself more and more excited about the idea of applying:
I was too stressed out to apply for real developer jobs.
I’ve decided only recently to switch careers and become a full-time developer. I felt that Outreachy would be the next logical step for me, as it seemed like a safe yet challenging environment for a newbie developer.
I wanted a remote opportunity, as I was not sure if I’d like to move abroad for a developer job.
This meant I was looking for something that’d allow me to work from Warsaw and gain enough experience to decide what should my next step be. Also, getting a job as a remote developer requires remote experience, so it would benefit my future career.
I’ve always wanted to contribute to open-source projects, but I was too scared to start.
It seemed that with my mixed experience and only so much time on my hands while working analytical and consulting jobs, I’m not a good fit. Outreachy would be an opportunity to challenge those assumptions.
I felt my half-year sabbatical wasn’t enough.
I’ve started many projects and had so much to learn, it felt like it’s never going to end - which is exciting, but may also be demotivating. A few more months spent in a lightweight environment felt like something I needed.
Gradually, I became confident enough to tell everyone I’m applying. At some point I became confident enough to convince myself this is in my reach. To explain what I’ll be doing as an intern even to people I didn’t know.
Understand why you think applying for Outreachy is what you want to do - it’s a long, self-motivated endeavor that will require a lot from you. In order for this to work, you need to be sure you have motivation behind it. There are many other opportunities if you decide it’s not for you.
If you’re not sure what motivates you or need some help with that impostor syndrome, ask people who care about you. Find a community. Ask stupid questions. When, if not now?
Make sure it’s meaningful.
As I was interested in working with many organizations, I’ve had to make some tough choices and choose a project. Some names sparked my immediate interest, but many of them felt out of my reach (I still feel that contributing to Linux kernel or FFmpeg requires a lot more than I could muster).
I came up with a set of criteria that worked for me:
I need to be familiar with the product and use it often enough to be comfortable as a user.
This meant anything that had to do with Linux couldn’t be my first choice, as I’m unfamiliar with the environment and the problems product users are facing.
I need to find the project meaningful, fulfilling specific needs and supporting a community.
This meant I had to find a community I care about that is using the product and would benefit from a new contributor engaging in the project.
I need to feel welcome when contributing to the project.
This meant I had to be comfortable with making mistakes and learning from the community, asking questions rather than being embarrassed. Other developers had to understand that as a newbie in open-source I need a lot of learning and patience.
I need to believe I can actually impact the project significantly and make a meaningful contribution.
I didn’t want to get engaged in something I’d only be able to do mundane and seemingly unimportant tasks for - although the mundane and seemingly unimportant are often tasks that have been neglected for a while and need a contributor. This meant I had to be comfortable with the codebase and understand what is a meaningful contribution.
There was only one organization that was a clear yes for all of my criteria - Zulip. I’ve been using the product constantly since day one at the Recurse Center, which also meant I’ve had a community I cared about. I’ve felt immediately welcome in the project and believed I know the users’ needs well enough to understand what’s meaningful for them.
Define your own criteria that’ll help you through this process. It’s hard, as there are a lot of interesting choices and you’ll be tempted to try everything. I’m not saying it’s impossible, but I’ve heard from many people more experienced than me that one can’t really have more than 2-3 priority organizations in this process.
I went all in for Zulip and didn’t look back - I haven’t applied for any other organizations, because it seemed to me with the time I had I couldn’t possibly make a meaningful contribution to any other project. This strategy might be ill-advised for many, just like with getting into college - sometimes having a second choice that is good enough makes one feel a little bit more confident and that confidence can make a difference.
Whatever you decide to do, make sure any projects you choose spark joy and will allow you to be motivated for the whole 3 months.
Learn. Code. Repeat.
The past two months have been a learning fast-track. I’ve made many mistakes, some embarrassing enough that I still need some time to be able to talk about them publicly. What kept me going were the encouragement from the community - as I contributed and got more comfortable, Zulip was becoming more and more my community - and seeing my contributions implemented in the project. Slowly a more refined idea of project needs emerged and I started thinking about myself as a contributor, as opposed to the newbie everyone had to help.
I don’t have any easy answers here, as this process is different for everyone. In order to become a contributor, you need to understand the current state of the project and what is the expected state - in a week, a few months and a few years. This is something you learn gradually, through asking questions and coding, engaging in the community and being proactive.
If it feels like home, it probably is.
One can never be too grateful. I’d like to thank:
- Cihan Demirci for all the the all-nighters, patience and our growing friendship
- Sumana Harihareswara for her guidance, inspiration and help
- Tim Abbott and Steve Howell for their patience and introducing the newbie developer to open-source
- Neeraj Wahi for his positive attitude and Zulip React Native workshop
- Michael Cordover for helping me out with my first contribution
- Andy Lee, Andrew Yoon and Andrea Orru for being the best RC check-out group
- James Porter for our weekly one-on-ones and guidance
- Leah Hanson for helping me out with refactoring my Outreachy application
- Satabdi Das for our conversations on Outreachy and encouragement
- Alicia Thilani Singham Goodwin and Jennifer Gooley for telling me about this opportunity
- Nancy Thomas for support and advice
- Rachel Vincent, Michelle Steigerwalt and Lyn Normoyle for flooding my feed with positivity, inspiration and cats
- Nick Bergson-Shilcock, David Albert and Sonali Sridhar for saying the right words at the right time
- the Recurse Center community as a whole for making me a part of something magical
I’m excited about Outreachy round 13!