November 29, 2017, 12 p.m., I was laying on my bed. Phone on my hand. Ready to type. Then, I opened codein.withgoogle.com and registered as participant. That’s how it all begin.
For around 46 days, I explored the world of open-source development. I never hear or know about open-source development before. The only thing that I know about open-source is a free software made by non-profit organization. But I have a dream to working on a technology organization. And it brought me here, Google Code-in 2017. A global contest of open-source development.
Prior to 2017, I also participated on Google Code-in 2016. But I didn’t put a target on it because I just wanted to try and introduced myself. Now on Google Code-in 2017, I put a target on it and try to do my best. From 25 organizations, I chose SCoRe. I chose SCoRe because after I saw tasks from all organization, I felt that I capable enough to join with SCoRe.
First Week
Soon after I registered myself on Google Code-in, I started with small and basic tasks. My first task was Fork GoCloud project repository. It was easy.
https://github.com/scorelab/Soundcom
Anyway, after I finished beginner tasks (only 2 tasks), I designed logos for Dengue-stop, DroneSym, and others. I really enjoyed designing logo because graphic design is one of my hobbies. Sure it was hard to find inspirations for logos, but when it comes, everything become fun. My mentors also gave me positive comments that keep me moving forward on Google Code-in. (Thanks a lot for the comments!)
Stressed Out
I continued to design icons for apps, project, etc. But this time, I got stressed out. Why? Because beside participated on Google Code-in, I must study for my semester exam. I found it terribly tired to multitask between school and Google Code-in. Sometimes, I almost didn’t sleep enough for 5 days in a week because doing homework and Google Code-in tasks. So on first week of December, I left Google Code-in until semester exam passed.
Back to Google Code-in
I returned to Google Code-in just when my holiday started. I felt relieved that I was still on SCoRe’s leader board. My holiday ended on January 2, so I rushed to finishing tasks as much as I could. One of task that took a long time to finished was Design Material Buttons for Soundcom apps.
https://github.com/scorelab/Soundcom
I was doing intensive research before I made the buttons. I searched for application purposes, functions, features. Then I searched for buttons ideas. Ideas about shapes, colors, and many other things. Fortunately, after 2 days designing, the mentors accepted my works! I celebrated the success of my works with a good 9 hours sleep.
New Year, New Challenges
At the beginning of 2018, I found my name wasn’t on SCoRe’s leader board. I was panicked. I thought at that moment the amount of my completed tasks was enough to keeping me on the leader board. Sadly, it wasn’t. So I made a plan. A plan to back on leader board and stayed on it until Google Code-in ends. I wasn’t doing design tasks anymore. I began to working on Git. For 4–5 days, I got in and got out from leader board. Every single day. I wrote issues, made pull requests, and try to keep up with another leader. Finally, my plan worked. I stayed on leader board till I typed this story. I was happy, very happy.
Playing Git, Python, and More
Approaching the end of Google Code-in 2017, I was doing more coding task. I thought coding task is faster to complete than design task, although I loved design task more. I began coding on Bassa project, using Git Bash as my ultimate tool.
https://github.com/scorelab/Bassa
I did lots of coding on Bassa. First, I learned how to cloned, configured, and pushed repository from online to local machine and vice versa. Next, I used upstream feature to automatically update my cloned repository with online repository. Last but not least, I played with cherry-pick. It was fun when I ran the commands, but it wasn’t when I saw “error”.
Another project that I worked on were NodeCloud and BellyDynamic.
https://github.com/cloudlibz/nodecloud
At NodeCloud, I created Git Pre Commit Hook. (Note: I didn’t know about it before and I still confused about it after I created it 😐 ) Luckily, I created it without any errors.
The last coding task was the most hardest task to complete. The task was Set up BellyDynamic locally. I read BellyDynamic’s wiki, it was easy I guess. Then, I installed Python, and started to set up.
scorelab/BellyDynamic_BellyDynamic: A scalable data structure to handle online and offline dynamic graph objects_github.com
36 hours later, I finished it. (Almost 2 days)
I got lots of errors while I set up. File permission, Command not found, Attribute error, and more. I repeated the steps 8 times before I figured it out. I almost gave up and abandoned the task. Miracle happened. It worked and my mentor accepted it. I was so relieved, grateful, also happy at the same time.
Conclusion
At the end, it was an extraordinary experience. I felt working with SCoRe was fun and challenging. I would love to working on open-source development community, not only with SCoRe. Because I think there are unlimited possibilities on open-source development. And the most importantly, I found my passion in this world.