Job Description :
RESPONSIBILITIES
Produce code for new and modified programs that meet user requirements and conform to departmental standards regarding documentation and structure that is reliable and easy to maintain.
Analyze and classify change requests, identifying and documenting scope of change and impact on other interfaces.
Understands a broad spectrum of technology in order to provide part or all of a detailed technical design which meets requirements
Participate in walk-throughs which review program specs, source code, all technical supporting documentation, including screens/reports: provide feedback in accordance with department
standards and guidelines.
Support clients with software applications.
Communicates across client community, and is viewed as adding value
Develop unit test plans that will thoroughly exercise program logic to ensure program/application performance with regard to business requirements.
Execute unit test plans, document test results and resolve discrepancies as deemed appropriate.
Develop system test plans and scripts that will thoroughly exercise program logic to ensure program/application performance with regard to business requirements and system integration.
Produce code for new and modified programs that meet user requirements and conform to departmental standards around documentation and structure that is reliable and efficient.
Provides technical leadership on specific integration activities that are part of an engagement
Often leads small-to-medium technical projects. Works with and under the direction of the Project/Technical Manager and with customer nominated representatives. Liaises with Solutions
Architect as appropriate
Provides advice on solution and integration opportunities to defined segments
Provides planning and design support for the development of solution architectures that will be implemented in a multiple system environment
Conduct research as required.
Guide and provide training to Programmer Analysts.
QUALIFICATIONS
Bachelor''s degree in Computer Information Systems or equivalent work experience
10+ years application development experience
Java must have strong experience in core Java
Spring/JEE platform must have experience with Spring (Spring Boot, Spring MVC, Spring Data, Spring Security) or JEE platform (CDI, JPA, EJB, JAX-RS, JAX-WS)
Strong foundation in Object Oriented Programming and Design Patterns
Knowledge and applying SOLID principles in practice
Experience with WebServices (SOAP, REST)
Must understand basic principles of data modeling
SQL must be able to write simple to moderate complexity SQL queries
Experience with ORM frameworks (JPA, Hibernate, OpenJPA)
Experience with test framework: JUnit, TestNG, Mockito
Excellent problem solving and analytical skills
Good communicator, keen to collaborate and share knowledge
TECHNICAL HIGHLY DESIRED
Automated build platforms/continuous integration experience and knowledge (Jenkins, Hudson, Maven, Gradle)
Experience with test automation tools (Selenium/WebDriver, Fitnesse, JBehave)
Knowledge and applying TDD principles in practice
Ability to interpret and troubleshoot applications using logs (troubleshooting Java memory issues, analyzing java heap/thread dumps, troubleshooting application issues)
Experience with Unix platforms
Web development skills experience with HTML 5, CSS 3, JavaScript, JavaScript frameworks (AngularJS, jQuery), Bootstrap, LESS and other Web 2.0 technologies
Experience with agile methodologies (Scrum, Kanban)
TECHNICAL NICE TO HAVE
Prior experience with IBM WebSphere products (WebSphere Application Server, WebSphere Portal, WebSphere Liberty Profile)
Experience with message queue brokers (WebSphere MQ, Oracle AQ)
Prior experience with Tomcat
Experience with databases (SQL Server, Oracle, DB2)