Java Software Engineer
Responsibilities:Meet or exceed test coverage goals set for the project through creation of unit and functional tests.Minimize the number of production escapes.Support user acceptance testing.Support and conduct system/performance/volume/stress testing.Collaborate with business and/or UX team to create appropriate user interfaces.Assist with mock-ups and user interface design.Incorporate UX components into applications.Provide feedback to UX teams.Ensure the system can meet or exceed defined SLAs.When acting as the primary on-call, respond to pages within 15 minutes and resolve or escalate issues as necessary.Resolve production issues and communicate resolutions to appropriate stakeholders.Complete stories within estimates and with quality to ensure release dates are met.Conduct analysis and design work.Prepare technical documentation.Estimate work effort (story pointing) and task-out development effort for a given story or task.Follow the development process and suggest improvements.Work with infrastructure services to make configuration changes and deploy applications.Evangelize common practices and development procedures.Exhibit technical leadership in a given technical subject domain.Identify new technologies and approaches that may improve quality, productivity, and capabilities.Mentor peers and junior developers.Delegate and coordinate functional development tasks as needed.Drive innovation in the development, release, and operations processes.Required Qualifications:Ability to provide technical expertise to others and explain concepts with technical staff.Ability to operate independently with extreme accuracy and attention to detail.Experience defining requirements, designing and illustrating process flows, and training users.Ability to communicate and follow up professionally (written and oral) both internally and externally, including documentation of application requirements.Demonstrated ability to identify and resolve issues effectively.Ability to mentor others.5 years of Java experience.Comfortable with front-end, middle tier, and backend technologies.Experience in front-end technologies like Angular or equivalent.Expertise in Spring and Spring Boot.Knowledge of networking concepts such as DNS, HTTP APIs, and managing REST services.Experience with Agile software development methodology.Expertise using version control software such as Git.Experience handling deployment processes, deployment environments, and production application troubleshooting techniques.Experience deploying application components in AWS EKS clusters.Experience using relational and NoSQL databases.Experience with security concepts such as handling JWT tokens and understanding OIDC flows.Bachelor’s degree in Computer Science or equivalent field desired and 7 years of technical experience orMaster’s degree in Computer Science or equivalent field desired and 3 years of technical experience.Minimum of 5 years of experience in a development environment.Preferred Qualifications:Hands-on experience building containerized applications; Kubernetes experience a plus.Experience working with AWS cloud native services such as S3, CloudFront, Lambda, ELB, SNS, SQS, and Route53.Experience with Aurora RDS, PostgreSQL, and DynamoDB.Experience working with messaging and MQ brokers.Experience using Infrastructure-as-Code technologies such as Terraform.AWS Developer or Solutions Architect certification.