Kicking the tires
Kicking the tires is meant to be an open source (community project) test/exam for Ruby/Rails developers.
The idea came after many discussions and from the deep understanding that testing a developer/engineer on a whiteboard or with pen & paper simply doesn't work.
It's too much pressure, and in your day to day work you have a computer, a keyboard and all the resources you are used to to succeed.
I have seen engineers fail misserably in those kind of testing, engineers that I can honestly say I will hire anyday.
Inspiration for the project name comes from here
Take home / Bring your own computer exam
This exam is meant to be a take-home or bring your own computer.
The logic behind this is that a user is used to everything he/she has on the computer so no need to block them with an unfamiliar environment.
The concept is to actually build something, not asking theoretical questions like "How controllers work", it's asking people to build things and see how they work, think, learn and solve problems.
Things that you can interact with, see the code, see the specs/tests and evaluate the developer MUCH better.
- Create a permission system where a user can/cannot do something without using any gems. (advanced.md)
- Create a form that will update the user details without using a scaffold. (beginner.md)
- beginner.md: used for questions in beginner level, those question can include such that will show the developer ability to learn, this file can test a developer that doesn't know Rails but testing their ability to learn it by doing something
- intermediate.md: More advanced questions, usually for those that already know Rails and you want to test more advanced stuff like test coverage perhaps.
- expert.md: Want to hire the next speaker at RubyConf? kidding… expert level questions, show Rails loopholes, more advanced knowledge of the Ruby language etc..
Each question will be tagged with the level you think is appropriate.
As you can see, this project is only a README file, and Markdown files for each question category.
Simply fork the project, add your questions/tasks and issue a pull request.
Feel free to conrtibute to this README as well, it's far from being perfect and I would love to see your thoughts.
The repo has a sample app.
The sample app will be used for the answers or to emphasize how you would like your code done.
Also, it could be used to write failing specs and have the dev pass them.
Open to discussions on that as well.