About the Role
Job Description
We have an exciting and rewarding opportunity for you to take your software engineering career to the next level.
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.
Job 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 to improve the value realized by automation.
Required Qualifications, Capabilities, And Skills
- 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 maintaining and troubleshooting software running in a Linux environment.
- 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 driven architecture and distributed messaging technologies (Kafka).
- Hands-on experience using enterprise-authorized AI-assisted software development tools.
- Understanding of responsible AI use in engineering workflows.
- Hands-on practical experience in system design, application development, testing, and operational stability.
Preferred Qualifications, Capabilities, And Skills
- Hands on experience another statically compiled language like Golang, Rust.
- Experience with gRPC and Google Protocol Buffers, caching technologies, e.g. Redis.
Requirements
Java expertise
Excellent understanding of Java fundamentals and frameworks, particularly Spring Boot.
Linux experience
Experience in maintaining and troubleshooting software running in a Linux environment.
Agile methodology
Understanding of the full software development lifecycle and agile approach.
Event-driven architecture
Hands-on experience with event driven architecture and distributed messaging technologies like Kafka.
AI-assisted development
Experience using enterprise-authorized AI-assisted software development tools.
Nice to Have
Hands-on experience with another statically compiled language like Golang.
Experience with gRPC and Google Protocol Buffers.