Description

Job Title: Sr Java Developer with Angular
Location: Baltimore, MD or Remote
Duration: Long Term Contract

Key Required Skills:
Strong experience with Java, REST, Spring Boot, Angular 2.0 and above. Spring Framework, and Agile Development Practices

Position Description:
·        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.
·        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 artifact, 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. 

Skills Requirements:
Basic Qualifications:
·        Bachelor's Degree in Computer Science, Mathematics, Engineering, or a related field
·        Masters or Doctorate degree may substitute for required experience
·        10+ years of experience with Java systems/application analysis and design

Required Skills:
·        Strong front-end development skills: Angular 2.0 and above, HTML/JavaScript, Cascading Style Sheets (CSS), JQuery
·        Strong experience in Java/J2EE, REST, Spring MVC or Struts 2 & Spring Boot 
·        Strong understanding of Hibernate, JPA and JDBC
·        Strong understanding of OOPS, Twelve Factor Application Design principles, architecture styles and APIs (Web API/Rest API)
·        Develop applications using Java/Spring Boot and design and develop database components using PostgreSQL DB or Oracle as needed for application.
·        Experience identifying requirements, researching options, designing and implementing solutions at a leadership level on project work
·        Git, BitBucket, Maven, Jenkins automation
·        Understand and leverage common Java/J2EE architectural styles and patterns (SOA, Microservice, Layered, Clean, Event Sourcing etc.)
·        Understand and apply quality techniques and practices (automated unit testing, Test Driven Design/Development, Java performance analysis, continuous integration)
·        Strong communication and documentation skills

Education:
·        Master's degree and 10+ years of experience in a training-related field or bachelor's degree and 12+ years of experience in a training-related field 
·        Must be able to obtain a Public Trust

Education

Bachelor's Degree in Computer Science