Job Description:
On behalf of our client, we are looking for a Senior Java Developer for our Baltimore client. The Senior Java Developer shall have extensive experience in developing and maintaining high-performing Java applications. The candidate will have prime accountability for major projects and will develop detailed and robust design, code, test, and implement proposed systems. The candidate will have the ability to develop technical solutions and document the solution architecture and design using standard design tools.
Job Responsibilities:
Design and develop applications from the functional requirements
Design and develop key application components as microservices by adapting the Twelve-Factor Application Methodology using Spring Boot, Java and RESTful architecture
Create POCs, templates for developing Behavior Driven Development (BDD) test framework for the APIs using Cucumber, Gherkin, and Java
Implementation of Graphical User Interface (GUI) using the presentation tier technologies such as JSP, HTML, CSS, XML, AJAX, JQuery and JavaScript
Develop Simple Object Access Protocol (SOAP) based Web Services using Web Service Technologies and Security such as JAX-WS Web Services, WS-Security, IBM Data Power, Web Services-Interoperability (WS-I), Message Transmission Optimization Mechanism (MTOM), or SOAP with Attachments (SWA), Apache Axis and Web Service Definition Language (WSDL)
Develop and maintain Enterprise Java Batch application using Java Specification Request (JSR) 352 specification and schedule java batch jobs using Control-M
Develop Data Access Layer (DAO) to interface the application with IBM DB2 9.0 database running on z/OS 64-bit mainframe operating systems for IBM mainframes that queries and retrieves data using SQL, JNDI, JDBC template and through Object Relational Mapping(ORM) tool Hibernate
Design Web Page components that are compliant with Section 508 of the Rehabilitation Act (29 U.S.C. 794d)
Create Maven build scripts to automate the build process
Use the Continuous Integration and Continuous Delivery tools Bitbucket, Jenkins, Nexus, UCD to version control, build, store artifacts, and deploy the software projects
Use MS Project, Visio and IT Governance Frameworks to document the solution architecture & develop UML based design documents
Develop unit test cases for every possible Java class with real scenarios using Junit, Mockito and PowerMock frameworks
Job Requirements:
Extensive Design and Programming skills in Java and JEE technologies
Extensive hands-on experience with one or more frameworks such as AngularJS, jQuery, ReactJS, and Express/Node.js
Experience working on Agile projects and strong knowledge of Agile terminology and tools including VersionOne
Experience in developing the applications using Single-Page Architecture
Experience in coding "responsive" web pages with an understanding of the cross-browser limitations and browser compliance standards
Experience designing and deploying cloud-native applications on to AWS with PostgreSQL
Deep Knowledge of PaaS offerings such as Red Hat OpenShift and Docker
Experience with modern software development tools for Continuous Integration including Jenkins, Git/BitBucket, Jira, Nexus, Maven, Jenkins, SonarQube, Fortify, and UrbanCode Deploy.
Experience with Web Services Technologies (XML, JAXP, JAXB, JAX-WS, AXIS, JERSEY, JSON, CXF, REST and SOAP) and Security (LTPA, JWT, OAUTH2)
Hands-on Design and development experience on Microservices and Restful API.
Experience with Automated unit test (i.e. JUnit, Mocking frameworks), Test Driven Development (TDD), and Behavior-driven development (BDD) (Cucumber)
Experience with JEE technologies including Struts, Spring Framework (IoC, MVC, Transactions, Security, and Batch), Spring Boot, Spring JDBC, JPA, Hibernate, SOAP/RESTful, XML, DB2, Tomcat, WebSphere
Knowledge of security vulnerabilities in web applications and addressing them
Strong communication and documentation skills