What Google Code-In and Drupal meant to me

The more I learn, the more I realize how much I don’t know.

– Albert Einstein

Background

I was 13 years old the first time I got access to a computer. I had no idea how to connect it to the internet, but that didn’t stop me from experimenting. When I was 14, I saw a documentary about Google and discovered that “programming” and “coding” were completely different things than I’d thought. In that same documentary, I saw Google’s offices and I resolved to myself that I would try to visit them in person by the time I turned 18.

google_campus2_cropped1

The beginning of the great adventure

Days later of The Aguarandu Computers Olympics, I received a message from a Sugar GCI Mentor.

Hi Valentin! Thanks for helping spreading the word about Code-In. Do you have any idea  of how I could reach other Aguarandu participants? Maybe you got access to a list of contacts.

Hello, nice to help… let me see how to get it and I will let you know.

Great, thanks! By the way, drupal is one of the ORGs this year, there is PHP there 😉

Hahahaha, you know I’m dying to participate, unfortunately I’m into other things. Perhaps I will complete some tasks and earn some t-shirts, but will not have the time to try to finish in the top 5 as I want.

Look, this is a good idea, today making contributions in open source projects makes weight. Basically, this the objective of Google Code-in, create that bridge so the “pibes” have a more friendly entrance to the open source world. Furthermore, you’re going to build your own contact network 😉

Ok, you convinced me … I will participate 🙂

Yes, despite all (and at that time) I thought it will be a great opportunity to achieve my dream although I’ve never worked with an open source project nor  I didn’t know how to make patches or that kind of stuff. However, I had experience working and collaborating with some projects. So I said to myself – why don’t learn something new?

Image made by Julie Jordan Scott

 

It was December 1st, 2014 at 08:59 am PST when I made a screenshot. I don’t remember why, but I did it 😛

mapa2

 

I had some issues with the registration form but I was finally able to start working. I was absolutely sure that I would contribute to Drupal because it is built with the language I’m more familiar with: PHP.

 

My first completed task

What a great news! I had completed my first task that was about porting a simple but useful module to Drupal 8 called Scroll To Top. Yes, it was astonishing when my patch was approved and committed, and with that, an amazing sensation came because I knew that somewhere in the world someone will be using something that I’ve made. This feeling was simply fantastic and indescribable.

I also got the email from Melange about the verification of my submitted documents.

first-task-complete-email

Since then, I definitely fell in love with tasks on porting modules. What made them interesting is that they were challenging. In this process, I made a series and a video about porting modules from Drupal 7 to Drupal 8.

 

My most complicated task

As I mentioned above, I liked porting modules and as matter of fact, I thought of porting Administer Users by Role module which was quite likely the most difficult task. Not only because it was a bigger module, but also because I had to learn something completely new: Access Checking. Although it’s not something that someone can not learn, I had some drawbacks that I prefer not to remember :).

Actually, it took me about a week to get an initial version ready for the community’s consideration.

What I learned

During these 7 weeks, without realizing I learned a lot.

1) Coding standards.

good-practices

Yes, most of them are coding standards used in the Drupal community. However, they are also widely used in many Open Source projects.

2) PSR-4 and autoloading

psr-4

psr-4_1

 

Before, I didn’t even know that this kind of stuff existed in PHP.

3) New programming concepts.

dependency_injectionI have been working with Object-Oriented Programming paradigm since I learned how to program, but I’ve never heard or used concepts such as Dependency Injection or The Hollywood Principle.

4) More advanced Git commands

I had worked with Git and Github before GCI, but just to use simple commands such as clone, init, add, commit, push and pull. I never used things like branches, tags, pull requests or diff commands before.

branches

 

pull-request

 

 

The end or the beginning?

logos

 

It was January 19th, 2015 (happy new year! 😀 ) when Melange announced the end of the contest. Sorry, I couldn’t make a screenshot of this event :'(. It was a little difficult to understand that the program in which you dedicated your last 7 weeks had finished, but every end is a new beginning.

I’m still working with Drupal, collaborating with some patches to the core and contrib modules through my own initiative which I called “A weekend with Drupal” , whereby I dedicate at least my weekends working with this amazing platform that gives me the opportunity to make what I really love, press some buttons and see that people from all over the world are using part of the code I’ve written. So, that is why I prefer to say that it was the end of my time as a Google Code-In student, but my beginning as a regular Drupal collaborator :).

Without doubt Drupal and Google Code-In sparked and kindled connections with people that I think is hard to find elsewhere in the world of programming. By working with open source, I built important and powerful collaboration skills that are very significant. For me, programming is like a dream where you might start very humble with a “Hello world!” that years later could help you to receive emails such as “Hi, Congratulations! You have been selected as one of the 24 Grand Prize Winners in the Google Code-in 2014 contest for your work with Drupal. Great job!”.

 

Grand-Prize-Winners

 

For students: Why should you choose Drupal?

There are lots of reasons why you should choose Drupal if you want to participate as a student for Google Code-In or Google Summer of Code but I’ll just mention a few of them:

1) Good guidelines for students and noobs

Drupal community has worked a lot to give welcoming guides for GCI and GSoC students

gci-where-start

gsoc-where-start

2) A welcoming and progressive collaboration

The Drupal community uses the issue queue to work as a team. Each project, whether a theme or a module, has its own “issue queue” which is a listing of categorized posts connected to that project and are summarized on the sidebar content of that project’s page.

The great thing about this issue queue is that Drupal community has built a very good tagging mechanism, where someone as a new member of the community can start contributing with patches for Novice issues in order to start building your knowledge of Drupal to later collaborate in some issues that are a little more complex.

issues-queue

 

3) It’s a platform you can use as a professional developer

Above all, Drupal is an amazing CMS that you can use as a base for your development projects.

http://www.edukame.com

http://www.doctorsofbc.ca

I can keep listing all the reasons, but I prefer you to discover all them. To conclude, I just want to thank all mentors and the Drupal community to help me out in my path to Open Source.

So, what do you wait to come to Drupal? We have something for everyone to love.

Anuncios

6 comentarios en “What Google Code-In and Drupal meant to me

  1. Pingback: MY GOOGLE CODE-IN EXPERIENCE – Site Title

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s