· Can demonstrate proficiency in the Java Program Language, Java Standard edition as well as Java Enterprise Edition technologies including EJB, transaction management and dynamic web content including use and development of JSP, Struts and tag libraries. As well as, proficient knowledge of Core J2EE Patterns, responsible for design and implementation of Java EE compliant apps/components/services. Often times familiar with application server configuration.
· Preferred experience with the following: RESTful based web services, JQuery, Ant, MAVEN and Spring
· Solid understanding of XML. Can view/analyze data contained in an XML document using the DTD or XSD. Can create well-formed and valid XML documents using DTD/XSD. Understand the advantages and disadvantages of its use and appropriate applications of it. Are capable of advanced XML processing techniques including SAX, XSL and data binding (XMLBeans/JAXB).
· Web design experience helpful.
· Individual works with team to define and publish milestone dates. Person manages to those dates by using appropriate communication tools to adjust milestone dates when required.
· Basic UML skills, competent using UML diagrams as part of business process modeling and software design. Can name and describe the most common UML diagrams used to facilitate OO/J2EE design.
· Familiar with source code control to understand check-in, check-out and removal procedures. Ability to effectively branch and merge code as well as resolve merges conflicts. Recognize version conflicts and communicating with different projects. Understanding the use of labels to manage groups of files.
· Entry level scripting (Perl, Shell, batch file) capabilities including the ability to execute existing scripts.
· Can demonstrate proficiency with the JUnit API by creating and running test cases and fixtures that appropriate use asserts to indicate test pass or failure.
· Can demonstrate proficiency in object to relational mapping using Hibernate. Have thorough understanding of the framework, architecture, advanced mapping concepts, transactions, concurrency, caching and fetching optimizations.
· Can demonstrate solid testing skills, utilizing automating testing techniques and tools to create repeatable and thorough tests.
· Comfortable with database development including SQL syntax, complex queries (nested sub queries, multi table joins), stored procedures/functions, packages, indexes and triggers. Is aware of how to performance tune and optimize.