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.
Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
Experience with test-driven development
Design and develop high-volume, low-latency applications for mission-critical systems, delivering high-availability and performance.
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 architectural review.