Full-Stack Engineer (Java / Spring Boot)

Agile Defense United States of America
Apply Now

Job Title: Full-Stack Engineer (Java / Spring Boot)

Location: Remote

Clearance Level: Public Trust

JOB DUTIES AND RESPONSIBILITIES

QUALIFICATIONS

Required Certifications

Full-Stack Engineers should be able to perform automation and engineering tasks, data, infrastructure/operations, and security engineer tasks in cloud environments.

· Minimum of five (5) years of experience in the Information Technology field focusing on Java and Spring Boot development environments.

· Experience with full stack engineering (defined as proficient in database development/integration as well as server and client application development/integration), including three (3) years of experience deploying production enterprise applications in AWS.

· Three (3) years of specific software engineering experience related to front-end and back-end applications and/or data services.

· Experience working in AWS, software containerization and Agile development processes.

· Experience developing and maintaining micro-services

· Experience developing RESTful API-based applications

· Experience with Test-Driven Development

· Experience in large-scale, high-performance enterprise big data application deployment and solution architecture on complex heterogeneous environments in AWS.

· Strong communication, analytical and problem-solving skills

Education, Background, and Years of Experience

· Minimum of five (5) years of experience in the Information Technology field focusing on Java and Spring Boot development environments.

ADDITIONAL SKILLS & QUALIFICATIONS

Required Skills

· Produce quality and maintainable code

· Write clean, concise, and maintainable code

· Work with other agile teams to effectively design, build, and deliver cloud-based solutions

· Create and sustain micro-service applications using Java and Spring Boot

· Analyze system logs to perform root-cause analysis of performance or infrastructure issues

· Help define and enforce development best practices

· Automate pain points in the software development process (local development and CI/CD pipeline)

· Contribute to the development of user stories, acceptance criteria and participate in story estimation

· Participate in writing automated tests to verify the intent of stories

· Support other developers through code reviews and pairing when they have questions or hit blockers

· Work with other teams to coordinate integration testing across multiple teams

· Support and improve the overall system

· Work closely with business analysts and subject matter experts to understand requirements and translate to software solutions

· Participate in design meetings with the projects and technical specialists

· Work with other teams to coordinate integration testing across multiple (more than 3) teams

· Actively participate in merge requests

· Plan and carry out deployments

· Investigate data quality issues raised by users of the system

· Investigate errors in applications and perform root cause analysis

· Develop with Javascript frameworks such as REACT and Angular

· Research data sources for ways to expand the usefulness of the system

· Provide application programming interfaces (APIs) and services

· Support the security posture of the system

· Contribute to hardening OS images, applications, and containers

· Perform security scans and produce reports of the outcomes

· Collaborate with and as a team and attend Daily Stand Ups (DSUs), backlog grooming, sprint demos, and other agile ceremonies

· Facilitate communication and integration across AI/ML, Engineering and DevSecOps teams.

· Proven experience with the following technologies:

· Languages: Java 8+, JavaScript, and J2EE

· Frameworks: Spring Framework (preferably Spring Boot), Node.js,

· Web Frameworks: Angular, React

· Database: Experience with a relational database

· Infrastructure: Jenkins, Terraform, Amazon Web Services (AWS) or Google Cloud Platform (GCP),

· Development Tools: Git, Gradle, Maven

· Development Methodologies: Test Driven Development, Agile Software Delivery, Scrum, Continuous Integration/ Continuous Deployment