· Contribute in all phases of the development lifecycle.
· Write well designed, testable, efficient code.
· Ensure designs are in compliance with specifications.
· Prepare and produce releases of software components.
· Support continuous improvement by investigating alternatives and technologies and presenting these for review.
· BS/MS degree in Computer Science, Engineering or a related subject
· Proven hands-on Software Development experience
· Proven working experience in Java development
· Hands on experience in designing and developing applications using Java EE platforms
· Object oriented analysis and design using common design patterns.
· Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management etc)
· Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
· Experience in the Spring Framework
· Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
· Experience with test-driven development
· 5 – 7 years experience