Software Engineer II- Java SRE experience, Splunk OR Dynatrace
Grow your software engineering career while building technology customers rely on every day. Join ATM Product Engineering to design, build, and operate software that powers global ATM channels with high availability, strong security, and production-grade resiliency. You’ll work on backend services, device integrations, and observability improvements that drive measurable reliability outcomes. If you’re energized by learning fast, shipping safely, and improving systems in production, this role is built for you.
As a Software Engineer II (ATM Channels) in ATM Product Engineering, you contribute to an agile team that enhances, designs, and delivers software components that power global ATM channels in a secure, stable, and scalable way. You build inclusive partnerships with product, engineering, and SRE to deliver customer-centric capabilities at scale. You grow your skills through hands-on design, development, testing, and technical troubleshooting across multiple components, while continuously improving reliability and observability across the ATM stack.
Job Responsibilities
- Execute software solutions across design, development, testing, and technical troubleshooting for ATM channel components.
- Build resilient backend services and APIs that support ATM transactions, device management, and channel features with a focus on availability and performance.
- Write secure, high-quality code in one or more programming languages (e.g., Java) while incorporating feedback and guidance.
- Integrate with hardware/device interfaces, vendor SDKs, and messaging/queuing systems to enable reliable device and channel capabilities.
- Apply secure coding practices for authentication, authorization, encryption, and secrets handling aligned to internal risk and compliance requirements.
- Contribute to modernization by implementing microservices and event-driven workflows, refactoring legacy modules, and reducing technical debt.
- Implement CI/CD pipelines and automated tests (unit, integration, contract) to improve delivery speed, quality, and release confidence.
- Instrument services with metrics, logs, and traces to support SLO dashboards, actionable alerting, and effective production diagnostics.
- Troubleshoot production issues using data-driven analysis to identify root causes and implement corrective and preventive actions.
- Participate in on-call rotations, incident triage, and post-mortems to strengthen operational readiness and system reliability.
- Leverages enterprise-authorized AI coding assist tools within the work environment to improve code quality, delivery speed, and productivity (e.g., code generation/refactoring, unit test creation, documentation), while validating outputs through peer review, automated testing, and secure coding standards.
- Applies knowledge of tools within the Software Development Life Cycle toolchain, including enterprise-authorized AI-assisted development and automation capabilities, to improve the value realized by automation
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 2+ years applied experience
- Demonstrated experience in system design, application development, testing, and operational stability for production services.
- Proficiency in at least one modern programming language (e.g., Java) with the ability to produce maintainable, well-tested code.
- Experience developing, debugging, and maintaining code in a large-scale or enterprise environment.
- Ability to design and build RESTful APIs and/or gRPC services with clear contracts and versioning discipline.
- Familiarity with messaging and queuing technologies (e.g., Kafka, MQ, or similar) and reliable asynchronous processing patterns.
- Working knowledge of relational and/or NoSQL databases (e.g., Oracle, PostgreSQL, DynamoDB/Cassandra), including basic performance considerations.
- Hands-on experience using enterprise-authorized AI-assisted software development tools within the work environment (e.g., for coding, testing, troubleshooting, or documentation) with demonstrated ability to critically evaluate and validate AI-generated outputs.
- Understanding of responsible AI use in engineering workflows, including data sensitivity considerations, secure handling of inputs/outputs, and adherence to resiliency and security expectations.
- Practical experience using observability signals (metrics, logs, traces) to diagnose issues and improve service health.
- Strong collaboration and communication skills, with the ability to work effectively across product, engineering, SRE, and control partners.
Preferred qualifications, capabilities, and skills
- Experience with ATM/branch channels, hardware device control, or embedded/device integrations.
- Knowledge of ISO 8583/20022 and/or card/payment transaction processing concepts.
- Exposure to HSMs, PIN translation, and cryptographic key management in financial services.
- Experience with device/edge fleet management, over-the-air updates, and remote monitoring/telemetry.
- Familiarity with event-driven architectures, workflow/state machines, and idempotent processing patterns.
- Exposure to SRE practices, resiliency testing, and reliability engineering techniques (including chaos experiments).
- Familiarity with cloud technologies (AWS/Azure) and containerization/orchestration (Docker/Kubernetes).