We have an exciting and rewarding opportunity for you to take your software engineering career to the next level.
As a Software Engineer II at JPMorgan Chase within Investment Banking, you serve as a seasoned member of an agile team to design and deliver trusted market-leading technology products in a secure, stable, and scalable way. You are responsible for carrying out critical technology solutions across multiple technical areas within various business functions in support of the firm’s business objectives.
Transaction Development is a centralised hub that generates buyer intelligence on Mid-Cap sponsors for JPM sell-sides, by leveraging deep knowledge of Sponsor investment strategies.
In order to execute at scale, a newly created technology team is embarking on a multi-year journey to provide enhanced digital capabilities to enable Transaction Development to take full advantage of the deep client relationships we have across GB and scaling proprietary idea generation.
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.
- Adds to team culture of diversity, equity, inclusion, and respect.
- Designs, develops, and maintains microservices using Kotlin or Java with Spring Boot.
- Builds robust, scalable GraphQL APIs and backend components.
- Deploys, monitors, and manages services in AWS, particularly EKS (Kubernetes).
- Writes clean, well-documented, and testable code.
Required qualifications, capabilities, and skills
- Formal training or certification in software engineering concepts and proficient advanced experience in back-end development such as Java.
- Hands-on practical experience in system design, application development, testing, and operational stability.
- Proficient in coding in one or more languages.
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages.
- Overall knowledge of the Software Development Life Cycle.
- Solid understanding of agile methodologies such as CI/CD, application resiliency, and security.
- Practical cloud-native experience.
- Demonstrated knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.).
- Strong development experience in Kotlin or Java.
- Proficiency in Spring Boot and associated ecosystem (JPA, Spring Security, etc.).
- Solid grasp of SQL and NoSQL databases.
Preferred qualifications, capabilities, and skills
- Experience with AWS cloud services (e.g., EC2, S3, IAM, CloudWatch).
- Experience with Infrastructure as Code (e.g., Terraform).
- Familiarity with authentication protocols (OAuth2, OpenID Connect).
- Experience working in Agile/Scrum teams.