A few weeks ago, I participated in Google Code Jam and Distributed Code Jam 
finals. Later, the finalists were asked to provide some feedback. I think that 
my feedback may be interesting for other people as well, so I post it here (I 
also posted it on Codeforces: http://codeforces.com/blog/entry/54398).

-----

Okay Google,

Thank you for organizing such a great event! Everything went quite well. 
Mostly. Hopefully it will be even better next year! Here are some things that 
weren't very good, in my opinion:

Firstly, I think that, when Google is going to organize some event in a country 
other than United States, the people responsible for that event should study 
some of that country's laws and regulations, especially those related to visas. 
This year, finalists were sent visa invitation letters in electronic form, 
while the rules require visa applicants to submit original documents. Only 
later, when told about the problem, they finally sent original invitation 
letters. Fortunately, I was still able to get my visa in time.

There are other things that need to be adapted depending on the country. One of 
the emails that they send to finalists contains the sentence: "We recommend 
that you contact your local consulate to schedule a visa interview appointment 
immediately in order to ensure you receive your visa in time for your flight to 
Dublin." United States is notorious for requiring almost all visa applicants to 
pass visa interview, which must be scheduled well in advance. Fortunately, most 
other countries are much better. For example, Ireland doesn't require visa 
interview at all, and applicants in Russia (most finalists that need Irish visa 
are from Russia) don't even need to appear anywhere in person. Another 
sentence, "Be sure you bring a valid form of identification if you wish to 
consume alcohol", is because of United States' strict anti-alcohol law. 
Fortunately, Ireland doesn't have such a law, and the only place in Ireland 
where I've been asked for an ID was Dublin airport.

Then, there were also some technical issues. Before the contest, the finalists 
were provided with a list of software that would be available on their machines 
during the finals. It listed specific versions of programs that would be 
installed, which would be very good. However, the program versions actually 
installed were not those on the list. For example, the list included Firefox 47 
(on Ubuntu), but Firefox 54 was actually installed. Some other programs had 
different versions installed as well. This is important, because some finalists 
(including me) test their tools and processes to work in a specific 
environment. For example, when preparing for the finals, I created a virtual 
machine where I installed the same programs that I thought to be present on 
finalists' machines during the finals. It was said that the list was subject to 
change, but those changes should at least have been communicated to the 
finalists, which didn't happen. In fact, a printed version of the list that I 
received a day before the finals had the same old versions in it.

Speaking of software versions, when will Google update compilers used for 
testing Distributed Code Jam submissions? For C++, they use GCC 4.7.2. This 
version was released in 2012, and it became outdated long before DCJ even 
started! For Java, they use Java 7, which had its support ended a few years 
ago. Nowadays even obtaining such an old version is not trivial: it is not 
available from Oracle's web site, and most Linux distros don't include it 
either. It's a good thing that they're not testing our solutions on Windows XP! 
Perhaps using such an old Java version is the reason why they use three years 
old version of Ubuntu on finalists' machines, despite new versions of Ubuntu 
being released twice a year. On their FAQ page, they say they're looking into a 
major overhaul of DCJ system, hopefully this will include updating the 
compilers.

In general, I think that DCJ needs more attention. Why isn't it live streamed 
like the regular Code Jam? I think that it needs the same level of attention as 
the regular Code Jam, and the same number of finalists also.

After the contest, we had a dinner. On Thursday, the dinner was at Ocean's 11 
Cafe. The dinner was fine (pizza is almost never a bad choice), but waiting a 
few hours for the dinner was not fine. If they thought that we needed some time 
to become hungry, they should know that we were quite hungry already by the 
time we got there. On Friday, the dinner was at the Irish Whiskey Museum. 
Organizing a dinner at a museum is not such a bad idea, but I think that next 
time they should choose a bigger museum, and also provide more food. There were 
some tiny portions of rice with something, which don't really count as a meal, 
so I had to get some food on my own afterwards.

After the trip, there was a process of expense reimbursement. This is 
outsourced to a company called Plus Relocation, which requires finalists to 
submit their expenses and bank details through some shoddy web application. 
Looks like the developers of that application won't get a job at Google. Right 
after logging in with a temporary password sent in an email, it asked me to 
change that password. They require the new password to include at least one 
uppercase letter, one lowercase letter, one digit, AND one special characters. 
To make it worse, they also required me to provide answers to three security 
questions. Not only this doesn't add any security at all [1], even if it did, I 
doubt that so much security is needed for a one-off action.

After that, I began filling in my bank info. There, they have some confusing 
fields (like "reason for payment" - why do they need that?) Also, their site 
was logging me out automatically after a short period of inactivity, and at 
some point my password stopped working. I tried to reset it, but this didn't 
work either. Finally, I had their support reset my password. Fortunately, their 
support responds pretty quickly. Unfortunately, after I logged in with the new 
password, I had to fill in these lousy security questions again.

Then I submitted my expenses. A week later, I got an email saying that some of 
my expenses were rejected, including part of my prize (I won some prize money 
both for Code Jam and for Distributed Code Jam, and I think this was the reason 
for this error). I wrote to Google, and the expenses were approved the same 
day. A few days later, the money arrived at my bank account.

Finally, a bit about this feedback form. In it, there are some questions which 
shouldn't be answered, like the feedback on events which I didn't attend. 
However, if I accidentally select an answer to one of such questions, there is 
no way to deselect it, short of starting the form from scratch. Maybe an 
additional choice, like "no answer", would be in order.

See you in 2018.

[1] https://research.google.com/pubs/pub43783.html

-- 
You received this message because you are subscribed to the Google Groups 
"Google Code Jam" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-code/59fec9a5-ece9-48f4-a713-2fc451ce24fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to