Home Tasks Mentors Repositories
My GCI Journey
10 Dec 2018

Hello, I'm a Google Code-In 2018 participant and I want to share the experience I have in the competition.


Prior Experience

I participated GCI last year in an organization called Zulip.

Why did I choose Zulip?
Because the organization uses python, and python is the only programming language I'm good at.

I was a newcomer. I didn't know much about git at that time, but it didn't take long to get used to it.
It was fun. I solved 13 tasks.

When GCI 2017 has ended, I have dreamt to join GCI 2018, which now I did.
It is a good coincidence that coala uses Zulip, so I don't confuse with the concept and UI.


Why did I choose coala as the organization?

I planned to choose Zulip this year. But I couldn't find the organization in GCI 2018's organization list.
So I scrolled down the organizations list, looking for one with the python tag.

There were a lot of organizations that uses python, but coala seems to be the easiest one for me.

I scrolled down through their website.
I thought, "An organization that lint codes in different languages? Interesting."

At first, I wasn't so sure about my decision, but I have no regrets choosing coala.
It's an awesome organization, especially because it's all made out of pure python.


What I do when I was solving tasks

I usually read the documentation(s) that involves my current task and see others' submissions if there are any.

When I was waiting for a review on my current task, I usually do a research on a task I haven't claimed that I planned
to do next, so I won't waste my time waiting for a mentor.

It saves my time.


Difficulty I faced

When I faced something difficult, I would searched it up on Google, read the documentations, and try everything I can.

The last step is, ask a mentor. If you're in a dead end, it's the best to ask the mentors.
They never respond late.


What I learned from GCI

I've learned a bit of yaml files, how they work and how you process them.

I've learned how to sync a fork, use a virtual environment, and sync moban.
Commands are easy to remember when you use them frequently, but they are easily forgotten when you stopped using them.

I've learned that I should never commit and push before running "coala", or else the bot will spam you.
This has happened to me many times, almost everytime I pushed. The GitMate bot did a great job.

I've learned how to make a website with statik and deploying them to netlify.
Making this website isn't as hard as you think.

Lastly, I've learned that sleeping is important.
I have enough sleep today.


Task Statistics

Google Code-In was opened at 26th October. I claimed my first task a week late, at 1st November.

Here's a graph showing the total of tasks I've finished from 1st November to 12th December (GCI's deadline):

A graph showing the number of tasks I've finished in GCI

I've solved a total of 22 tasks In GCI 2018.

As you can see, I have finished 13 tasks from 1st November to 10th November.
It was when jayvdb review tasks really fast.

But in 11th November to 17th November, I didn't solve any tasks.
That was when I didn't know which task I should solve, I claimed around 3 tasks and abandoned them in the end.

Then, at 18th November, I decided to claim a design task to motivate myself that I can still solve tasks.
I finished two more design tasks at Nov 19 - Nov 21.

After the design tasks, I claimed a coAST task. That's what took me pretty long.
The task's difficulty is low, but there's always some little mistakes in my changes.
In the end, the task was finally approved after 8 days. I felt like, I did it.

In 29th November to 4th December, I didn't have any problems while solving tasks.
But at 5th December, I claimed a bear task and I was stuck once again.

I asked ayan-b for help and I explained the problems I faced. He helped me a lot.

But after a few days, I realized that the problem was the bear itself. I wish I realized that sooner.
The task expired and I claimed the blog task right after that.

Blog Task

The blog task was really fun.
I felt like I can do better, but there are not much time.
But I'd say, I'm proud of it.

And I'd like thank ayan-b once again for helping me with this task.
I finished the blog task a few hours before the claiming task deadline arrived.

Final Task

Then I claimed the Roll your own task task.
It took me a while to choose the final task. But I finally found an issue with a medium difficulty.

The issue is to make the StyleLintBear configurable.
I was like, "okay, that must be easy"

Then I saw that the StyleLintBear has 94 arguments (if I didn't forget).
So I thought, "This task isn't going to be that difficult, but it will take some time"

At first, I was manually doing it.
But then I got an idea, "Why don't I save my time by making a small python script that generates the docstrings and the tests?"

In the end, I did it. I finished the task in around 5 hours, which is about 7 hours before the deadline.


Overall, I had fun

I had a lot of fun during GCI 2018 thanks to the coala mentors and students. I hope I can participate GCI again next year!

See you next year, Google Code-In.

Thanks for reading!


Kiy4h Kiy4h
Copyright © Kiy4h 2018