Claudio Cherubino's blog Life of a Googler

9Mar/110

Dissecting the Google Developer Advocate Team page

One of the side projects I worked on at the end of last year is the Google Developer Advocate Team page, a web application that provides bios for all members of my team and allows to track the public events we are going to attend.

We'll probably end up open-sourcing the code but I've already got questions about the technologies adopted so I decided to write this post to explain some of the design choices.

The application is written in Java and runs on App Engine, which provides scalability and simple deployment and administration.

One of the main requirements when designing the application was that it had to seamlessly integrate into our existing workflow in order to be as easy as possible for Google advocates to insert their events. Internally we use Google Calendar to track our trips and speaking opportunities so it was straightforward to use the Calendar Data API to fetch data from a shared calendar.

A cron job periodically checks that calendar, parses new events to extract the relevant info (date, time, location, speakers, products, description) and updates the Datastore using JDO.

Advocates' profiles are stored in a Google Spreadsheet which we can internally update using a simple web form. The public page uses the Spreadsheets Data API to get the relevant pieces of information and display them.

The Google Developer Events Calendar page embeds a Google Map using JavaScript and uses the Geocoding API to map event locations to geographical coordinates that can be pinned to the map or searched for.

Want to see your face in the Google Developer Advocates page? We are hiring!

22Dec/105

Fixing bugs for charity

It's always hard to find some time to write about my job at Google but I really want to tell you what my team and I have done last week as that makes me proud of them and the entire company.

I work in the Developer Relations team for Google Apps APIs and one of our tasks is to write and maintain the GData client libraries for the various languages supported, mainly Java, Python, .NET and PHP.

This obviously includes fixing bugs in the libraries and once in a while we plan a fix-it day, during which each team member ignores other tasks and focuses on fixing bugs. This is quite normal, but last week we decided to go one step further.

Instead of having a fix-it day we organized a fix-it week and added some Christmas spirit to it by setting an extra incentive: for each bug fixed 10$ (5$ from our manager and 5$ from Google) would have been donated to charity!

And since we all love games, we also put a special "prize" for the team member who fixed the highest number of bugs: that guy had to pick the non-profit organization that would get the money.

Those rules made everyone interested in fixing as many bugs as possible (i.e. more charity) but also created an healthy competition among us to be the one to choose the target organization.

At the end of the week, 31 bugs were fixed and 310$ were donated to Save the Children.

Many people believe that Google's motto "Don't be evil" is just a slogan, do you know of other companies where something like that could happen?

Merry Christmas everyone!