Full-Stack Engineer (Java / Spring Boot)
Apply NowJob 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