Java Software Engineer - Web Services - Senior Level


Brief Summary

                            As a Java Engineer, it will be your responsibility to maintain code integrity and quality as well as ensure application architecture is designed for performance and resiliency.

•	Utilizing technical expertise; Creates system requirements, performs design and analysis, and coding and unit testing of complex to highly complex system functionality and/or defect correction across multiple platforms. Identifies ideas to improve system performance and impact availability. Resolves complex technical design issues.
•	Provides functional and/or technical guidance in evaluating applications systems or evaluating requests for proposals. Coordinates changes and influences and prioritizes tasks with business or technical departments.
•	Analyzes and influences technical, system, and/or user requirements. Identifies and creates solutions to improve system performance and availability. Facilitates root cause analysis of system issues to minimize impact and future occurrences.
•	Creates system documentation/play book(s) and serves as a lead technical reviewer and contributor in requirements, design and code reviews. Typically serves as a resource to the business.
•	Develops accurate estimates on work packages and ensures the accuracy of estimates developed by less experienced internal and third party team members. Analyzes and designs specifications for less experienced internal and third party team members to execute. Acts as a technical resource throughout the development life cycle. May also actively contribute to the technical and soft skills development of team members.
•	Assists team leads and management with delegation of technical work packages to cross-functional and third party team members for execution through the full development life cycle. Keeps management appropriately informed of progress and issues.
•	Coordinates system application transition from development teams to maintenance and production teams, and/or constructs and implements necessary controls to assure system/application traceability.
•	Bachelor's degree or 4 additional years of related experience beyond the minimum required may be substituted in lieu of a degree.  
•	AND, 6+ years of software engineering/development experience utilizing Java with at least 2 years experience working with Web Services REST or SOAP
•	4+ years in REST frameworks with focus on API development
•	2+ years in AGILE methodology (Scrum, Lean, SaFe, etc.)
•	2+ years experience with JavaScript
•	2+ years experience integrating with backend services like JMS, J2C, ORM frameworks (Hibernate, JPA, JDO, etc), JDBC.
•	Ability to design and implement container based APIs using container frameworks like OpenShift, Docker, or Kubernetes.
•	Relational Database design and optimization with Oracle DB2, MySQL, or Postgress
•	Understanding of microservices architecture design and implementation
•	Working experience with Gradle, GIT, GitHUB, GITLab, etc. around continuous integration and continuous delivery infrastructure
•	Cloud infrastructure application development with vendors like AWS, Google or Microsoft.
•	Experience testing in REST services
•	Experience in design and develop automated tests and frameworks