Metaprogramming: You should know what it means to abstract away recurring patterns in code. You should know Ruby’s meta-programming features like the back of your hand. You should be able to write extremely DRY code, and know how to create DSLs in order to create highly flexible systems.
Testing: We value test-driven design and development, and you should too. We use RSpec, but you should know and understand what “design for testability” means. We also use Selenium for functional testing, and you should be familiar with its quirks and eccentricities. You should know how to create a maintainable and fast regression suite – both at the unit and at the functional level.
Integration: Our Ruby/Rails system integrates with our Clojure system. While integration patterns is a very useful subject to know, you shouldn’t be scared to try out novel techniques for this problem; for instance, we use generated (executable) Clojure DSL code to communicate between systems. You should be prepared for life on the bleeding edge.
Think your Ruby skills are up to the challenge? Join the Runa team!