As a Java Engineer, you are expected to be able to function in a fast-paced environment driving innovation through rapid prototyping and iterative development ensuring quality is built into all solutions leveraging TDD. Your responsibilities will require you to be an expert in API development. You will lead teams of developers guiding on engineering and architecture best practices as well as demonstrate the ability to influence and engage with other engineers and architects. You will work closely with business clients and UI designers to analyze user requirements, design and code applications and customize and/or integrate commercial software packages for both internal employees and external member-facing applications across multiple platforms.
As a Java Engineer, it will be your responsibility to maintain code integrity and quality as well as ensure application architecture is designed for performance and resiliency.
- Utilizing technical expertise; Creates system requirements, performs design and analysis, and coding and unit testing of complex to highly complex system functionality and/or defect correction across multiple platforms. Identifies ideas to improve system performance and impact availability. Resolves complex technical design issues.
- Provides functional and/or technical guidance in evaluating applications systems or evaluating requests for proposals. Coordinates changes and influences and prioritizes tasks with business or technical departments.
- Analyzes and influences technical, system, and/or user requirements. Identifies and creates solutions to improve system performance and availability. Facilitates root cause analysis of system issues to minimize impact and future occurrences.
- Creates system documentation/play book(s) and serves as a lead technical reviewer and contributor in requirements, design and code reviews. Typically serves as a resource to the business.
- Develops accurate estimates on work packages and ensures the accuracy of estimates developed by less experienced internal and third party team members. Analyzes and designs specifications for less experienced internal and third party team members to execute. Acts as a technical resource throughout the development life cycle. May also actively contribute to the technical and soft skills development of team members.
- Assists team leads and management with delegation of technical work packages to cross-functional and third party team members for execution through the full development life cycle. Keeps management appropriately informed of progress and issues.
- Coordinates system application transition from development teams to maintenance and production teams, and/or constructs and implements necessary controls to assure system/application traceability.
- Bachelor's degree in Computer Science or STEM (Science, Technology, Engineering, Math) majors or 4 additional years of related experience beyond the minimum required may be substituted in lieu of a degree.
- AND, 6+ years of software engineering/development experience utilizing Java with at least 2 years experience working with Web Services REST or SOAP
- 4+ years in REST frameworks with focus on API development
- 2+ years in AGILE methodology
- 2+ years experience integrating with backend services like JMS, J2C, ORM frameworks (Hibernate, JPA, JDO, etc), JDBC.
- Ability to design and implement container based APIs using container frameworks like OpenShift, Docker, or Kubernetes.
- Relational Database design and optimization with Oracle DB2, MySQL, or Postgress
- Understanding of microservices architecture design and implementation
- Working experience with Gradle, GIT, GitHUB, GITLab, etc. around continuous integration and continuous delivery infrastructure
- Cloud infrastructure application development with vendors like AWS, Google or Microsoft.
- Experience testing in REST services
- Experience designing and developing automated test frameworks
USAA Java Software Engineers create innovative solutions that impact our members. Collectively, we are:
- Curious and excited by new ideas
- Energized by a fast-paced environment
- Able to understand and translate business needs into leading-edge technology
- Comfortable working as part of a connected team, but self-motivated
- Community-focused, dependable and committed
- Exceptionally detail-oriented
Job Number: R0023028