Job Purpose
applications with focus on backend and microservices development. OurJavaSoftware Engineers develop applications in an Agile SDLC. Responsible for the development ofenterprise applications.
Responsibilities
- Provides full stackJavadesign and development of projects involving application development, migrations, and additions to existing applications
- Designs and develops APIs necessary to affect front end functionality and/or be consumed by other partners
- Designs and creates data models for applications and databases to persist them
- Participates in software design meetings and analyzes user needs to determine technical requirements
- Works alongside other technical leads and application architects to provide and implement solutions
- Writes technical specifications based on conceptual design and stated business requirements
- Develops and/or reviews development of test protocols for testing application before user acceptance with an emphasis on automated Unit Tests, Component Tests, and Scenario Tests
- Completes documentation and procedures for installation and maintenance
- Mentors and provides assessment of less experienced software development staff
- Remains current on industry standards in web development
- Performs additional related duties as assigned
Knowledge and Experience
- Bachelor’s Degree or the equivalent combination of education, training, or work experience
- 8+ years of Java back end development experience
- Previous experience as a Technical or Team Lead highly preferred
- Experience with Spring or Spring Boot frameworks required
- Experience with creating and consuming REST APIs
- Strong understanding and experience with microservices development and deployment through container orchestration systems
- Experience creating and consuming OpenAPI specifications
- Experience creating, analyzing, and improving SQL queries for Oracle database
- Experience developing Java database interactions with JPA
- Experience using the Java JVM and with applications running in containerized environments
- Familiarity with Continuous Integration and Continuous Delivery (CI/CD) pipelines
- Familiarity with Git source code management tools and concepts
- Ability to communicate and collaborate effectively in a team environment
- Experience mentoring less experience software development staff
- Proficiency with development technique 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