Java Product Engineer
Description:
We are seeking an experienced Java Product Engineer / Full Stack Java Developer to design, develop, modernize, deploy, and support enterprise software applications in mission-critical environments. The ideal candidate is a self-driven engineer who can understand complex business problems, translate them into scalable technical solutions, and own features from discovery through production deployment.
This role requires deep expertise in Java Spring Boot microservices, enterprise application development, Oracle databases, REST APIs, and modern DevOps practices. The successful candidate will participate throughout the full software development lifecycle while collaborating with business stakeholders, architects, QA, and Agile teams to deliver secure, high-quality enterprise solutions.
Key Responsibilities
Software Design & Development
Design, develop, test, maintain, and modernize enterprise Java applications.
Build scalable REST APIs and backend microservices using Java Spring Boot.
Design and develop full-stack web applications using modern front-end frameworks (React, Angular, or similar).
Analyze legacy applications (Java, C/C++, COBOL, Pro*C, Oracle, or similar) and support modernization efforts.
Develop data access layers using Spring Data JPA, Hibernate, and JDBC.
Utilize direct SQL/JDBC where performance or flexibility requires it.
Design scalable, maintainable, and secure application architectures.
Database Development
Develop complex SQL queries, PL/SQL, stored procedures, and batch processing solutions.
Optimize Oracle (or other relational database) performance.
Design efficient database access patterns using JPA/Hibernate and JDBC.
Perform query optimization and performance tuning.
Enterprise Application Development
Develop enterprise microservices using Spring Boot.
Build cloud-native applications deployed in Docker, Kubernetes, or OpenShift environments.
Design and consume RESTful APIs.
Participate in enterprise integration and distributed systems development.
Software Quality
Write clean, maintainable, well-documented code.
Develop automated unit and integration tests using JUnit and Mockito.
Participate in code reviews and architecture reviews.
Utilize SonarQube and static code analysis tools.
Troubleshoot production issues through application logs, debugging, and root cause analysis.
Continuously improve application quality, maintainability, scalability, and security.
DevOps & CI/CD
Build and support CI/CD pipelines using Jenkins, Maven, Git, or similar tools.
Support production deployments and release activities.
Implement monitoring, logging, and performance optimization best practices.
Support containerized deployments using Docker, Kubernetes, or OpenShift.
Collaboration
Work directly with business stakeholders to understand requirements.
Translate business needs into technical designs.
Identify ambiguous requirements and recommend technical solutions.
Participate in Agile ceremonies including sprint planning, estimation, backlog refinement, and retrospectives.
Document technical decisions and implementation approaches.
Own features from design through post-production support.
Disclaimer "The responsibilities and duties outlined in this job description are intended to describe the general nature and level of work performed by employees within this role. However, they are not exhaustive and may be subject to change or modification at any time to meet the evolving needs of the organization.
Requirements:
Minimum Requirements
Bachelor's degree in Computer Science, Information Systems, or related field (or equivalent experience).
5+ years of enterprise Java application development experience.
Strong proficiency with Java 17 or later.
Extensive experience with:
Spring Boot
Spring Framework
Spring MVC
Spring Data JPA
Strong understanding of:
Hibernate
JPA
Entity relationships
Lazy/Eager loading
Transaction management
Strong JDBC experience including:
Complex SQL
Batch processing
Performance optimization
Strong Oracle or relational database experience.
Experience developing RESTful APIs.
Experience building enterprise microservices.
Experience with Maven, Git, and CI/CD pipelines.
Experience writing automated unit/integration tests using JUnit and Mockito.
Experience troubleshooting production issues and debugging enterprise applications.
Strong understanding of:
Object-Oriented Design
Design Patterns
Clean Coding Principles
Experience working within Agile/Scrum development teams.
Excellent verbal and written communication skills.
U.S. Citizenship (required by contract).
Preferred Qualifications
Oracle PL/SQL and Oracle database optimization.
Experience with Oracle Exadata.
Docker, Kubernetes, or Red Hat OpenShift.
Spring Security.
Kafka or other messaging technologies.
Legacy modernization (COBOL, Pro*C, C/C++).
Secure software development practices.
SonarQube and static code analysis.
Cloud-native application development.
AWS or Azure experience.
Large-scale enterprise software development.
Federal or Government IT modernization experience.
Ability to independently analyze existing systems and recommend technical improvements.
Experience supporting production releases and mission-critical enterprise applications.