The Art & Logic Programming Challenge
Below is an introduction to the Art & Logic Programming Challenge (also referred to as the “programming test”).
The Art & Logic Programming Challenge is an important part of our hiring process. Over the years, we have learned that there’s not always a strong correlation between the contents of a candidate’s resume and their ability to design and implement code at the level that we expect. The only way to determine how well someone writes code is to ask them to roll up their sleeves and write some. The majority of successful applicants are able to complete the test in 8 to 10 hours.
Completing this test will give you an opportunity to display your abilities on some tasks that are not too different from those that are routinely encountered on Art & Logic projects. It’s fairly typical on a project that an engineer will be handed a fairly high-level specification for a piece of functionality and be asked to design and implement a clean, elegant, flexible solution to the problem in a short period of time. We also end up needing to jump into projects that are already in progress. Sometimes this means stepping into an existing Art & Logic project, but oftentimes it means inheriting a pile of broken and undocumented code written by a client (and typically, the original programmer responsible for this code is long gone, so debugging skills and detective work are required). Please bear in mind while completing this exercise that your goal should not be just to demonstrate your competence. We evaluate many more applicants than we have the capacity to hire; this test is key to identifying the most exceptional.
On this test, the requirements have intentionally been left somewhat hazy -- you might want to think of it as a programming Rorschach test; we’re very interested to gain some insights into your development habits. One requirement that is not hazy is that we expect all code submitted to follow the guidelines laid out in the Art & Logic Programming Style Guide (available at http://www.artlogic.com/careers/styleguide.html).
You may complete parts 1a (optional) and 2 in one of our preferred languages:
- C++
- Python
- PHP
- ActionScript
- Objective-C
We will also accept submissions in Java or C# if you're not comfortable working in one of our preferred languages.
Part 1b (optional) should be implemented using HTML, JavaScript and CSS as indicated. Parts 3 and 4 are self-explanatory. Please choose and complete either part 1a or 1b for your submission.
Your submission to us should include whatever source, documentation, project support files (makefiles, etc.) or other associated materials are required to build your code and understand the approach taken in your solution. Also, please indicate the amount of time used to complete each portion of the test when returning your test to us.
Request the Programming Challenge!
Careers Main |
People |
Projects |
How We Work
Values |
Skills |
Programming Challenge |
Apply Now

“A&L is populated with people who are not only great developers,
but interesting people. These folks have breadth. They are musicians, artists,
folklorists, anthropologists, theatrical types, and more. It makes for interesting
interactions around the virtual water cooler!”