User:AdhamKhatean/Community bonding period and starting with the coding phase: How was it like?

Spoiler alert: It was interesting and challenging in some aspects other than coding.

Hello there, my name is Adham. And I am a student at my junior year majoring in Physics and also interested in programming. And I am a participant in 2020 Google Summer of Code working on TemplateData extension, my project/task for this summer is to introduce the maps object to the TemplateData -already existing- GUI.

If you do not what TemplateData is, it is simply -from the extension Mediawiki page- The TemplateData extension introduces a tag and an API that together allow editors to specify how templates should be invoked. This information is available as a nicely-formatted table for end-users, and as a JSON API, which enables other systems (e.g. VisualEditor) to build interfaces for working with templates and their parameters. And about maps object, it is an object that maps a name of a program interpreting TemplateData blobs (supplied by a TemplateData author) which we simply call “consumer” to an object that in turn maps a name of a consumer parameter to one or more corresponding names of template parameters. you can check for more information form here: Extension:TemplateData

So, I already spoiled my answer, and in the next few lines you will why is that what I think. It has been a little bit over a month now, which does not seem like a lot of time but I came familiar with the community -which great- and the tools we will be using. And I really enjoyed my experience with Wikimedia so far, and working with my mentors is really enjoyable they are very nice and helpful. We already did three meetings by now. Having weekly meetings is very helpful it really helped me to be comfortable coding as after every meeting I have a clear idea of what should I do for the next week and a clearer idea of what the final code and UI should be like and what I want to do, this helps me focus on every small part of the puzzle and makes it easier and more organized. It also helped us -my mentors and me- to recognize what I can and can not do yet so I focus on improving on it, and most importantly -especially these days due to social distancing- it does not let you feel isolated.

For me, I knew the most challenging parts will be communication -specifically video conferences- and the bi-weekly reports. And to be honest it held true like now I am trying to write this report but I can not really think of what should I say and how it should start. But, interestingly it turned out to be an enjoyable small challenge, as I rarely get to write about my week or even most of the time talking about it. But, now trying to write about what happened in the past month in addition to that it might be helpful for someone who is interested in Wikimedia or GSoC in general and hopefully enjoyable, it gave me a better picture of what I experienced and what I can improve in the future as a person first and then a programmer of course. And for the video meeting part, I thought doing video meetings is not a good idea for me I usually prefer emails and text messages, because my spoken English is not that good and I was worried that it might a barrier in our communication. But, my mentors were patient and really nice and helpful, So it became easier and easier for me because of them and I think it will not be a problem soon. By the way, If you are interested in Wikimedia and GSoC and came across this blog, I do not think you have to be doing video meetings -I am not entirely sure- but I just did not say no as I thought sooner or later I will need to overcome this barrier, so it will be better doing it now especially that my mentors seemed interesting and I wanted to have a higher level of communication with them than emails. And this can also save you a couple of days of sending emails back and forth by just a video call less than an hour and might be even less than 30 minutes.

In conclusion, I thought I will be a better coder after the Google Summer of Code program period with Wikimedia which is obvious and was clear to me even before I apply and almost everyone who is interested in this program and I can say opensource in general and that is why I did not talk about it that much. but after the community bonding period, I think I will be also a better communicator. Which I think is a very important aspect of the program, and it is not a side benefit you get while you participate, they really thought about it and put the work into it to really help you to have a critical skill for the software industry and in my case -you know bad English speaking skills and awkward meetings- life in general. And if you are wondering, yes it helped me bettering my skills although I am just one month in, and most of it was a community bonding period but now I have a better understanding of JavaScript and object-oriented programming concept and learned a lot about OOUI framework and git/git commands and a lot of other things, they guided me through several microtasks to understand the codebase and were really reactive and responsive with me.