Design, develop, and implement complex Java applications using industry best practices
Enhance, maintain and support existing Java applications
Participate in all phases of the software development lifecycle, from requirements gathering and design to development, testing, deployment and maintenance support
Ensure the quality and performance of Java applications through code reviews, unit / functional / integration testing and non-functional testing
Troubleshoot and resolve complex technical / functional issues
Be a cross team player and work with other groups including infrastructure and security teams to ensure high uptime of applications
Contribute to improvement of development processes and methodologies
Requirements
5 + years of professional experience in Java development
Strong proficiency in Java, J2EE, and related technologies (e.g., Spring, Hibernate)
Good working knowledge on Groovy/Grails, Eclipse and Spring with security feature implementation
Experience with relational databases (e.g., Oracle, MySQL, PostgreSQL)
Good to have Unix and shell scripting knowledge
Experience with software development methodologies
Preference for candidates who have worked on configuring, maintaining , and troubleshooting both Apache and Tomcat servers.