Job Summary
We are looking for an experienced Senior Java Software Engineer to join a technology team responsible for modernizing and supporting business-critical enterprise applications. This is an opportunity to work on highly visible systems while helping transform legacy applications into modern, cloud-based solutions.
In this role, you will work across the full software development lifecycle, designing and building scalable Java applications, APIs, microservices, and event-driven integrations. You will also have the opportunity to influence technical direction, introduce modern engineering practices, leverage AI-assisted development tools, and mentor other engineers.
The ideal candidate is a strong hands-on Java developer who enjoys solving complex technical problems and wants to play an active role in application modernization rather than simply maintaining existing systems.
Hybrid role in Sioux Falls. Full time direct hire role with client. Please email resume directly to Jenny Hove – jenny.hove@p3uplift.com
What You’ll Be Doing
- Lead and contribute to the modernization of legacy Java applications into cloud-native, microservices-based architectures.
- Design, develop, test, and support enterprise applications using Java 17+, Spring Boot, and the broader Spring ecosystem.
- Build scalable REST APIs and microservices using API-first development practices and modern documentation standards.
- Develop event-driven applications and integrations using technologies such as Kafka.
- Design solutions that are secure, maintainable, reusable, highly available, and capable of supporting critical business processes.
- Develop automated unit, integration, and API testing using tools such as JUnit, Mockito, and Cucumber.
- Work with relational databases and optimize SQL queries across platforms such as Oracle, SQL Server, and PostgreSQL.
- Utilize Hibernate/JPA and similar technologies to build efficient application data layers.
- Build and support containerized applications using Docker and Kubernetes.
- Contribute to CI/CD pipelines, automated deployments, infrastructure-as-code practices, and release automation.
- Use Git-based development workflows, pull requests, peer reviews, and modern source-control practices.
- Troubleshoot complex application issues, including performance, memory utilization, integrations, and production incidents.
- Use approved AI-assisted development tools such as GitHub Copilot, ChatGPT, and Claude to accelerate coding, testing, documentation, and problem solving.
- Identify practical opportunities to incorporate AI and automation into applications and software engineering processes.
- Collaborate closely with architects, product leaders, QA engineers, Scrum Masters, developers, and business stakeholders.
- Participate in sprint planning, backlog refinement, stand-ups, reviews, retrospectives, and SAFe/PI Planning activities.
- Translate complex business requirements into scalable technical solutions and system designs.
- Create technical documentation and architecture artifacts using tools and techniques such as UML, process flows, and data models.
- Evaluate existing applications and recommend modernization, performance, reliability, and maintainability improvements.
- Research emerging technologies and development practices that could improve the engineering environment.
- Mentor less-experienced engineers and help establish strong software engineering standards across the team.
- Participate in an on-call rotation and occasionally provide after-hours support for critical releases, implementations, or production issues.
What We’re Looking For
- Strong professional experience developing enterprise applications with Java, preferably Java 17 or newer.
- Advanced experience with Spring Boot and Spring Framework.
- Strong background designing and developing REST APIs and microservices.
- Experience modernizing legacy applications or transitioning applications to modern/cloud-native architectures.
- Understanding of object-oriented programming, software design patterns, and distributed application architecture.
- Experience with Kafka or other enterprise messaging/event-streaming technologies.
- Strong SQL skills and experience working with relational databases.
- Experience with JPA/Hibernate or similar ORM frameworks.
- Hands-on experience with automated testing frameworks such as JUnit, Mockito, and Cucumber.
- Experience with Docker, Kubernetes, and containerized application environments.
- Knowledge of cloud platforms, ideally AWS.
- Experience with CI/CD, Git, Maven or Gradle, and automated software delivery practices.
- Experience working within Agile/Scrum environments; SAFe experience is a plus.
- Ability to analyze and resolve complex application and production issues.
- Strong communication skills with the ability to collaborate across technical and business teams.
- Experience mentoring developers or providing technical leadership within an engineering team.
Technology Environment
Java 17+ | Spring Boot | Spring Framework | REST APIs | Microservices | Hibernate/JPA | Kafka | SQL | AWS | Docker | Kubernetes | Git | Maven/Gradle | Azure DevOps | CI/CD | JUnit | Mockito | Cucumber | JaCoCo | GitHub Copilot | ChatGPT | Claude | SAFe Agile | Scrum | PI Planning
Why This Role?
This is a strong opportunity for a senior engineer who wants more than a traditional application maintenance position. You will have the chance to help modernize critical enterprise platforms, influence architecture and engineering practices, work with cloud and AI-enabled technologies, and mentor other developers.
You’ll join a collaborative engineering environment where your technical expertise can directly influence how applications are designed, built, tested, and delivered. If you enjoy taking complex legacy environments and helping move them toward modern, scalable architecture, this role offers the opportunity to make a meaningful impact.
Please email resume directly to Jenny Hove – jenny.hove@p3uplift.com