Wildcard Programming Challenge Recap and Winners

This past week at Wildcard we decided to run a programming challenge. The contest, targeted at developers, consisted of two easy-to-medium difficulty programming problems that were designed to take anywhere from 30 minutes to a couple of hours to complete. Anyone who completed the challenge was entered into a raffle where we gave away a couple of fun prizes. The three winners of the challenge are:

1 Bitcoin – Douwe Gelling – a PhD student at The University of Sheffield
1 Year Dropbox Pro Account – Christophe Biocca – Founder at Encircle
1 Year Github Small Account – David Sinsky – NYC Based Software Developer & Entrepreneur
Overall the challenge was a huge success. We spend time building and releasing these challenges because it’s fun, a great way to meet and interact with the engineering community around the world, and a great way to raise awareness around Wildcard. A few thousand people viewed the challenge, a few hundred got through the first problem, and about a hundred people successfully completed it. The challenge is timed, so that anyone who wants to race through it can see their time at the end, but it is not a race. It’s meant to be fun, and invoke some thoughtful remembrances of algorithms class back in college.

There were submissions in just about every common programming language: Java, C++, Ruby, Python, Haskell, Go, Ocaml, Scala, Javascript, Bash, Excel, Paper + Pencil, and more. A casual observation would lead me to conclude that in general Python and Haskell programmers submitted the most concise solutions, while Ruby and Java programmers submitted the most readable and object oriented approaches. Python was the most commonly used language.

I won’t give away spoilers for how to solve the problems considering many people still want to take the challenge, however I will share a few notes about constructing the problems and solutions. In general the first problem was fairly straightforward, involved some basic mathematical insight, and involved a couple different programming concepts like parsing an input file, constructing the data in a data structure, and calculating the solution. Most people that got tripped up on it failed to make the mathematical leap but quickly got there with a hint.

The second problem had a less efficient brute force solution and a more efficient solution that many people eventually arrived at. It involved less programming that the first problem but more algorithmic thinking. The weakness of the second problem is that the range of potential answers was small, so many people brute forced the guess and then worked backwards to figure out how to arrive at the answer. If I could rewrite this problem I may have made the potential answer range an order of magnitude larger to avoid guessing. However the reward for the challenge is definitely in the journey, and not in the answer. Cheers to everyone who solved both problems and made it through!

While there are no longer any prizes, the challenge is still up and running, so feel free to give it a try. And as always, if you’re interested in an atmosphere where puzzles, programming, and solid engineering comes first and foremost, please reach out and get in touch with us about Wildcard. We’re hiring.