As a Software Engineer II - Java and DevOps Developer at JPMorgan Chase within the Commercial & Investment Bank - Payments Technology Space, the business problem is to enhance, build, and deliver payments capabilities to Global markets in a secure, stable, and scalable way.
Requirements
- Core java (version 17 or higher) development experience with Spring Boot or similar frameworks
- Experience with two or more database technologies such as Oracle, Cassandra or in-memory DB/cache and experience with message bus technologies such as Kafka
- Understanding of Test Driven Development concepts and experience of testing using tools such as JUnit and Mockito
- Experience in developing and deploying cloud-native applications (12-factor app) with demonstrated implementation of Restful microservices, containers, resilient and scalable platforms (ideally AWS, Kubernetes)
- Experience across the whole Software Development Life Cycle
- Exposure to agile methodologies such as CI/CD, Application Resiliency, and Security
- Emerging knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
Responsibilities
- Designs and develops software solutions by utilizing strong problem-solving skills to create and implement high-quality, stable, and secure software, engaging in effective requirements gathering and collaborating with team members to ensure successful project outcomes
- Produces and maintains production code by developing stable, secure, and high-quality production code, while reviewing and debugging code written by others to ensure best practices are followed
- Increases operational stability by identifying opportunities to eliminate or automate the remediation of recurring issues and contributing to the overall stability and efficiency of software applications and systems
- Leverages development tools by applying knowledge of tools within the Software Development Life Cycle to enhance the value realized through automation
- Writes secure and high-quality code using the syntax of at least one programming language with limited guidance
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
- Applies technical troubleshooting to break down solutions and solve technical problems of basic complexity
Other
- As an emerging member of a software engineering team, you execute software solutions through the design, development, and technical troubleshooting of multiple components within a technical product, application, or system, while gaining the skills and experience needed to grow within your role.
- Demonstrated understanding of agile principles and their practical application within a software development team to enhance collaboration, flexibility and efficiency
- Adds to team culture of diversity, opportunity, inclusion, and respect
- Experience in a development-operations integrated environment with strong understanding of DevOps principles
- Prior experience in the Financial Industry