Senior Java Software Engineer
Backend Developer
Senior
Apache Tomcat
Containerization
Database
Databases
DevOps
Docker
Engineering
Information Technology (IT)
Information Technology It
Java
Java Language
Keycloak
Oracle
Oracle Database
Oracle Pl/sql
PostgreSQL
Software Development
Software Engineer
Software Engineering
Spring Framework
SQL
Job Description
Professional Management Enterprises, Inc. seeks a Senior Java Software Engineer in Indianapolis, IN (onsite) to design, build, implement, and support enterprise applications. The role emphasizes Java, Oracle technologies, Agile delivery, technical leadership, performance optimization, and collaboration with DevOps, along with ownership of key components of an STC product.
Responsibilities
- Architect, design, develop, and maintain high-quality, scalable, and reliable software applications aligned with established coding standards and engineering best practices.
- Provide technical guidance within an Agile team, mentor junior developers, and contribute to architectural decisions and implementation strategies.
- Build and maintain Java-based applications using Java, Struts 2.0, JSP, Servlets, Spring Framework, JavaScript, and jQuery.
- Develop, configure, deploy, and support applications running on Apache Tomcat and other Java application servers.
- Design and maintain Oracle database objects, including tables, views, and stored procedures, using Oracle SQL and PL/SQL.
- Support client database administration tasks, investigate application and database issues, perform data modifications, and develop reports as needed.
- Analyze and optimize application and database performance, troubleshoot complex technical issues, and resolve production incidents efficiently.
- Collaborate with DevOps teams to support releases, streamline deployments, and maintain continuous integration workflows.
- Provide technical support to project team members and take ownership of one or more STC product components to ensure stability, functionality, and maintainability.
- Support SDLC practices, including version control, change management, unit testing, test-driven development, and continuous integration.
- Participate in occasional after-hours support and maintenance to maintain application availability and operational continuity.
Requirements
- At least five years of professional experience as a software engineer or software developer.
- At least five years of experience with several of the following: Java application development and application servers, including Apache Tomcat or Oracle Application Server.
- At least five years of experience with several of the following: Java frameworks, including Struts 2.0 and Spring Framework.
- At least five years of experience with several of the following: Java Web Services, JSP, and Servlets.
- At least five years of experience with several of the following: Oracle database development and administration support.
- Strong proficiency in Oracle SQL and experience developing and maintaining PL/SQL stored procedures, views, and other database objects.
- Experience developing and maintaining web-based user interfaces using JSP, JavaScript, and jQuery.
- Demonstrated ability to debug, analyze, and optimize SQL queries for performance and efficiency.
- Experience supporting database-related issues, including performance tuning, troubleshooting, and resolving application-to-database integration problems.
- Solid understanding of SDLC, including version control, change management, continuous integration, unit testing, and test-driven development.
- Experience working within an Agile Scrum team.
- Strong analytical, problem-solving, and troubleshooting skills.
- Excellent written and verbal communication skills, including the ability to explain technical concepts to technical and non-technical audiences.
- Ability to work independently, collaborate effectively with cross-functional teams, and take ownership of assigned deliverables.
- Availability to provide occasional after-hours support and maintenance.
Technologies
- Java
- Oracle
- Oracle SQL
- PL/SQL
- Struts 2.0
- JSP
- Servlets
- Spring Framework
- JavaScript
- jQuery
- Apache Tomcat
- Oracle Application Server
- PostgreSQL
- Keycloak
- Docker
Preferred Qualifications
- Bachelor's degree in Computer Science, Computer Information Systems (CIS), Mathematics, Engineering, or a related field.
- Experience with PostgreSQL (Postgres).
- Familiarity with Single Sign-On (SSO) solutions, such as Keycloak.
- Experience building, packaging, and deploying applications using Docker containers.
- Experience supporting enterprise software products in production environments.
- Demonstrated ability to mentor developers and contribute to technical architecture and engineering standards.
What Success Looks Like
- Deliver reliable, scalable, and maintainable software while improving how the team works together.
- Use technical expertise to improve application performance, resolve challenging production issues, strengthen database reliability, and support successful software releases.
- Act as a trusted technical resource for the project team and contribute to continuous improvement while taking ownership of critical STC product components.