My name is Justin Du, and I’d like to share my experience with the Google Code In 2016.
Last year, I branched out of my introverted shell and dove into the world of free and open source software, and I loved it. From learning how to use Git and setting up my vagrant environment to working on bugs, I developed a passion for open source and Wikimedia that has only grown stronger. I mean, I was
crazy fortunate enough to be able to participate in Google Code-in again, with many of the same great mentors, as well as new experienced developers and contributors. The Wikimedia community has become part of my family, and I am glad to say these bonds have grown even more these past seven weeks.
“Family is not an important thing. It’s everything.” – Michael J. Fox
Let me just say, if it weren’t for the warm, wonderful, and welcoming Wikimedia community, I probably wouldn’t have come back. I remember working on some school homework and an e-mail notification popped up from Phabricator about a task @jayvdb had added the project Google Code-in 2016 to. Disappointed in myself for not solving that task yet, I marked Google Code-in on my calendar again. I began to reimmerse myself in the community, chatting on the IRC channels, ensuring my vagrant environment was set up, and perusing the wide array of tasks for the upcoming seven weeks. I chose a few simple tasks before the contest began to reawaken those git and gerrit brain cells before the contest started again.
The welcoming tone I received meant all the world to me, even though I had already interacted with most of them. I remember Florian and Andre saying hello and me bugging Reedy about PHP patches he was pushing so I could learn more. It still amazes me how so many of Wikimedia’s contributors are just volunteers, especially those who have stayed active for so long. This is especially true on sites like Wikimedia Commons, where most of the administrators and bureaucrats do not work for the Wikimedia Foundation, yet still spend loads of time, probably 12 hours+, responding to concerns in the IRC channel and dealing with people like me who need a favor from those, nudge nudge, translation admins. (Which I’m happy to say I am now one of.)
This years, my mentors have been phenomenal. They answer my questions very quickly, and they never say “You’re stupid” or “Go figure it out yourself” on purpose. They never scold you for thinking of a dumb or roundabout solution. 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.
Wikimedia has taught me so many things, be it code wise, documentation wise, communication wise, or character wise. Last year, a few weeks into the competition, I realized that some of the tasks were a bit too hard for me at the time. Although this put me into a sad state for a period of time, I emerged from this and took on some very interesting tasks. I gained exposure in APIs and played around with API Sandbox. I was able to navigate through some of MediaWiki Core’s more complicated files and under the guidance of @tto, I was able to write an API to set the language of a page, as well as add tagging support to multiple API actions. This was probably the highlight of my experience this year, because it taught me the importance of paying attention to detail as well as the necessity of testing.
This stems from my increased respect for people’s time. As many of these contributors are developers, I learned that not testing my code was like a slap in the face. I learned to grow up and figure things out before pushing a patch. This resulted in (I think) higher quality work (somewhat) on my end, as I required fewer and fewer patches to solve a bug before it got merged.
In addition, I decided to diversify my range of tasks this year, after completing mostly i18n and internationalization tasks last year. I continued to do so this year, marking many templates as translateable by migrating them from using autotranslate to ext.translate, a long needed task that needed some love and a kickstart. Under the guidance of @Nemo bis, a volunteer contributor who offered to mentor me even though he was not a mentor, I was able to help Commons out as much as I could, and gained translation admin rights and a nice Working Man’s Barnstar sticker as a result of making over 1000 edits. In addition, I worked a lot with the Newsletter extension when I could, making small improvements. The most interesting task I completed for the extension was the implementation of an undelete/restore newsletter feature, which exposed me to thinking about a codebase as a whole in bit sized pieces. Aside from completing coding tasks, I was able to write a good amount of documentation, which I realized to be a very important part of the community. I was fortunate enough to be given the opportunity to improve both the Newsletter Extension help and about pages, which allowed me to expand my knowledge of WikiText and technical English. By picking the tasks that seemed both useful and fruitful, I am happy to say that I was able to learn even more than I did last year.
What makes the Wikimedia Foundation unique is it’s highly inclusive community. Everyone fits together into one big puzzle, with their own skillsets, their own talents, their own idiosyncrasies. 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. This year, I was also able to help guide many new developers through the same problems I experienced last year in setting up my development environment, and I’m glad I did, because many of them are amazing coders, much more skilled than I am!
As Bill Gates says, “It’s fine to celebrate success but it is more important to heed the lessons of failure.”
Throughout the course of the context, I am happy to say I was able to not only experience a wide variety of tasks but also interact with a few new mentors. Although I had to often stay up late or wake up extremely early to exchange a few words with a mentor, it was worth it. This year, I’ve managed to sleep a little earlier, but I still check my phone for gerrit notifications every thirty seconds after pushing a patch.
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. This year, I was able to be active in more channels, such as i18n and commons, and I was able to associate with new developers, as well as welcome new developers in.
However, I did notice some things that we can improve for next year. I noticed that we took off the beginner task of getting on IRC and saying hello a few weeks into the contest, which may have detracted from attracting new contributors. I remember the first few days, we had many new students, but after that, it kind of died down. In addition, I missed having more i18n tasks, which are extremely useful. I think overall, internationalization could have been more present this year, although I did enjoy the video tasks and the creating/improving documentation tasks that were added this year. Lastly, I know that this was out of mentors’ control, but the last week of Google Code-in I felt could have been stronger and more passionate because of the business of the dev summit. I know of a few students who had difficulty getting a task accepted during the days leading up to the deadline to claim a new task, which was kind of sad to see. Maybe some of the mentors could bring up to the Google Code-in staff and advocate for a minor increase in the number of tasks a student can claim, maybe to two. This would allow students to work on more tasks they are interested in, although I do understand why Google would want to limit students. We already spend most of our lives on it now. Imagine what would happen if the limit was removed haha! In the future, it might be wise to consider having more org admins or org admins in more time zones, because it was often a blocker to have tasks that had been created but unpublished. However, I am greatly appreciative for everything you all have done. From the little I know, I can already tell that being an org admin is not easy, so thank you for the hard work and dedication!
Although I am getting older (and busier), I hope to still be able to find time and contribute to the Wikimedia Foundation. In addition, I hope to be able to guide students younger than me to be as interested in open source as I am, possibly by becoming a mentor myself in a few years.
startedcontinued to run a marathon, and I’m only just getting starteda little bit of the way there.
Before I go on, I’d like to write a few words to some people:
To Roan Kattouw (Catrope),
You are one smart guy. It’s not easy to get a masters from Stanford. Although I never had you as a mentor, I was lucky enough to work with you in Echo. I won’t forget the happiness I received when you pushed a patch to update the Thanks icons. It reminded me of the ones you guided me in replacing last year. I hope to be able to work on the support for the secondary icons in the future. Thanks for reviewing my Echo patches this year, and for responding to my inquiries when you’re around.
To Florian Schmidt (FlorianSW),
You are a jack of all trades, mentoring a wide variety of tasks. This year, you’ve become an org admin! You are always so encouraging in your comments, and you are always so available and welcoming, just like last year. You are extremely dedicated to the project, and I admire that so much. I won’t forget on the first task I completed, your warm comments on having me back. Thank you for continuing to teach me and guide me. Hope to see you around!
To Kunal Mehta (Legoktm),
I am still extremely thankful to you for helping me set up my development environment last year. In addition, I thank you this year for your dedication once again, even though you were busy with school and had a lot of things IRL to do. I hope to help you and @Florian finish up those passing this by reference instances and linkrenderer usages. Thank you for your patience and kindness. I wish you mentored some more tasks.
To This, That, and the Other (TTO),
You are wonderful. Thank you for always being so warm and friendly when you are online. There is no fear of asking a stupid question when talking to you. An amazing skill you have is guiding me in the right direction without giving it away. I am fortunate to have worked with you on some very interesting tasks this year, and I hope to continue to do so. I am glad to say that I was able to complete some of the tasks that I deemed to difficult for me last year. I hope to be able to contribute to some more projects you are actively involved in, such as Babel, because it’s always a pleasure to have you as a mentor!
To John Vandenburg (Jayvdb),
Although I was not able to contribute as much as I would have liked to Pywikibot, I am glad for the opportunities I had time to pursue. I know mentoring two organizations has been difficult for you, but I just want to let you know that it is greatly appreciated. Thanks for always being there, posting meaningful and encouraging comments. Your passion to spread open source knowledge to people around you is greatly envied. You truly care about your students and the country of Indonesia.
To Federico Leva (Nemobis),
It’s been a pleasure, to say the least. Although you were not able to be a documented mentor this year, you were still a mentor to me. You helped guide me in starting a pretty overwhelming task of converting many templates. You were patient with me in the process, fixing syntax errors and typos in the earlier stages. Thank you for advocating on behalf and encouraging me throughout the way.
To Niklas Laxström (Nikerabbit),
I won’t forget that moment a few weeks before Google Code-in started, when you guided me through adding insertables to the EntryScape group. You are so dedicated to the world of i18n, and are extremely intelligent according to Amir. Thank you for becoming a mentor after I bugged you for so long, and for reviewing and accepting my template tasks. Keep up your amazing work, you genius!
To Amir Aharoni (Amire80),
I won’t forget how you took over for Niklas the first few weeks of Google Code-in. I am glad you did, because you were extremely welcoming and nice to work with. Thank you for taking the time to video call me and show me what my changes were doing to translatewiki.net, and I thank you for reviewing my patches, even when your son was sick. I hope that you continue to do great things for the Wikimedia community. It’s been a pleasure!
To Tony Thomas (tonythomas),
I won’t forget how you guided me before Google Code-in to set up the Newsletter extension and get to work. This led to the realization of a lack of documentation, and I am glad I got to fix that. Thank you for creating so many interesting tasks for the Newsletter extension, and I hope that the bugs I was able to fix are useful. Good luck in your studies and please continue mentoring!
To Sam Reed (Reedy),
I won’t forget how much you taught me before Google Code-in even began. I remember looking through your patches and asking you questions here and there, and you would answer them patiently. Thank you for creating so many tasks when we needed some, and for throwing me into the pit when needed to figure things out. I’ll never forget that night when you stayed up until 5 am when we were trying to figure out why this linting feature was not working. Thank you for your dedication, and stay Pokemon Go!
To Andre Klapper (Aklapper),
I will never forget how you responded to my e-mail inquiring about GCI last year and how you responded warmly and promptly. That has not changed. You are extremely dedicated, publishing tasks, organizing tasks, and approving them to allow me to work on more. In addition, you created interesting tasks, such as the ones to create screencasts. You have done so much for me in the past few weeks, be it chatting, commenting, or publishing, and that’s just for me! Every task I look at, you’re subscribed to it. Thank you for being an org admin and for your tremendous work ethic and devotion.
Last of all, I’d like to thank Google.
Without Google’s support and belief in the next generation of tech enthusiasts and engineers, I probably wouldn’t have written anything more than a function that told you if a number was even or odd. Without Google, I never would have gotten to meet all these wonderful mentors and volunteers. And without Google, I never would have been this eager to complete bugs. Thank you Google for your full fledged support and passion to expose teenagers like me to Open Source. It’s a great idea, and I hope you all will continue to host this every year.
Once again, it’s been a wild, wonderful, wicked ride Wikimedia. I am still speechless by how much you have done for me.
Thank you for helping me grow even more this year.
My Walk With Wikimedia (Part II) by Justin Du is licensed under a Creative Commons Attribution 4.0 International License.