Proven work experience as a Software Engineer or Software Developer.
Experience designing interactive applications.
Ability to develop software in Java, Ruby on Rails, C++ or other programming languages.
Excellent knowledge of relational databases, SQL and ORM technologies (JPA2, Hibernate).
Experience developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC).
Experience with test-driven development.
Proficiency in software engineering tools.
Ability to document requirements and specifications.