Role Overview
As a Software Engineer III at JPMorgan Chase within the Commercial & Investment Bank Payments Technology team, you will be an experienced member of an agile team, tasked with designing and delivering reliable, market-leading technology products that are secure, stable, and scalable.
Responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Gathers, analyzes, synthesizes, and develops visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems
- Proactively identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
- Contributes to software engineering communities of practice and events that explore new and emerging technologies
- Leverages enterprise-authorized AI coding assist tools within the work environment to improve code quality, delivery speed, and productivity across complex deliverables
- Applies knowledge of tools within the Software Development Life Cycle toolchain, including enterprise-authorized AI-assisted development and automation capabilities
Requirements
- Formal training or certification on software engineering concepts and 3+ years applied experience
- Hands-on experience in enterprise software development, modern testing tools (JUnit, Mockito, Spring Test Framework)
- Excellent understanding of Java fundamentals and frameworks (Spring Boot), OO programming paradigms, multi-threading, messaging technologies and computer networks
- Experience in building high-performance, latency-sensitive Java applications
- Experience in maintaining and troubleshooting software running in a Linux environment; familiarity with the Linux operating system, system utilities, containers, and cloud architectures and services
- Strong interpersonal and communication skills, with experience working with globally distributed engineers and stakeholders
- Understanding of the full software development lifecycle and agile approach
- Hands-on experience with event-promoten architecture and distributed messaging technologies (Kafka)
- Hands-on experience using enterprise-authorized AI-assisted software development tools
- Hands-on practical experience in system design, application development, testing, and operational stability
Nice to Have
- Hands on experience another statically compiled language like Golang, Rust
- Experience with gRPC and Google Protocol Buffers, caching technologies, e.g. Redis
- Experience with infrastructure as code software, e.g. Terraform, designing schemas/data structures in resilient SQL and NoSQL databases (e.g. CockroachDB)
- Familiarity with front-end technologies, like ReactJs
- Certified Kubernetes and public cloud knowledge (e.g. CKAD and AWS certifications)
Skills
- Java
- Spring Boot
- Kafka
- Linux
- JUnit