+

Cookies on the Business Insider India website

Business Insider India has updated its Privacy and Cookie policy. We use cookies to ensure that we give you the better experience on our website. If you continue without changing your settings, we\'ll assume that you are happy to receive all cookies on the Business Insider India website. However, you can change your cookie setting at any time by clicking on our Cookie Policy at any time. You can also see our Privacy Policy.

Close
HomeQuizzoneWhatsappShare Flash Reads
 

Here's the strange sport Googlers play to refine their programming skills

Jul 21, 2015, 17:40 IST

Google em

David Cannon/Getty Images

ployees have a novel way of relaxing while also helping to refine their programming skills: "Code golf."

Advertisement

Code golf is guided by the same basic principle as real golf: Achieve your objective as efficiently as possible. In regular golf, this means getting the ball in the hole in as few strokes as possible. In code golf, it means solving a specific problem using as little code as possible.

In a blog post earlier this month, former Google employee Zhen Wang details how the unusual sport took hold at Google.

While on leave in mid-2014, the software engineer was thinking about dwelling on the "convoluted Java frameworks widely adopted at work." They "sucked the fun [out] of programming like a Pastafarian monster slurping all the tomato sauce on a plate of spaghetti." So, he decided to do something about it:

To bring back the fun while fostering a culture that hails code brevity, I decided to start a 20% project to create an internal code golf platform - a playground for Google engineers to show off wits, a fountain of programming tricks for the studious, and a symbol of defiance against the trend of technical complexity permeating through the company. Later in the development, it occurred to me that the system could also be purposed as a recruiting tool: interviewers would benefit from a growing repertoire of coding questions with high-coverage test cases against which candidates's code can be automatically validated. And that became the ostensible mission statement on the code golf site to justify the business case ;)

Advertisement

Of course, Zhen Wang didn't invent code golf. There are plenty of public code golf competitions, including on JAGC.org, and Stack Exchange. (There's also an inactive Reddit community dedicated to the sport.) And similar challenges have been taken on by programmers looking to test their skills for years - notably the "demoscene." It's a community dedicated to creating extravagant audio-visual presentations using as little storage space as possible, and has been around for decades.

However, the former Google employee says that "the top voted entries on Stack Exchange are just not on par with the best solutions I've witnessed at Google, which exude an elevated level of creativity and craftsmanship rarely found elsewhere. Reading the code can easily trigger a software engineer's imposter syndrome, a profound feeling of humbleness, tinged with a sense of proudness to be working with these talented people."

Hundreds of Google employees have taken part, he says, with some of them even "[confessing] in private that they had developed an unhealthy addiction that negatively impacted their productivity."

So what sort of challenges come up in code golf? Here are a few examples:

  • Translate Roman numerals into Arabic numbers (i.e. standard base 10). CCLXXXIII translates to 283, for example, while MCMLXXXVIII is 1988. The shortest answer, written in programming language perl, provides a solution using just 82 symbols.
  • Reading a clock face. A "clock face," created using ASCII symbols is inputted; the solution needs to translate it into the time shown. One solution on Stack Exchange, written in Python, uses 205 characters.
  • Calculate the resistance of a resistor network. Like reading the clock face, the resistors are drawn using ASCII symbols. A solution on JAGC manages it in 279 symbols.

NOW WATCH: Here are all of Google's awesome science projects - that we know about

Please enable Javascript to watch this video
You are subscribed to notifications!
Looks like you've blocked notifications!
Next Article