The company is looking to hire a Full Stack Java Developer to join their Agile Scrum team and provide software development and maintenance for the delivery of releasable software in short sprint cycles.
Requirements
- Proficiency in Java 8 or higher, including an in-depth understanding of OOP principles, data structures, and algorithms
- Extensive experience with Spring Boot, Spring MVC, Spring Security, and other modules, including dependency injection and aspect-oriented programming
- Strong knowledge of designing and implementing RESTful APIs, including standards, versioning, and documentation
- Familiarity with testing frameworks such as JUnit, TestNG, and Mockito
- In-depth knowledge of the Angular framework
- Expert experience in the following programming languages/libraries: Angular, Typescript, JavaScript, CSS and HTML
- Experience with source code control systems and concurrent development workflows (Git preferred)
Responsibilities
- Designing, developing, and implementing custom software and database application capabilities for a variety of legacy and modernized systems
- Providing improvements to the product(s) being supported
- Actively participate in release and sprint planning, artifact creation, sprint testing, regression testing, demonstrations and retrospectives and solution releases
- Analyzing complex project-related problems and creating innovative solutions
- Ensuring product quality and timeliness of work, providing advice and guidance, resolving problems to meet objectives, and providing periodic performance reports
- Providing mentoring to junior members of the team
- Supporting release planning with conceptual design and development / refinement of software engineering guidelines
Other
- Must be a U.S. Citizen with the ability to pass CBP background investigation
- College degree (B.S.) in Computer Science, Software Engineering, Information Management Systems or a related discipline
- Professional Experience: at least seven (7) years related technical experience, with software design, development and implementation in a Windows Environment
- Ability to apply estimation techniques to software development efforts
- Working knowledge of and ability to assist others in the use of software engineering tools to support process improvement
- Understanding of all elements of the software development life cycle, including planning, development, requirements management, CM, quality assurance, and release management
- Ability to work independently and as part of a team
- Ability to communicate effectively with stakeholders and team members