Photo by Guillaume Paumier, freely licensed under CC BY 3.0.
My name is Justin Du, and I’d like to share my experience with the Google Code-in 2015.
Life is like a garden. There are so many things to explore, so many things to do, so many things to learn. This year, I decided to branch out of my introverted shell and delve into the world of free and open source software. What better way to do that then join the Wikimedia community? Coming from a family who works hard to provide and support everything for me, I understand the need and benefit of receiving a good education. I strongly believe in the Wikimedia Foundation’s statement, “…To bring about a world in which every single human being can freely share in the sum of all knowledge.”
Let me just say, if it weren’t for the warm, wonderful, and welcoming Wikimedia community, I probably wouldn’t be contributing to Open Source. Before I started, I was completely lost. Sure, I knew the ABCs of programming, but hardly anything more. I didn’t know what IRC,or vagrant, or gerrit, or many other things were. (Not even command prompt commands!) I remember the first time when I went on IRC and posted my first message, something to the effect of “Hi. I’m participating in GCI this year and need help setting up a vagrant environment.”
People immediately flooding me with messages, links, and documentation. Although it took a while, once I set up my dev environment, with vagrant, gerrit, and a text editor, everything started to run smoother. I eventually created a Google Doc titled “helpful stuff” which contained useful hints regarding setting things up and git commands.
The help I received meant all the more to me when I found out that most of these people were just volunteers contributing to a global project. These people would answer my questions very quickly, and they never said “You’re stupid” or “Go figure it out yourself” on purpose. They held my hand when I needed it, and threw me in the open when I needed to learn. They are dedicated and passionate, and I am very fortunate to say that I have been able to build a deeper relationship with some of them. This all has kindled a fire to me, which, to this day, is only growing bigger.
Wikimedia has taught me so many things, be it code wise, documentation wise, communication wise, or character wise. A few weeks into the competition, I realized that some of the tasks were a bit too hard for me at the time. (Looking back on it, I find they weren’t too bad at all!) I was quite depressed for a short period of time, and then I found some motivation, evident on my talk page:
“Start where you are. Use what you have. Do what you can.” –Arthur Ashe
I realized that everyone in the Wikimedia Foundation is essential to its success. It’s kind of like a jigsaw puzzle. Everyone has their own skillsets, their own talents, their own idiosyncrasies. That’s what makes Wikimedia special. Everyone is awesome, and everyone has something to begin with, and it’s up to them to decide what to do with that. I am glad to say I did that, and it’s made me a stronger person.
As Bill Gates says, “It’s fine to celebrate success but it is more important to heed the lessons of failure.”
I’ve learned an extraordinary amount of code and tricks. I have learned to think outside the box more often, approaching a problem with multiple perspectives. That’s what makes Phabricator, the website which handles all tasks for the Wikimedia Foundation, so special. It allows any user to “subscribe” to a task, and allows them to comment and reply to others. This allows different approaches to a problem to be put on the table, which ultimately results in the best, most efficient solution. I found that many times, my patches would be cut in half when someone would point out, “You don’t need to do this. Foo technique does this already.” It made me shrink away at first, but then I realized that code can also be beautiful and elegant. When you solve a problem, it usually requires X amount of code. Code becomes elegant when you are able to solve that same problem using significantly fewer lines of code.
Through these past few weeks, I’ve tried to expose myself to a whole variety of different projects. I had no prior coding experience, so I felt that gave me a broader start, allowing me to branch off more. I tried to do everything that there was, be it documentation, i18n, TWN, a variety of extensions, core, pywikibot, and code in multiple languages. Many times I spent hours upon hours on tasks, and all I could see was a thin light at the end of the tunnel. I will never forget staying up till 2 am talking to mentors or waking up early to check my phone for gerrit notifications, or staring at something, wondering what was wrong. But I also will never forget the moments where I had a lightbulb go off, or when I received a successful output from a test. At the end of the day, I am proud of what I have accomplished, because I know I gave my very best, used what I had, and did what I could.
Wikimedia has also taught me much through communication. Talking on IRC is a whole different world. Anyone can see what you are saying, and anyone can reply. This can be a good and a bad thing. However, the concept of respect still applies. These users have lives and bugging them only invokes irritation. I have learned to be concise and efficient in word use in order to respect both others’ and my time, especially for volunteers. I’ve learned to be patient while waiting for a response, and that there’s always something else to work on while I wait.
I have seen the question “Are you going to keep on contributing” a few times already. The answer for me is, of course! The reason is that I strongly believe in the goals of the Wikimedia Foundation and will do everything I can to help every person in the world be able to learn faster and more efficiently.
I’ve started to run a marathon, and I’m only just getting started.
It’s been a wild, wonderful, wicked ride, Wikimedia. No words will be enough to describe the things you have done for me in the past few weeks.
Thank you for getting me started on my journey into open source, code that matters.
This post was originally published on the author’s personal blog; it was adapted and shortened for publication on the Wikimedia Blog. The text is freely licensed under CC BY-SA 4.0, not our usual CC BY 3.0. The views expressed are not necessarily those of the Wikimedia Foundation or Wikipedia; responses and critical commentary are invited in the comments section below.