We like all individuals interested in joining our team to provide actual solutions to coding problems that demonstrates their proficiency with a coding language. General guidelines are below. Click the link to the specific challenges to get more detailed information. Multiple challenges are provided, you only need to pick a single one. When you are happy with a solution, go ahead and send it! We would love to check out your work, but be prepared for us to ask you to explain decisions you took.
- Any object-oriented language is acceptable, but it would score points to do it in C# or Java.
- We want people who like writing unit tests. So design your code to be testable, and write the best unit tests you can. If you do TDD - perfect!
- Submit clean code and try to adhere to S.O.L.I.D. principles. Remember this is a test, we will judge your design.
- The more efficient your code is, the better.
- Zip all your files into a single archive file.
- Include all source code including unit test projects.
- Include all binaries including dependent libraries.
- You may also submit your source repository, if you have used one to develop your solution.
- Include a "Readme" file (e.g. Text, Word, Markdown) with instructions on how to run your application.
- Contact us for how to deliver the archive file.
-
Self-Driving Car - In this challenge you will interact with a hosted REST API to issue commands on a "car" that is navigating around a road course. Our API will track your car's state, so query the API to get data about your car and information about the course. Complete the course as fast as you can and make sure you obey the speed limits!
-
Build an Elevator - In this challenge you will code an elevator that asynchronously accepts inputs in the form of button presses that call the elevator to a floor in a given direction (or to exit the elevator at a floor). Make your elevator function like it would in the real world.