Position Type: Direct Hire / Full-Time
Location & Schedule: O'Fallon, MO / On-site, Monday–Friday, 9:00 AM–5:00 PM
Years of Experience: 2–5 years
Hiring Timeline: Immediate
Company: The name of our partner organization will be disclosed during the interview process. This is not a direct role with LaunchCode; it is a position through LaunchCode, working with one of our partner companies.
Position Overview
Our partner is seeking a Software Engineer II to join a Decision Management Program team responsible for an enterprise notification platform supporting high-volume transaction processing and customer-facing communications.
The platform processes transaction events and delivers notifications through email, SMS, and API channels. Engineers on the team develop and maintain distributed, event-driven services that support critical fraud prevention, security, and customer engagement products.
As a Software Engineer II, you will contribute to the design, development, testing, deployment, and production support of backend services that power the notification platform. You will work closely with Product, Technical Program Management, Architecture, Quality Assurance, and partner engineering teams to deliver scalable, resilient, secure, and maintainable software solutions.
The ideal candidate has a strong foundation in Java and Spring Boot development, REST APIs, microservices, and software engineering principles. Experience with Kafka, distributed event-driven architectures, cloud-native technologies, and high-volume transaction processing environments is highly preferred.
Position Responsibilities
Software Development
Design, develop, test, and maintain backend microservices using Java and Spring Boot.
Design software components and service interactions that support scalability, maintainability, reliability, and performance requirements.
Develop enhancements, new features, and defect fixes across enterprise notification services.
Participate in technical design discussions and translate functional and technical requirements into working software.
Write clean, maintainable, secure, and well-tested code following established engineering standards and best practices.
Develop and maintain automated unit, integration, and API tests.
Participate in peer code reviews to promote code quality, security, maintainability, and adherence to engineering standards.
Platform Modernization
Contribute to modern event-driven architectures using Kafka messaging and distributed processing patterns.
Participate in architecture discussions and technical design decisions supporting platform scalability, resiliency, and long-term evolution.
Support platform modernization initiatives, including service decomposition, resiliency improvements, performance optimization, and cloud-native deployment practices.
Identify and address technical debt to improve platform maintainability and operational efficiency.
Support the evolution of distributed services and application architecture as platform requirements grow.
Reliability & Operational Excellence
Participate in production support, incident response, troubleshooting, and root cause analysis.
Monitor application and platform health using observability tools, logs, and system metrics.
Analyze application performance and implement improvements to optimize throughput, latency, scalability, and resource utilization.
Troubleshoot application, infrastructure, integration, and data-related issues.
Support software release activities and production readiness efforts.
Contribute to engineering practices that improve system reliability, monitoring, supportability, and operational performance.
Collaboration & Agile Delivery
Collaborate with engineers, QA, Product, Technical Program Managers, Architects, and partner teams to deliver roadmap commitments.
Participate in Agile ceremonies, requirements elaboration, estimation, sprint planning, and backlog refinement.
Communicate effectively with technical and non-technical stakeholders throughout the development lifecycle.
Contribute to technical documentation, engineering standards, and team knowledge-sharing activities.
Assist and mentor junior engineers when appropriate.
Take ownership of assigned deliverables while contributing effectively within a collaborative engineering team.
Required Skills/Experience
2–5 years of professional software development experience.
Bachelor's degree in Computer Science, Engineering, or a related technical discipline, or equivalent professional experience.
Experience developing backend applications using Java and Spring Boot.
Understanding of REST APIs and microservice architectures.
Familiarity with messaging technologies or event-driven systems.
Strong understanding of software design principles and object-oriented programming.
Knowledge of data structures and algorithms.
Experience with source control, peer code reviews, and CI/CD development practices.
Working knowledge of SQL and relational databases.
Experience developing automated unit, integration, or API tests.
Strong troubleshooting, analytical, and problem-solving skills.
Ability to independently manage assigned development responsibilities and deliverables.
Strong communication and collaboration skills with the ability to work effectively across engineering and product teams.
Preferred Qualifications
Experience with event-driven architectures and messaging technologies such as Kafka, MQ, or similar platforms.
Experience with cloud platforms, PCF/Tanzu, Kubernetes, containers, or cloud-native application environments.
Understanding of distributed systems concepts, including resiliency, fault tolerance, scalability, software architecture, and performance optimization.
Experience with observability and monitoring technologies such as Splunk, Dynatrace, Grafana, or Prometheus.
Experience developing and supporting CI/CD pipelines.
Familiarity with automated testing frameworks and modern software quality practices.
Exposure to PCI, information security, or other regulatory and compliance requirements.
Experience developing or supporting high-volume transaction processing systems.
Experience troubleshooting and supporting production applications within complex distributed environments.
Technical Environment
Java (JDK 17)
Spring Boot
Kafka Messaging
REST APIs
Oracle / SQL
GitHub / Bitbucket
CI/CD Pipelines
Splunk
Dynatrace
PCF / Tanzu
Distributed Event-Driven Architecture
Success Measures – First 12 Months
A successful Software Engineer II will:
Independently deliver software stories and enhancements from technical design through production deployment.
Contribute meaningful improvements to platform reliability, performance, scalability, or maintainability.
Demonstrate ownership of one or more services or technical domains within the enterprise notification platform.
Participate effectively in production support, troubleshooting, and incident investigations.
Develop strong working relationships with Product, Technical Program Management, QA, Architecture, and peer engineering teams.
Continuously expand technical knowledge and contribute to improving team engineering practices.
Demonstrate ownership, accountability, and a commitment to delivering secure, reliable, and high-quality software.
Information Security Responsibilities
All activities involving access to partner systems, information, applications, and networks carry responsibility for protecting organizational information and technology assets. Employees are expected to:
Follow established information security policies, standards, and practices.
Protect the confidentiality and integrity of information and systems accessed as part of their responsibilities.
Promptly report suspected information security violations, incidents, or breaches.
Complete required security and compliance training in accordance with organizational guidelines.