CACI is looking for a Full Stack Java Developer to join their Agile Scrum team to 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
- Must have 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 with limited oversight
- Acting as a member of a product team supporting teammates and collaborating with a do what it takes attitude to ensure product and team success
- 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
- Supporting release planning with conceptual design and development / refinement of software engineering guidelines
- Analyzing complex project-related problems and creating innovative solutions involving, scheduling, technology, methodology, tools and solution components
- Ensuring product quality and timeliness of work, providing advice and guidance, resolving problems to meet objectives, and providing periodic performance reports
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
- 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