Overview
Job Purpose
Designs, builds, and maintains full stack Java applications for the organization. Our Java Software Engineers develop applications in an Agile SDLC. Responsible for the development of Java enterprise applications utilizing frameworks such as Spring Boot. This position will have responsibilities in full life cycle development within a services-oriented architecture, including design, programming, testing, packaging, deploying, and maintaining service and infrastructure components.
Responsibilities
Provides full stack design and development of Spring Boot components and the migration of legacy components to target architecture
Designs and develops APIs necessary to deliver front-end functionality and/or be consumed by other partners
Designs and creates data models for applications and databases to persist them
Works closely with business analysts, and team members to understand business requirements that drive the analysis and design of quality technical solutions
Participates in software design meetings and analyzes user needs to determine technical requirements
Writes technical specifications based on conceptual design and stated business requirements
Designs and develops automated Unit Tests, Component Tests, and Scenario Tests
Performs code reviews and adheres to secure coding practices
Mentors and guides work of less experienced software development staff
Remains current on company SDLC standards
Works closely with other engineers, vendor partners and business owners to ensure that the finished solution meets the needs of the business and our customers
Performs additional related duties as assigned
Knowledge and Experience
Required
Bachelor’s Degree or the equivalent combination of education, training, or work experience
8+ years of software engineering work experience
Experience working with Java development technologies
Experience with Spring or Spring Boot frameworks
Preferred
Experience with any of the Kubernetes based platforms (OpenShift (OCP), EKS/ECS, Pivotal Cloud Foundry)
Experience with RESTful service development and working with microservices applications
Familiarity with Continuous Integration and Continuous Delivery (CI/CD) pipelines
Familiarity with ADO source code management and pipelines
Experience working with Kafka, Liquibase, Splunk or Snyk
Experience working with OpenTelemetry, Jaeger, and Grafana
Proficiency with development techniques such as Test-Driven Development, Unit Tests, Component Tests and/or Scenario Tests
Familiarity working in a Software Development Life Cycle (SDLC) leveraging Agile principles
Excellent analytical, decision-making and problem-solving skills
Any cloud certification a plus (i.e. AWS, Azure, OCP)