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
Bachelor's Degree in Computer Science