Stimuli

On getting Outreachy

Hi, and thanks so much for stopping by.

I am Sumera, a fresh CompSci undergraduate and generalist programmer. In the past, I have dabbled into various things which include a little backend dev and data science. I am interested in low-level systems software and programming languages. I recently started my Outreachy internship with the Linux Kernel which requires me to diligently blog at least once every fortnight.

This is a documentation of some of the whys(motivations) and hows(values) of my selection for Outreachy.

Learning

Curiosity killed the cat but satisfaction brought it back. As a kid I asked why so many times that eventually my neighbours nicknamed me kian(the Odia word for why). I was always curious and wanted to know everything. Learning comprises cultivating this curiosity. Learning is how we evolve. And it is definitely not limited to just academics, professional interests or hobbies1. We must also learn from people values that we admire- learning nurture, compassion, mutual respect, and open-mindedness is just as important.

Perseverance

This core value is the key to the why and how I am here despite all my failures (yes, there is quite a list). If you are reading this, and are an aspiring intern, then continue working hard at the contributions and upskilling. Every contribution period- be it for Outreachy or GSoC has had a wonderful steep learning curve for me. If you are an aspiring intern who was previously not accepted and is trying again, then give yourself a hug and thwack away MxImposterSyndrome when they try to be friends. They are obstinate and might keep coming back but perseverance helps.

One thing that has helped me a lot in being persistent is a friend’s advice to start small. If you are trying to learn a new language- write a basic calculator before jumping to a red black tree. If you are too exhausted to actively write any code(but still want to study), watch a talk where somebody else is talking about code. But take that teensy extra step consistently towards your goal- chip at it a little everyday, and soon you will have conquered the wall.

I have had a fair share of failures, rejected applications and bad experiences in software. Each of these experiences have discouraged me till I nearly gave up at which point a book or a friend would inspire me to try just once more- and that subtle perseverance has taken me ahead far more than anything else.

Compassion

Growing up, there was something I believed in a lot- Where there is a will, there is a way. That circumstances are only excuses for a lack of determination and hard-work is something that was drilled into me from my childhood - not unlike most other kids from 90s India. It was only in late adolescence that I realised this is absolute drivel internalised and externalised by people as an excuse to look down on other people who may not be as well-placed. We have a very ableist definition of hard-work which entails that being able to work hard is a privilege. Not everyone is well-equipped or has the circumstances to be able to do goal-oriented work, let alone go through the grind. Software comes with its own set of challenges- there is only so much one can learn if they are not able to afford good internet or a decent machine. There is only so much code someone can write if they suffer from RSI or a chronic illness. There is only so much progress one can make if they are made to feel unwelcome in tech communities. In a world where productivity is measured more in comparison to peers rather than personal growth, compassion and kindness are essential for self-growth.

Reportedly, anthropologist Margaret Mead once said that a healed femur is what separates humanity from animals - civilisation begins and flourishes when members of a species are compassionate enough to care for a injured member with food and shelter long enough for a them to heal. Why should it then be so hard for us to respect a fellow human being? Too often we harshly judge and exclude people for not being us- and we even justify our prejudices along the way. No two people have the same privileges, and, always, people have different journeys and destinations. We may never fully understand what another person goes through , but we definitely can learn to empathise and support and make it good for everyone. Kindness and empathy is key to building wholesome and thriving communities.

Motivation for Outreachy

My biggest motivations for Outreachy boiled down to two major factors: - The mentorship- I realised I would need this to make more significant contributions in kernel development. Things get so much easier if you have experienced seniors nudging you on the right path. - I am a huge admirer of open source culture. And Outreachy means getting paid to do open-source - best thing ever!

That said, there were more contributing factors, I am going to elaborate on them a bit- these are mostly negative experiences though, so you may skip the rest of this section if you wish. :)

Disclaimer: I am going to talk about failures a bit here, please bear with me. Don’t get me wrong- I usually talk about more positive things- but it is crucial to put this record of failures and bad experiences out there. I know it would have helped me to read something like this a few years ago.

Before being accepted for this internship, here are a few times my application has been rejected:

  • Outreachy - 1
  • GSoC - 3
  • RGSoC - 2

And these are only the popular open-source internships around, there have been more rejections offline, and a whole lot of it in university academics.

All of the aforementioned times, I have come very close to getting through. But then, either the project I got would not be selected, or somebody else with more experience would swoop in and finish the PR I was struggling at for a week in a day and then most of my hopes would get crushed. Imposter syndrome didn’t help my case.

I remember one of the first PRs I made as part of an Outreachy contribution period- I followed the link as pointed out in the task description, learnt basic Docker, navigated the flabbergastingly foreign interface of GitLab(I was very new to open source and had barely begun to make sense of GitHub), and made the PR- only to be very rudely spoken to by the maintainer. I was a newcomer and intimidated and made to feel extremely unwelcome - I was so demotivated that I nearly gave up that time. But I had somehow also started to look at another project - and the mentor Zeeshan Ali was extremely helpful and welcoming- and that can be very motivating. A few months later I decided to start contributing to the Linux Kernel- I was elated to have my initial patches accepted.

Another incident comes to my mind. I had started sending initial patches from my newly purchased laptop- it is Dell with an additional Nvidia gpu- this model was notorious for having some finicky behaviour with dual boot. A couple of my peers had a similar Dell+Nvidia combination and had deemed dual boot more risky than necessary. But I went ahead with a dual boot- I wanted to keep windows just in case for college stuff. A couple months later when one of my classmates saw this- her first question was: Oh wow, who did it for you?. Not even who helped you; this person had straight-up assumed I would be too stupid or lazy to be able to even try a dual boot by myself. I know for a fact that that question would never have been asked of a cis-male peer(or someone who topped in academics). I was aghast and angry at such sexist and discriminatory behavior but that only made my resolve stronger. Every day, I strived to learn more.

My progress was quite slow - I was only doing trivial patches and poking around the kernel code in general. For my last semester in college, I ended up doing a data science internship and only then did I realise how much I missed contributing even those trivial patches. Once my internship ended- I started to send coccinelle patches and applied to Community Bridge for the project Refurbish Make Coccicheck with Julia Lawall as mentor. I was given a small task which I completed and was accepted! I learnt a lot about shell scripting, Semantic Patch language and had some mad fun writing Ocaml. Although I had no hopes of getting selected for Outreachy, Julia encouraged me to apply. Moreover, she somehow managed to instill a sense of confidence in me which made a lot of difference. I did not worry about results as much this time - and instead just contributed to the 3 projects I had shortlisted. As usual, I had a lot of fun, got my first code PRs outside of the Linux Kernel merged and also learned a little bit on how to write a driver!

When I found out I actually got in, I was in proper shock for a week- even now it is a bit surreal. It is going to be one week today and I am very happy about it. I hope to write more soon.

Footnotes


  1. If you are more into learning, here are two favourite pieces of work- Simon Eskildsen on Learning and this Coursera course on Learning How to Learn. [return]